Java 获取JPanel中组件的类型
我有一个foreach循环,它迭代jPanel中的所有组件,我想获取组件的类型并检查它是否是JRadioButton 这是我尝试的代码:Java 获取JPanel中组件的类型,java,swing,jpanel,components,jradiobutton,Java,Swing,Jpanel,Components,Jradiobutton,我有一个foreach循环,它迭代jPanel中的所有组件,我想获取组件的类型并检查它是否是JRadioButton 这是我尝试的代码: for (Component c : ((Container)jPanel1).getComponents() ) { if(((JRadioButton)c).isSelected() && c.getComponentType()) { if(!listrep.contains(((JRadioButton)
for (Component c : ((Container)jPanel1).getComponents() )
{
if(((JRadioButton)c).isSelected() && c.getComponentType()) {
if(!listrep.contains(((JRadioButton)c).getText())) {
((JRadioButton)c).setForeground(new java.awt.Color(204, 0, 0));;
}
}
}
但这行不通
我该怎么做呢?您可以使用instanceof操作符,但这将为您的代码提供一个完整的计划。最好将感兴趣的组件放在ArrayList中以备参考 或者更好的是,直接从用于将它们绑定在一起的ButtonGroup中获取所选JRadioButton的ButtonModel
ButtonModel selectedModel = buttonGroup.getSelection();
if (selectedModel != null) {
// use the selected button's model here
}
您可以使用instanceof操作符,但这将为您的代码提供一个完整的计划。最好将感兴趣的组件放在ArrayList中以备参考 或者更好的是,直接从用于将它们绑定在一起的ButtonGroup中获取所选JRadioButton的ButtonModel
ButtonModel selectedModel = buttonGroup.getSelection();
if (selectedModel != null) {
// use the selected button's model here
}
为了更快地获得更好的帮助,请发布一个。@AndrewThompson:啊,一个MCVE,一个新的给我,谢谢你显示这个链接!为了更快地获得更好的帮助,请发布一个。@AndrewThompson:啊,一个MCVE,一个新的给我,谢谢你显示这个链接!爱那个链接中的引用。爱那个链接中的引用。