**结束。**此问题需要详细的调试信息。它目前不接受答案。
**想改进这个问题吗?**更新问题,使其成为堆栈溢出的主题。
5个月前关门了。
改进这个问题
我的目标是仅当一些jtextfields和jcombobox将其边框颜色从红色更改为绿色时才启用jbutton。
这些组件包含在三个不同的jpanel中。
我试图创建一个函数来读取jpanel中的所有组件,但是,当我要比较颜色时,程序会返回一个错误的方式来强制转换变量。
下面是我的功能。
有人能帮我吗?
public static boolean countBoards(JPanel panel){
boolean red = false;
for(Component control : panel.getComponents())
{
if(control instanceof JTextField)
{
JTextField ctrl = (JTextField) control;
Color lineColor = ((LineBorder)ctrl.getBorder()).getLineColor();
if(lineColor.equals(Color.red))
red = true;
}
else if(control instanceof JComboBox)
{
JComboBox ctr = (JComboBox) control;
Color lineColor = ((LineBorder)ctr.getBorder()).getLineColor();
if(lineColor.equals(Color.red))
red = true;
}
}
return red;
}
1条答案
按热度按时间x759pob21#
更改组件的边框时,将触发属性侦听器。您可以将属性侦听器注册到combobox/textfield,并根据新边框启用/禁用按钮。
举个例子: