我的 JFrame
中有超过 100 个 JLabel
组件,我将它们命名为 m1,m2,m3....
以及我想更改每个文本的文本而不手动执行。
因此,我想在运行时设置每个标签的名称并更改其文本,这是我从数据库中检索的文本。
这就是我正在尝试做的事情:
JLabel j = new JLabel();
for(int i=0; i<100 ; i++)
{
j.setName("m"+i);
j.setText(""+i);
}
最佳答案
您可以创建一个 jlabel 数组。然后您可以通过 m[x]
访问它
示例
JLabel m[] = new JLabel[100];
//initialize jlabel array before you add like m[i]=new JLabel();
for (int i = 0; i < m.length; i++) {
m[i].setText(""+i);
}
您面临的问题是,即使您将标签命名为m1,m2
,您也无法通过动态命名来调用。
m+"i".setText(); // impossible
关于java - 如何在运行时更改 JLabel 变量名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31410523/