gpt4 book ai didi

java - TextField 不符合条件

转载 作者:行者123 更新时间:2023-12-02 04:09:13 24 4
gpt4 key购买 nike

这里有一个快速解释,我将 TextField 设置为 .setEnabled 区域内的 false 条件。所以基本上在用户按下蛋糕复选框后,他需要选择任一子项菜单,之后,他需要输入蛋糕的数量。但是,选择子项菜单后,TextField 条件应该为 true(意味着它应该是可编辑的),但它并不像我们所说的那样。谢谢。

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.JRadioButton;
import javax.swing.ButtonGroup;

class testingcheckbox
{
public static void main(String[] args)
{
Frame qB = new Frame("Queen Bakery");

JCheckBox cake;

cake = new JCheckBox("Cake");
JCheckBox cakeOpt1 = new JCheckBox("Butter Cake");
JCheckBox cakeOpt2 = new JCheckBox("Cheese Cake");

TextField tfCake = new TextField();
tfCake.setPreferredSize(new Dimension(50,24));
tfCake.setEnabled(false);

ActionListener cakeListener = new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
if(cake.isSelected())
{
cakeOpt1.setEnabled(true);
cakeOpt2.setEnabled(true);

if(cakeOpt1.isSelected())
{
tfCake.setEnabled(true);
}
else
{
tfCake.setEnabled(false);
}
}
else
{
cakeOpt1.setEnabled(false);
cakeOpt2.setEnabled(false);
}
}
};

cake.addActionListener(cakeListener);
qB.add(cake);

cakeOpt1.setEnabled(false);
cakeOpt2.setEnabled(false);
qB.add(cakeOpt1);
qB.add(cakeOpt2);

qB.add(tfCake);

qB.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent windowEvent)
{
System.exit(0);
}
});

qB.setSize(780,470);
qB.setLayout(new FlowLayout(FlowLayout.LEFT));
qB.setVisible(true);
qB.setLocationRelativeTo(null);
qB.setResizable(false);
}
}

最佳答案

cake.addActionListener(cakeListener);

您只将 ActionListener 添加到一个复选框,因此当您单击“可选”复选框时不会执行任何代码。

您还需要将 ActionListener 添加到其他复选框:

cakeOpt1.addActionListener(cakeListener);
cakeOpt2.addActionListener(cakeListener);

关于java - TextField 不符合条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33961211/

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