[英]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.