gpt4 book ai didi

java - 启用一个 JButton 并禁用另一个

转载 作者:太空宇宙 更新时间:2023-11-04 06:29:07 25 4
gpt4 key购买 nike

我的用户界面中有两个按钮,它们重定向到两个 JFrame。我试图使如果用户按下按钮一,按钮二将被禁用,如果用户按下按钮二,按钮一将被禁用,这样用户就无法同时打开两个 JFrame

import java.awt.*;
import java.awt.event.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.*;


public class Main extends JFrame {

public Main() {

JPanel panel = new JPanel();
getContentPane().add (panel,BorderLayout.NORTH);

JButton button1 = new JButton("One");
panel.add(button1);
JButton button2 = new JButton("Two");
panel.add(button2);

button1.addActionListener (new ActionListener()
{
public void actionPerformed (ActionEvent e)
{
button2.setEnabled(false);
One f = new One();
f.setSize(350,100);
f.setVisible(true);
}
});

button2.addActionListener (new ActionListener()
{
public void actionPerformed (ActionEvent e)
{
button1.setEnabled(false);
Two fr = new Two();
fr.setSize(350,100);
fr.setVisible(true);
}
});

public void enableButtons()
{
button1.setEnabled(true);
button2.setEnabled(true);
}

}

public static void main(String[] args) {

Main frame = new Main();
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
enableButtons();
System.exit(0);
}
});
frame.setSize(300,200);
frame.setLocationByPlatform(true);
frame.setVisible(true);
}
}

最佳答案

在按钮一的 ActionListener 中,添加

ButtonTwo.setEnabled(false);

并在按钮二的ActionListener中添加

ButtonOne.setEnabled(false);

不要忘记添加相应的启用(button.setEnable(true)),否则您将留下两个禁用的按钮。也许在关闭 JFrames 的事件中。

编辑:

你可以写一个这样的方法

public void enableButtons()
{
button1.setEnabled(true);
button2.setEnabled(true);
}

在 JFrame 关闭时调用此方法。这个tutorial解释 JFrame 关闭事件。

关于java - 启用一个 JButton 并禁用另一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26366331/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com