我目前正在Java中製作一個自定義的Minecraft服務器啓動器,並且已經進入了一個早期階段,我實際上喜歡按鈕來做某件事。我設法得到一個按鈕來響應(開始按鈕),但只要我放入第二個if語句以使停止按鈕響應,以前工作的開始按鈕現在不會響應。我無法測試停止按鈕,因爲它默認是禁用的。 當我切換if語句時(首先放置stopBtn actionlistener),開始按鈕再次工作,但停止按鈕不起作用。 請有人看看代碼和幫助?Java - 動作偵聽器只響應一個if語句?
package custommcserver;
import java.awt.GridLayout;
import java.awt.event.*;
import javax.swing.*;
class Window extends JFrame implements ActionListener
{
JPanel mainPnl = new JPanel(new GridLayout(2,1));
JPanel propPnl = new JPanel();
JButton startBtn = new JButton("Start");
JButton stopBtn = new JButton("Stop");
JButton propBtn = new JButton("Properties");
public Window()
{
super("Custom Minecraft Server Launcher") ;
setSize(500,200) ;
setDefaultCloseOperation(EXIT_ON_CLOSE) ;
add(mainPnl) ;
mainPnl.add(startBtn);
mainPnl.add(stopBtn);
mainPnl.add(propBtn);
stopBtn.setEnabled(false);
startBtn.addActionListener(this);
stopBtn.addActionListener(this);
propBtn.addActionListener(this);
setVisible(true);
}
public void actionPerformed(ActionEvent event)
{
if (event.getSource() == stopBtn);
{
stopBtn.setEnabled(false);
startBtn.setEnabled(true);
}
if (event.getSource() == startBtn);
{
stopBtn.setEnabled(true);
startBtn.setEnabled(false);
}
}
}
如果你已經使用了一個良好的IDE的IntelliJ一樣,那麼IDE將有自動指出錯誤給你。您應該從現在開始考慮使用IDE來擺脫這些拼寫錯誤。 – 2013-05-11 08:42:22
@ExtremeCoders我個人更喜歡eclipse到IntelliJ,因爲它簡單易用。我認爲這對OP – imulsion 2013-05-11 08:43:45