-1
我想在java中創建一個塗鴉神風格的遊戲,我無法弄清楚如何做到這一點,所以當兩個JToggleButtons切換它使第三個出現。這是我的嘗試,但它沒有任何建議。我對此感到陌生,感到困惑。我想我需要一個ActionListener,但我不知道它是如何工作的。我使用Eclipse的W/Windows生成器。感謝您接受這個挑戰!在java中使用JToggleButton使其他按鈕可見
public class New {
private JFrame frame;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
New window = new New();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the application.
*/
public New() {
initialize();
}
/**
* Initialize the contents of the frame.
*/
private void initialize() {
frame = new JFrame();
frame.setBounds(100, 100, 450, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);
JToggleButton waterButton = new JToggleButton("water");
waterButton.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent ev) {
if(ev.getStateChange()==ItemEvent.SELECTED){
System.out.println("waterButton is toggled");
}else if(ev.getStateChange()==ItemEvent.DESELECTED){
System.out.println("waterButton is untoggled");
}
}
});
waterButton.setBounds(6, 6, 161, 29);
frame.getContentPane().add(waterButton);
JToggleButton fireButton = new JToggleButton("fire");
fireButton.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent ev) {
if(ev.getStateChange()==ItemEvent.SELECTED){
System.out.println("fireButton is toggled");
}else if(ev.getStateChange()==ItemEvent.DESELECTED){
System.out.println("fireButton is untoggled");
}
}
});
fireButton.setBounds(6, 41, 161, 29);
frame.getContentPane().add(fireButton);
JToggleButton steamButton = new JToggleButton("steam");
steamButton.setBounds(6, 82, 161, 29);
frame.getContentPane().add(steamButton);
//steamButton.setVisible(false);
if (waterButton.isSelected() && fireButton.isSelected()){
steamButton.setVisible(true);
}
else{
steamButton.setVisible(false);
}
}
}
我不確定你試圖用新代碼完成什麼。我認爲你已經認識到這個概念有點不對。有很多關於這個主題的很好的教程=) – TheMirrox
根據您提供的代碼更新了我的答案,而不是美麗但有效的解決方案。 – TheMirrox
任何建議,使它保持一旦它是第一次可見。我將在明天進一步研究,但您可能會有一些建議。試圖使它在打開時不可見。然後,當你組合一次時,它會保持整個程序的其餘部分。非常感謝你爲此付出的努力,對我很有幫助 –