我剛開始編寫GUI程序,這是我的第二個GUI程序。對於這兩個項目(包括家庭作業),我都有同樣的問題。 GUI對象(例如JTextField)不會顯示應用程序何時運行,直到調整窗口大小或將鍵盤焦點移動到它們之後。如果我不做這兩件事中的一件,那麼我只需要一個空的應用程序窗口。在Mac上不顯示Java對象的GUI對象
任何想法,爲什麼發生這種情況,我能做些什麼來解決它?我正在使用Mac OS 10.6.1。
我的代碼如下。隨意評論我的編碼風格,但請關注我遇到的問題。
import javax.swing.*;
import java.awt.*;
public class ToDo extends JFrame {
private int height = 30,
width = 300;
public ToDo() {
this.setSize(400,400);
this.setVisible(true);
this.setLayout(null);
this.setResizable(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setTitle("To Do List");
JTextField todoItem[] = new JTextField [10];
Container contentpane = this.getContentPane();
contentpane.setLayout(null);
for(int i=0; i<10; i++) {
todoItem[i] = new JTextField();
todoItem[i].setBounds(10,(height*(i)+10),width,height);
contentpane.add(todoItem[i]);
}
}
public static void main(String[] args) {
new ToDo();
}
}
如果你只是想要一個靜態佈局(它根本沒有響應來調整窗口的大小),那麼將layout設置爲null不是問題 – 2009-11-06 22:08:41