不要添加组件
Jframe
后Jframe
是可见的(setVisible(true)
)调用
setSize()
框架而不是调用并不是一种很好的做法pack()
(原因是Jframe
将其大小调整为适合其子组件的首选大小和布局),然后LayoutManager
处理该大小。使用EDT(事件调度线程)
呼叫
Jframe#setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE)
由@Gilbert勒布朗(+1给他),否则你说EDT /初始线程将保持活动状态,即使以后Jframe
一直 关闭
像这样:
public static void main(String[] args) { //Create GUI on EDT Thread SwingUtilities.invokeLater(new Runnable() { @Override public void run() { Jframe frame = new Jframe("JScroll Pane Test"); frame.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE); Jtextarea txtNotes = new Jtextarea(); txtNotes.setText("Hello World"); JScrollPane scrollPane = new JScrollPane(txtNotes); frame.add(scrollPane);//add components frame.pack(); frame.setVisible(true);//show (after adding components) } });}


