1

私はJavaが初めてで、このアプレットのような配列(0から255までの数字)を表示する必要があるアプレットを作成しています(JScrollPane内に配置しています):

RC4 暗号アプレット

また、各エントリとその中の値を後で処理したいと考えています。JTable を使用してみましたが、列の最大数は 100 です。エントリごとに JLabel を考えましたが、永遠にかかります..

これが繰り返しの質問である場合は申し訳ありませんが、ここで質問を検索しましたが、必要なものが見つかりませんでした

ああ、いや、これは宿題ではありません。私は自分のための小さなプロジェクトに取り組んでいます :) ありがとう!

4

1 に答える 1

1

まあ、JLabel次のようなことをすれば、 s を使うのに永遠にかかることはありません:

for (int i = 0; i < array.length; i++) {
    contentPanel.add(new JLabel(array[i]));
}

それが最初のアプローチです。JPanel をサブクラス化し、paintComponent(Graphics). 例:

public void paintComponent(Graphics g) {
    super.paintComponent(g);
    int currX = 10, currY = 10; // A 10px offset
    int gridBoxSize = 50; // In pixels. Should be large enough for three digits.

    for (int i = 0; i < array.length; i++) {
        if (currX + gridBoxSize > this.getWidth()) {
            currX = 10;
            currY += gridBoxSize;
        }
        g.setColor(Color.BLACK);
        g.drawRect(currX, currY, gridBoxSize, gridBoxSize);
        g.drawString(new String(array[i]), currX + 2, currY + 2);
    }
}

ノート:

  • 質問で話している配列は次のように宣言されていると想定しました: int[] array;;
  • 上記のコードは簡単なドラフトにすぎず、コンパイルもテストもしていません。
于 2013-04-10T17:39:59.457 に答える