[英]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]);
}
}
}
你是开玩笑吗? 好吧,如果你是认真的,首先看看一些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.