에 JPanel
과 같이 표시하려고합니다.JFrame에 JPanel 배치 및 크기 조정
다음 왼쪽 60 % 폭과 50 %의 높이를 각각 오른쪽으로 40 %의 폭과 100 % 높이 어떻게이를 수에 대한 패널의 2 개 패널?
import javax.swing.*;
import java.awt.*;
public class INV{
private JFrame mainFrame;
private JPanel Outer_panel1;
private JPanel Outer_panel2;
private JPanel Panel1;
private JPanel Panel2;
private JPanel Panel3;
private JPanel Panel4;
private JButton b1;
private JButton b2;
private JButton b3;
private JComboBox List;
private JComboBox List2;
private JTextField Item_name;
private JTextField Dec_qty;
private JTextField Inc_qty;
private static String[] Items = {"wood","steel"};
private JTable Table;
private JScrollPane Scroll;
static double xsize;
static double ysize;
public INV(){
gui();
}
public void gui(){
mainFrame = new JFrame("sample");
GridBagConstraints Con = new GridBagConstraints();
//Left Panel
Dec_qty=new JTextField(3);
Inc_qty=new JTextField(3);
List = new JComboBox(Items);
List2 = new JComboBox(Items);
b1 = new JButton("OK");
b2 = new JButton("OK");
Outer_panel1 = new JPanel(new GridBagLayout());
Outer_panel1.setBackground(Color.yellow);
Panel1 = new JPanel();
Panel1.setBackground(Color.blue);
Panel2 = new JPanel();
Panel2.setBackground(Color.red);
Outer_panel1.add(b1);
Outer_panel1.add(b2);
Panel1.add(List);
Panel2.add(List2);
Panel1.add(Inc_qty);
Panel2.add(Dec_qty);
Panel1.add(b1);
Panel2.add(b2);
Con.gridx = 0;
Con.gridy = 0;
Con.ipady = 300;
Con.fill = GridBagConstraints.VERTICAL;
Outer_panel1.add(Panel1,Con);
Con.gridx = 0;
Con.gridy = 1;
Con.ipady = 0;
Con.weighty = 1.0;
Outer_panel1.add(Panel2,Con);
mainFrame.add(Outer_panel1, BorderLayout.LINE_START);
//right panel
Outer_panel2 = new JPanel(new GridBagLayout());
Outer_panel2.setBackground(Color.CYAN);
Panel3 = new JPanel();
Panel3.setBackground(Color.MAGENTA);
Panel4 = new JPanel();
Panel4.setBackground(Color.ORANGE);
//Panel3
Item_name =new JTextField(20);
b3 = new JButton("Search");
//Panel4 and Table
String[] columnNames = {"column1","column2"};
Object[][] data = {{"sample1","sample2"},
{"sample3","sample4"}};
Table = new JTable(data, columnNames);
Table.setPreferredScrollableViewportSize(new Dimension(200,200));
Table.setFillsViewportHeight(true);
Scroll = new JScrollPane(Table);
Panel3.add(Item_name);
Panel3.add(b3);
Panel4.add(Scroll);
Con.gridx = 0;
Con.gridy = 0;
Con.ipady = 0;
Con.weighty = 0;
Outer_panel2.add(Panel3, Con);
Con.gridx = 0;
Con.gridy = 1;
Con.ipady = 0;
Con.fill = GridBagConstraints.BOTH;
Con.weighty = 1.0;
Outer_panel2.add(Panel4, Con);
mainFrame.add(Outer_panel2, BorderLayout.EAST);
mainFrame.setVisible(true);
mainFrame.setSize(900, 500);
mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args){
new INV();
}
}
1) 더 빨리 도움 들어 [SSCCE (http://sscce.org/)를 작성. 2) 추가 너비/높이로 최소 크기 및 (크기 조정이 가능한 경우) 표시되어야하는 GUI의 ASCII 아트를 제공하십시오. –
* "원하는 크기로 패널의 크기를 조정하고 배치 할 수 없습니다."* JPanel의 크기는 일반적으로 포함 된 크기에 따라 가장 적절하게 설정됩니다. 이 패널 중 어느 패널에 내용 (컨트롤, 레이블 등)이 있습니까? –
노란색과 검은 색 패널에는 드롭 다운 목록, 텍스트 필드 및 제출 버튼이 있으며 빨간색 패널에는 텍스트 필드, 그 옆에있는 버튼 및 텍스트 필드 아래에 2 개의 열이있는 테이블이 있습니다 – John