假设我在我的代码中定义了很多变量,名称如下所示
public javax.swing.JPanel BenderPanel1;
public javax.swing.JPanel BenderPanel2;
public javax.swing.JPanel BenderPanel3;
etc...
所以他们的一般类型是这样的:BenderPanel"NUMBER"
。
我想访问其中的一些并使用 .setVisible(false);
设置它们的可见性,但是我想访问的那些面板的数量是用户在运行时定义的。
是否有任何可能的方法通过库将数字 append 到每个变量的末尾,以便在 for
循环中访问它,如下所示:
for (int i=1; i<=UserInput; i++)
{
BenderPanel"i".setVisible(false); // Watch this "i" right there.
}
没有需要首先将它们添加到ArrayList
并使用显而易见的方法来完成?
最佳答案
您不能在 Java 中动态创建成员(您可以通过反射动态访问它们,但这里不需要)。
而不是拥有
public javax.swing.JPanel BenderPanel1;
public javax.swing.JPanel BenderPanel2;
public javax.swing.JPanel BenderPanel3;
有
public javax.swing.JPanel[] BenderPanels;
或
public List<javax.swing.JPanel> BenderPanels;
然后您可以使用增强的 for
循环遍历它们。
for (javax.swing.JPanel panel : BenderPanels) {
// ...
}
关于java - 在java中的变量名末尾 append 一个数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14395913/