我想设置框架的大小,但我不能,为什么?框架在createandshowgui方法中 我确实设置了框架,表格一切但没有做任何事情,我想设置1024x768
public static class DisplayResult extends JPanel {
public DisplayResult() {
super(new GridLayout(1,0));
DefaultTableModel model = new DefaultTableModel(data, columnNames);
final JTable table = new JTable(model);
table.setPreferredScrollableViewportSize(new Dimension(500, 70));
table.setFillsViewportHeight(true);
table.setPreferredScrollableViewportSize(table.getPreferredSize());
table.setFillsViewportHeight(true);
if (DEBUG) {
table.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
printDebugData(table);
}
});
}
JScrollPane scrollPane = new JScrollPane(table);
add(scrollPane);
}
public static void createAndShowGUI() {
final JButton button1=new JButton("Vissza");
JPanel panel=new JPanel();
final JFrame frame = new JFrame("Database Data");
frame.setLayout(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(1024,768);
DisplayResult newContentPane = new DisplayResult();
newContentPane.setOpaque(true); //content panes must be opaque
frame.setContentPane(newContentPane);
frame.add(panel);
panel.add(button1);
frame.pack();
frame.setVisible(true);
}
答案 0 :(得分:1)
您正在使用frame.setSize()和frame.pack()。您一次只能使用其中一个。
使用setSize()可以给出所需的帧大小,但如果使用pack(),它将根据其中组件的大小自动更改帧的大小。它不会考虑你之前提到的尺寸。
删除frame.pack()o将它放在setSize()之前。
答案 1 :(得分:0)
问题出在pack
方法上。切勿对pack
;
setSize
方法
frame.setSize(1024,768);
.........
//frame.pack(); Comment this line.