我使用这段代码创建了一个带有 3x3 按钮网格的框架...
JFrame frame = new JFrame("my 3x3");
JPanel panel = new JPanel();
Container pane = frame.getContentPane();
panel.setLayout(new GridLayout(3,3));
panel.add(upperLeft);
panel.add(upperCenter);
panel.add(upperRight);
panel.add(midLeft);
panel.add(midCenter);
panel.add(midRight);
panel.add(bottomLeft);
panel.add(bottomCenter);
panel.add(bottomRight);
pane.add(panel);
...每个从上到下、从左到右的元素都是 JButton 对象。
稍后在执行过程中,我需要这些按钮的列表来遍历以重置它们,但此时我所拥有的只是框架。我知道在框架对象的某个地方埋藏着一个组件列表,可能层数很深,但是在哪里呢?是否有直接的方法来检索框架的按钮?
最佳答案
每次 Swing Container
有getComponents()
.因此,从 JFrame(或其 getContentPane()
)开始,您可以递归地向下获取所有组件。
但你也可以拿着一个List<JButton>
并在将按钮添加到面板时填充它。
关于java - 如何遍历 swing 界面中的所有按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6717741/