Java 字符串作为JLabel名称
我在一个ArrayList中进行迭代,并为其中的每个值创建新的JLabel。JLable name应该是我列表中的一个值Java 字符串作为JLabel名称,java,string,swing,Java,String,Swing,我在一个ArrayList中进行迭代,并为其中的每个值创建新的JLabel。JLable name应该是我列表中的一个值 ArrayList<String> fieldsList = new ArrayList<String>(); for (int numberOfFields = 0; numberOfFields <= fieldsList.size(); numberOfFields++) { String fieldName = fie
ArrayList<String> fieldsList = new ArrayList<String>();
for (int numberOfFields = 0; numberOfFields <= fieldsList.size(); numberOfFields++) {
String fieldName = fieldsList.get(numberOfFields);
JLabel "value from list"= new JLabel(fieldName + ":"); //here, in "" the name of JLabel should be the same as fieldName
}
ArrayList fieldsList=new ArrayList();
对于(int numberofields=0;numberofields您不能这样做。另一种方法是创建jlabel列表
ArrayList<String> fieldsList = new ArrayList<String>();
JLabel[] lablearr=new JLabel[fieldsList.size()]; //lable array
for (int numberOfFields = 0; numberOfFields < fieldsList.size(); numberOfFields++) {
String fieldName = fieldsList.get(numberOfFields);
lablearr[numberOfFields]= new JLabel(fieldName + ":");
}
例如,如果您想调用一个名为Myable:
的jlable,那么您可以在arraylist-字段列表中循环,找到“Myable”的索引,并通过该索引调用jlable。我就是这样做的:
for (String fieldName : fieldsList) {
{
{
JLabel lbl = new JLabel(fieldName + ":");
lbl.setBounds(33, counter, 130, 14);
getContentPane().add(lbl);
}
counter += 25;
}
}
它对我有用。你不能这么做。它有什么用呢?当我在问题中看到“获取或分配变量名”时,我总是会畏缩。变量“名”其实并不那么重要,对于许多对象都不存在,在编译代码中也几乎不存在。如果一个对象被几个变量引用,哪一个代表“名”对于此对象?更重要的是对象引用以及如何获取它们。如果必须将对象与字符串关联,一种干净的方法是使用映射,例如HashMap
或HashMap
,这取决于您希望将其用作键的对象,但同样不要过多地依赖变量名,因为nal变量可以随时更改引用,并且对象可以由多个变量引用。
for (String fieldName : fieldsList) {
{
{
JLabel lbl = new JLabel(fieldName + ":");
lbl.setBounds(33, counter, 130, 14);
getContentPane().add(lbl);
}
counter += 25;
}
}