import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.SwingUtilities; public class FrameCreator { public static void main(String args[]) { //所有Swing操作都应在事件调度线程(EDT)上运行 //CallingSwingUtilities.invokeLaterm确保发生这种情况。 SwingUtilities.invokeLater(() -> { JFrame frame = new JFrame(); //如果不设置大小,将不会显示JFrames frame.setSize(500, 500); JLabel label = new JLabel("Hello World"); frame.add(label); frame.setVisible(true); }); } }
您可能会注意到,如果您运行此代码,则标签会放在非常不好的地方。使用该add方法很难以良好的方式进行更改。要允许更多动态和灵活的放置,请查看Swing布局管理器。