-1
2つのJToggleButtonがトグルされて3番目に表示されるようにする方法を理解できません。ここに私の試みがありますが、それはいかなる提案も働いていません。私はこれで新しく、混乱しています。私はどこかに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
最初に表示された後にそれを残すように提案します。私はこの明日をさらに見ていきますが、あなたはいくつかの提案をするかもしれません。開いたときに見えないようにしようとしています。その後、コンボを1回作成すると、それは残りのプログラム全体にとどまります。私にとって非常に有益な、これに取り組んでくれてありがとう –