0

4列(フィールド)のテーブルにテキストデータを表示しています。表の5列目(フィールド)にプログレスバーを表示したい。

これは、テーブルの個々のアイテム(行)に、テキストデータを含む4つの異なるフィールドと、進行状況バーを表示する1つのフィールドが含まれていることを意味します。

私の要件は、ファイルのアップロード中です

ファイルの詳細(名前、サイズ、日付)は、テーブル上の各ファイルについて表示され、アップロード時に各ファイルの詳細とともに表示されます。つまり、特定のファイルに対して個別のプログレスバーも開始されます。

現在、テキストデータを表示できますが、プログレスバーが表示されませんか?

テキストデータはJLabelを使用して表示されていますが、JProgressBarが同じ場所に表示されていません。JProgressBarの表示に制限はありますか?

4

1 に答える 1

2

補足として、テーブル内のテキスト データを取得するには JLabel の助けが必要であることに注意してください。JTable は、デフォルトのレンダラーで問題なく表示できます。

とにかく、JProgressBar のようなアイテムを JTable に入れるのは難しいでしょう。なぜなら、CellRenderer がその列をペイントし続けてプログレス バーの更新を表示する理由を見つけなければならないからです。

次のいずれかの方が簡単だと思います。

  1. GridLayout といくつかのパネルを使用して、コンポーネントとプログレス バーを追加するだけです。
  2. セルの値に基づいてセルのパーセンテージを色で塗りつぶすセル レンダラーを作成します。次に、進行状況を更新するために、進行状況をインクリメントする必要があるセルに対して setValue() を呼び出します。これはプログレス バーほど派手ではないかもしれませんが、JProgressBar を CellRenderer コンポーネントとして使用できるかもしれませんが、扱いにくいかもしれません。
于 2011-08-04T10:59:39.463 に答える