java - 无法设置框架尺寸

标签 java swing jframe size preferredsize

我想设置框架的大小,但我不能,为什么?该框架位于 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);


}

最佳答案

您正在使用frame.setSize()和frame.pack()。您一次只能使用其中之一。

使用 setSize() 可以指定所需的框架大小,但如果使用 pack() ,它将根据其中组件的大小自动更改框架的大小。它不会考虑您之前提到的大小。

删除frame.pack()或将其放在setSize()之前。

关于java - 无法设置框架尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23854920/

相关文章:

Java - 通过类中的方法更改数组的值

java - 了解 Dalvik 代码的反汇编?

Java对象构造和封装方法

java - hashset从数组Java中删除重复项

java - Java中BoxLayout的JLabel问题

java - 为什么传递给不同类的方法的值没有反射(reflect)在 Java 中(使用 NetBeans 7.01)?

javax.swing.JComponent 无法解析

java - JFrame 中的多个面板

java - Eclipse 不打开框架窗口

java - 如何导出带有图像和声音的可运行 Jar?