如何启动一个程序(有四个按钮),禁用三个按钮,一个启用。此外,当按下启用的按钮时,我希望它被禁用,其他三个被启用。忽略添加和删除方法 但这是我到目前为止,我应该添加和/或改变什么?
private void initButtonActionPerformed(java.awt.event.ActionEvent evt)
{
initButton.setEnabled(false);
}
private void displayButtonActionPerformed(java.awt.event.ActionEvent evt)
{
}
private void addButtonActionPerformed(java.awt.event.ActionEvent evt)
{
cdcollection.add(cdtitleInput.getText());
}
private void removeButtonActionPerformed(java.awt.event.ActionEvent evt)
{
cdcollection.remove(cdcollection.size()-1);
}
答案 0 :(得分:2)
我错过了什么吗?你不能在创建它们时在按钮上调用setEnabled()
吗?
要更改侦听器中的状态,请再次在相关按钮上调用setEnabled()
。
也许你应该看一下单选按钮 - 听起来就是你想要模仿的......
答案 1 :(得分:1)
你可以使用setEnabled()
方法编写你正在寻找的逻辑:如果你传递它false
它会禁用你调用方法的按钮,true
启用它。所以你可以设置三个禁用。然后,您可以在按钮上注册按钮单击侦听器,并将相反的逻辑添加到该处理程序。
答案 2 :(得分:1)
您可以在JButtons上使用ActionListener。
JButton button = new JButton();
button.setEnabled(true);
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
button.setEnabled(false);
}
}
答案 3 :(得分:1)
快速编写的基本示例:
private void initComponents() {
controls = new Container();
controls = getContentPane();
controls.setLayout(new FlowLayout());
one = new JButton("Enable buttons");
two = new JButton("Second");
two.setEnabled(false);
three = new JButton("Third");
three.setEnabled(false);
four = new JButton("Fourth");
four.setEnabled(false);
one.addActionListener(
new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
one.setEnabled(false);
if (!one.isEnabled()) {
two.setEnabled(true);
three.setEnabled(true);
four.setEnabled(true);
}
}
});
controls.add(one);
controls.add(two);
controls.add(three);
controls.add(four);
}