4

ラベルの配列を作成しようとしています。各ラベルには、関数から得られる異なる値があります。使用するラベルの正確な数はわかりません。つまり、印刷される値はいくつでもある可能性があります。これを行うのを手伝ってください。

4

5 に答える 5

7

1 つのメソッドで配列または JLabels のコレクションを返し、それらすべてを 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]);
        }
    }
}
于 2010-04-26T09:59:24.110 に答える
2

可能であれば、個別JLabelの を使用しないでくださいJList。必要に応じてレイアウトとスクロールを処理する を使用してください。

Java-Tutorial - リストの使用方法:

代替テキスト
(ソース: sun.com )

于 2010-04-26T10:12:34.217 に答える
0

キッディンですか?真面目な方のために、まず、JLabel、JPanel などの Java API のいくつかと、いくつかの言語要素を調べてください。

次に、次のようなことができるようになります(私のコードはコンパイルされないと確信しています)

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それがあなたが話した機能であることに注意してください。

于 2010-04-26T09:53:14.117 に答える