我一直在使用空布局,很多人会说这样做是不合适的。有更好的方法吗?
以下是示例代码:
import javax.swing.*;
public class Main{
public static void main(String args[]){
JFrame frame = new JFrame();
JPanel panel = new JPanel();
JButton button = new JButton("Click");
//JFrame, frame
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(false);
frame.setSize(500, 500);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
//JPanel, panel
panel.setLayout(null); //<<---- Is this correct?
frame.add(panel);
//JButton, button
button.setBounds(25, 25, 100, 60); //<<---- Is this correct?
panel.add(button);
}
}
setBounds()
可能会让Swing新手觉得这是创建复杂GUI的最简单、最好的方法,但随着您创建的Swing GUI越多,使用它们时就会遇到越严重的困难。当GUI调整大小时,它们不会调整您的组件大小;在增强或维护时,它们很难搞定;将它们放入滚动窗格中会完全失败;在与原始平台或屏幕分辨率不同的所有平台上查看时,它们看起来非常糟糕。 - Hovercraft Full Of Eels