Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中动态更改JLabel的名称_Java_Swing_Jlabel - Fatal编程技术网

在java中动态更改JLabel的名称

在java中动态更改JLabel的名称,java,swing,jlabel,Java,Swing,Jlabel,我有一个Swing程序,在该程序中,我必须在action performed块中动态更改JLabel的名称。JLabel是一个对象,您指定的数据类型名称将在堆中分配的内存和对象本身之间进行映射,如果您想更改名称,然后通过创建一个具有新变量名的新对象来重新分配该对象 您可以使用集合 HashMap<String, JLabel> aWeirdLabelMap = new HashMap<String,JLabel>(); aWeirdLabelMap.put("anAlia

我有一个Swing程序,在该程序中,我必须在action performed块中动态更改JLabel的名称。

JLabel是一个对象,您指定的数据类型名称将在堆中分配的内存和对象本身之间进行映射,如果您想更改名称,然后通过创建一个具有新变量名的新对象来重新分配该对象

您可以使用集合

HashMap<String, JLabel> aWeirdLabelMap = new HashMap<String,JLabel>();
aWeirdLabelMap.put("anAlias0x00", new JLabel("myLabel1"));
aWeirdLabelMap.get("anAlias0x00");
HashMap aWeirdLabelMap=newhashmap();
aweirLabelMap.put(“anAlias0x00”,新JLabel(“myLabel1”);
aWeirdLabelMap.get(“anAlias0x00”);
另一种方式:

List<JLabel> jlabelList = new ArrayList<JLabel>();
        JLabel buf = null;
        for (int i = 0; i < 5; i++) {
            buf = new JLabel("label_" + i);
            buf.setName(Integer.toString(i));
            jlabelList.add(buf);
        }

        //later iterate or loop to find it
        JLabel c = null;
        for (JLabel jlabelList1 : jlabelList) {
            if (jlabelList1.getName().equalsIgnoreCase(Integer.toString(1))) {
                c = jlabelList1;
                System.out.println("JlabelFound -->" + c.getName() + c.getText());
            }
        }
List jlabelList=newarraylist();
JLabel buf=null;
对于(int i=0;i<5;i++){
buf=新的JLabel(“标签”+i);
buf.setName(Integer.toString(i));
jlabelList.add(buf);
}
//稍后迭代或循环以找到它
JLabel c=null;
用于(JLabel jlabelList1:jlabelList){
if(jlabelList1.getName().equalsIgnoreCase(Integer.toString(1))){
c=jlabelList1;
System.out.println(“JlabelFound-->”+c.getName()+c.getText());
}
}

JLabel是一个对象,您分配给该数据类型的名称将在堆中分配的内存和对象本身之间进行映射,如果您想更改名称,则通过创建一个新的名称(使用新的变量名称)重新分配对象

您可以使用集合

HashMap<String, JLabel> aWeirdLabelMap = new HashMap<String,JLabel>();
aWeirdLabelMap.put("anAlias0x00", new JLabel("myLabel1"));
aWeirdLabelMap.get("anAlias0x00");
HashMap aWeirdLabelMap=newhashmap();
aweirLabelMap.put(“anAlias0x00”,新JLabel(“myLabel1”);
aWeirdLabelMap.get(“anAlias0x00”);
另一种方式:

List<JLabel> jlabelList = new ArrayList<JLabel>();
        JLabel buf = null;
        for (int i = 0; i < 5; i++) {
            buf = new JLabel("label_" + i);
            buf.setName(Integer.toString(i));
            jlabelList.add(buf);
        }

        //later iterate or loop to find it
        JLabel c = null;
        for (JLabel jlabelList1 : jlabelList) {
            if (jlabelList1.getName().equalsIgnoreCase(Integer.toString(1))) {
                c = jlabelList1;
                System.out.println("JlabelFound -->" + c.getName() + c.getText());
            }
        }
List jlabelList=newarraylist();
JLabel buf=null;
对于(int i=0;i<5;i++){
buf=新的JLabel(“标签”+i);
buf.setName(Integer.toString(i));
jlabelList.add(buf);
}
//稍后迭代或循环以找到它
JLabel c=null;
用于(JLabel jlabelList1:jlabelList){
if(jlabelList1.getName().equalsIgnoreCase(Integer.toString(1))){
c=jlabelList1;
System.out.println(“JlabelFound-->”+c.getName()+c.getText());
}
}

您可以在ActionListener中重命名组件,如下所示:

public void actionPerformed(ActionEvent ae) {
  myJLabel.setName("New JLabel Name");
}

您可以在ActionListener中重命名组件,如下所示:

public void actionPerformed(ActionEvent ae) {
  myJLabel.setName("New JLabel Name");
}

你不能。不过,您可以通过调用settext来更改它的文本,但您不能。但是,您可以通过调用settext来更改它的文本。是否有其他方式Xoce?是否有其他方式Xoce?是的,我做了完全相同的事情,但它没有反映在GUI中。您询问如何设置JLabel的名称。我就是这么回答的。看起来您的问题实际上是“如何在JLabel上设置文本?”答案是
myJLabel.setText(“新文本”)如何在Gui中反映?是的,我做了完全相同的事情,但它没有反映在Gui中。您询问如何设置JLabel的名称。我就是这么回答的。看起来您的问题实际上是“如何在JLabel上设置文本?”答案是
myJLabel.setText(“新文本”)如何使其反映在Gui中?