繁体   English   中英

如何在Java中创建一个JLabel数组以打印到JFrame

[英]How to create an array of JLabels in Java to be printed to a JFrame

我试图制作一系列标签。 每个标签都有一个不同的值,它来自一个函数。 我不知道要使用的标签的确切数量。 我的意思是可以打印任意数量的值。 请帮我这样做。

容易只有一个方法返回一个数组或一些JLabel集合并将它们全部添加到您的JComponent(例如JPanel)

class MyPanel extends JPanel{

    public MyPanel(){
        super();
        showGUI();
    }

    private JLabel[] createLabels(){
        JLabel[] labels=new JLabel[10]
        for (int i=0;i<10;i++){
            labels[i]=new JLabel("message" + i);
        }
        return labels;
    }

    private void showGUI(){
        JLabel[] labels=createLabels();
        for (int i=0;i<labels.length();i++){
            this.add(labels[i]);
        }
    }
}

如果可能的话,不要使用单独的JLabel ,而是使用JList ,如果需要,它将负责布局和滚动。

Java教程 - 如何使用List

替代文字
(来源: sun.com

你是开玩笑吗? 好吧,如果你是认真的,首先看看一些Java API,比如JLabel,JPanel和一些语言元素。

然后你就可以做类似的事了(我确定我的代码不会编译)

public static JPanel getLabels(int count) {
    JPanel panel = new JPanel(new FlowLayout());
    for(int i =0; i<count; i++) {
        panel.add(new JLabel(theFunctionThatCannotBeNamedHere(i)));
    }
    return panel;
}

请注意, theFunctionThatCannotBeNamedHere是您谈到的功能。

您实际上可以创建任何Swing组件的数组,因为每个Swing组件基本上都是复合数据类型。 尝试这个:

javax.swing.JTextField[] array = new javax.swing.JTextField[number_of_elements];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM