当前位置: 首页 > 面试题库 >

通过JPanel循环

訾朗
2023-03-14
问题内容

为了在用户单击“清除按钮”时初始化JTextfFielda上的所有JPanel,我需要遍历JPanel(而不是将所有单个字段都设置为“”)。

我如何使用for-each循环来遍历s的JPanel搜索JTextField


问题答案:
for (Component c : pane.getComponents()) {
    if (c instanceof JTextField) { 
       ((JTextField)c).setText("");
    }
}

但是,如果您具有更深层嵌套的JTextField,则可以使用以下递归形式:

void clearTextFields(Container container) {
    for (Component c : container.getComponents()) {
        if (c instanceof JTextField) {
           ((JTextField)c).setText("");
        } else
        if (c instanceof Container) {
           clearTextFields((Container)c);
        }
    }
}

编辑: Tom Hawtin的 一个样本 -粗线 建议将在您的框架班级中列出:

List<JTextField> fieldsToClear = new LinkedList<JTextField>();

并在初始化单个文本字段时,将它们添加到此列表中:

someField = new JTextField("Edit me");
{ fieldsToClear.add(someField); }

当用户单击清除按钮时,只需:

for (JTextField tf : fieldsToClear) {
    tf.setText("");
}


 类似资料:
  • 我试图创建一个小的GUI,它有2个JButtons和2个JPanels,每个JPanels上都有一些绘图动画。默认情况下,它必须显示第一个JPanel,通过单击第二个JButton我想看到第二个JPanel。所以:我创建了JFrame、Panel1和Panel2,在这里我绘制了我的动画,创建了Button1和Button2,并向它们添加了ActionListeners。我还有一个MainPanel

  • 如何通过XML实现这一点:使用特定的src创建,并使其带有边框?

  • 问题内容: 我正在尝试制作一个通过JToggleButton激活的弹出面板。我希望在选择ToggleButton时将JPanel添加到另一个Jpanel上,而在取消选择ToggleButton时将其隐藏。 我已经声明了JToggleButton并使用了ItemListener。但是发生的事情是,当我选择ToggleButton时,如果我取消选择并再次选择它,则会创建一个面板,然后再次添加另一个JP

  • 问题内容: 我正在尝试显示10位玩家的表格。我通过ajax获取数据,并将其作为道具传递给我的孩子。 现在,我需要一个列表组件来渲染播放器: 这给了我一个。 我不确定发生了什么,我的控制台日志显示了正确的数据,但是以某种方式我无法在返回中访问它。 我想念什么? 问题答案: 在组件中,您需要更改初始状态,因为您正在尝试使用for,但是此属性是导致错误的原因。 此外,如在是你应该从它那里得到的属性

  • 当我试图从网上删除SEC的文件时,奇怪的事情不断发生。我在Python3中执行的web刮取代码在CIK(公司的唯一归档ID)列表中循环。这是代码中断的地方(在代码的早期): 当我前几天运行这个命令时,它工作得很好。今天,这个命令不仅不断抛出错误,而且会发生在循环的不同部分:有时是第1个url,有时是第5h,第8个等等,没有一致性。当我隔离这些URL并对单个实例执行此命令时,从来不会出现错误,这使我

  • 我试图遍历一个JList,其中每个项目都包含:JGroup-JLabel 目前我拥有的是: 我得到的结果是: Item=javax。摆动JPanel[,0,0,0x0,无效,layout=java.awt.FlowLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=