【问题标题】:Can not set size for frame无法设置框架大小
【发布时间】:2014-05-25 11:47:56
【问题描述】:

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


}

【问题讨论】:

    标签: java swing jframe size preferredsize


    【解决方案1】:

    您同时使用了 frame.setSize() 和 frame.pack()。您一次只能使用其中一种。

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

    删除 frame.pack() o 把它放在 setSize() 之前。

    【讨论】:

    • 如果可行,您可以单击答案左侧的复选标记 (✓) 将问题标记为已回答
    【解决方案2】:

    问题出在pack 方法上。切勿将pack 方法与setSize 一起使用;

    frame.setSize(1024,768);
    
    .........
    //frame.pack(); Comment this line.
    

    【讨论】:

    • 如果您选择使用setSize(),请 pack()之后使用。
    猜你喜欢
    • 1970-01-01
    • 2012-09-20
    • 2011-05-22
    • 2012-01-02
    • 1970-01-01
    • 2012-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多