當我使用eclipse運行我的程序時,只有一個按鈕出現(左上角),但是當我在終端中使用javac時(大部分時間),所有按鈕都顯示出來!這真的讓我煩惱。誰能幫忙?謝謝!
這是我的構造函數:
並非所有按鈕都顯示在Java中?
public TicTacToe(){
super("Farm Tic-Tac-Toe");
setSize(450,750);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container cont = getContentPane();
cont.setLayout(null);
int newLine = 0;
int lineCount = 0;
for(int i = 0; i < buttons.length; i++){
buttons[ i] = new JButton(blank);
if(i == 3 || i == 6){
newLine++;
lineCount = 0;
}
buttons[ i].setBounds(lineCount*150,newLine*150,150,150);
cont.add(buttons[ i]);
buttons[ i].addActionListener(this);
lineCount++;
}
}
和這裏的動作監聽...
public void actionPerformed(ActionEvent e){
for(int i = 0; i < buttons.length; i++){
if(e.getSource()==buttons[ i]){
if(turn%2==0){
buttons[ i].setName("x");
buttons[ i].setIcon(x);
buttons[ i].removeActionListener(this);
}
else{
buttons[ i].setName("o");
buttons[ i].setIcon(o);
}
buttons[ i].removeActionListener(this);
}
}
turn++;
checkWin();
}
請不要告訴我太多我的代碼設計是如何糟糕,因爲我(不是初學者,但是)不太擅長Java。
我在cont.setLayout(null);'line ...使用'LayoutManager'後停止讀取,否則您會遇到麻煩,因爲您剛剛經歷了艱難的方式 – Robin
...我正在讀一本書這有這個在這麼嗯... – blustone
然後擺脫這本書,因爲它顯然不是一個很好的Swing書 – Robin