問題タブ [tablecellrenderer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1169 参照

java - JTable - セル エディタの高さがテキストに収まらない

文字列値を編集するために、標準のセルエディターで標準の JTable を使用しています。一部のプラットフォームで、セル エディターを開くと、テキストが収まらず、テキストの一部が切り取られます。たとえば、「_」記号は見えません。また、「l」と「1」の区別がつきにくいのは、記号の上部が切り取られている場合があるためです。

おそらく、セルの高さを増やす必要がありますが、どのくらいですか?

結果は現在の Look & Fell に大きく依存します。たとえば、Windows ではすべて問題ないかもしれませんが、Linux では説明されている効果が表示されます。

0 投票する
2 に答える
798 参照

java - CustomTableCellRenderer での Netbeans の問題

JTable に別のデータ型を追加して (JTable が整数列を適切な方法で並べ替えるようにするため)、同時にテーブルをレンダリングして、奇数行が偶数行よりも暗く見えるようにしようとしています。

TableCellRenderer の次のコードがあります。

DataModel コードは次のようになります。

new Integer( some_integer ) を使用して新しい整数値をテーブルに追加しています。

コードを実行すると、整数値の列を除いて、テーブルは適切な方法でレンダリングされます (奇数行と偶数行は異なる色になります)。レンダラーの影響を受けていないように、それらはただの白です。

この問題を解決する方法を教えてください。前もって感謝します。最大。

0 投票する
2 に答える
2084 参照

java - JTableにお金を表示しますが、doubleとしてソートする機能は保持します

列の1つがドルとセントの金額であるJTableがあります。このTableColumnをDoubleとして定義すると、右揃えになり、並べ替えの際に、文字列ではなくdoubleとして並べ替えられます。これはすべてうまくいっています。私の問題は、後続のゼロを切り捨てることです。100.00は100として表示されます0.00は0として表示されます。TableCellRendererを試しましたが、これによりお金の列が末尾のゼロで表示されますが、金額はすべて左揃えになり、JTableはこれを文字列として認識します。
末尾のゼロをディスプレイに保持するだけでなく、データ型も保持して、並べ替えと右揃えが行われるようにします。これを行うためのより良い方法がある場合、データ型はdoubleである必要はありません。

0 投票する
3 に答える
24133 参照

java - Swing JTable - 選択したセルを選択した行の残りの部分とは異なる色で強調表示しますか?

基本的なスイング JTable があり、セルをクリックすると行全体が強調表示され、クリックされたセルは強調表示された行の残りの色とは異なる色になる必要があります。

現在、私はisRowSelectionAllowedtrueにしています

次のようなカスタムTableCellRendererを使用してみました:

しかし、それは機能していないようです (行全体が赤で強調表示されました)。

また、次のように UIManager プロパティを設定しようとしました。

しかし、それもうまくいかないようです(ただし、使用して境界線を設定しようとしたとき

うまくいきました)

私がする必要があるかもしれない提案を教えてください。

0 投票する
2 に答える
6590 参照

java - 複数の JProgressBar を JTable の TableColumn に追加する

の に複数追加JProgressBarしましTableColumnJTable

特定の計算を行った後、すべての JProgressBar をデータで更新していますが、最後に追加されたものProgressBar(この場合は ) のみが更新されています。ProgressBar progressObj4

ProgressBarすべてのsを更新するにはどうすればよいですか?

基本的な要件は、アップロード中にファイル進行状況バーのステータスを表示していることです。現在、4 つのプログレス バーをハードコーディングして、すべてのプログレス バーがファイルのステータスに基づいて更新されているかどうかをテストしていますが、それらを動的に作成する必要があります。プログレスバーの総数は、アップロードされているファイルの数を示しています。また、進行状況バーの個々のインスタンスを取得してステータスを更新するにはどうすればよいですか?

テーブル列に追加されるプログレスバーのソースコードを添付しています。

0 投票する
1 に答える
1358 参照

java - 編集不可能なフィールドの場合、JTableのカラーレンダラー?

JTable に 3 つの列があります。1 つの列が編集可能です。他の列は編集できません。編集可能な列は緑色で表示され、編集不可能な列は赤色で表示されます。DefaultRenderer私はクラスで試しましたが、うまくいきません。誰かがこれを知っているなら、私を助けてください。

0 投票する
2 に答える
755 参照

java - JTable で最初の列の色を変更するときに問題が発生しました

値に応じて JTable のフィールドの色を変更しようとしています。最初の列の色を変更したくありませんが、とにかくバグのある方法で変更されます(大学やPossible_Reviewerのように一部のフィールドが正しくファイルされていません):x は最初の列です

私のコードは次のとおりです。

奇妙なことに、「col == 2」を使用すると、2 番目の列が白くなりますが、最初の列は奇妙な色のままです。

誰でもアイデアはありますか?

0 投票する
2 に答える
1666 参照

java - JTable カスタム セル レンダラーのフォーカスの問題

このようなテーブルがあります。2 番目の列は JTextField レンダラーを使用し、3 番目の列は JPasswordField ベースのレンダラーとエディターを使用します。

ここに画像の説明を入力

いいね。しかし問題は、値を入力する必要があり、「ENTER」を押さなければならないことです。その画像では、パスワードを入力しましたが、Enter キーを押していません。そのため、[保存して閉じる] ボタンをクリックすると、パスワード フィールドが空であるというエラーが表示されます。

以前は、JTabbedPane の下で JTextFields と JPasswordFields のみを使用していましたが、うまく機能していました。どんどん物を足さなければならなくなったとき、このような表に変えました。

今のところ、Enter キーを押す必要があることを人々に知らせるラベルを付けました。これは良くありません。もう一つの大きな問題。少なくとも Nimbus のルック アンド フィールでは、そのフィールドがまだフォーカスされていることがわかります。Windows システムの外観では、フィールドがフォーカスされているかどうかにかかわらず、目に見える違いはあまりありません。

ここに画像の説明を入力

[保存して閉じる] ボタンをクリックしたときに値を設定するには、ユーザー名フィールドまたはパスワード フィールドが必要です。私を助けてください。

0 投票する
1 に答える
790 参照

java - Javaの動作-JTableおよびTableCellRenderer

すべてのJComponentで機能するように作成されたカスタムJTable(15行x 20列)があります。現在、JComboBoxes、JTextFields、およびJButtonsの混合に使用しています。ああ、私はJava5を使用しています(要件)。

2つの質問があります:

1)1つ目は、TableCellRendererクラスとその単一のメソッドに関するものです。

Object value引数をJComponentにキャストし、背景色を変更する可能性があります。大きな問題ではない。私が持っている質問は、なぜこのメソッドがsoooooと呼ばれることが多いのかということです。単一のセルを選択すると、23回呼び出されます。2つの関連のないアプリケーション間でAlt-Tabキーを押すと(私はWin7を使用します)、このメソッドは200回以上呼び出されます(JButtonsとJTextFieldsの場合のみ)。これは何らかの形で必要ですか?そうでない場合は、不要なレンダリング呼び出しを停止するにはどうすればよいですか?

2)2番目の質問は、JTable自体に関するものです。セルを編集していて(JTextFieldのカーソルが点滅している)、別のセルをクリックすると、そのセルのみが選択されます。ただし、別のセルをクリックすると、そのセルの編集が開始されます。私が考えることができるのは、最初の編集コンポーネントから、JTableを選択してから、その中のコンポーネントを選択しているということだけです。これを変更する方法はありますか?一方の方向(最初のクリックで常にjtableを選択)またはもう一方の方向(最初のクリックで常にセルに入る)のいずれかです。可能であれば、最初のオプションをお勧めします。

洞察/助けを与えることができる人に感謝します!

0 投票する
2 に答える
6588 参照

java - Java:テーブルセルレンダラーをオーバーライドしますが、デフォルトの背景とプロパティを使用します

カスタムレンダラーを追加する場合は、通常、一部JComponent(などJLabel)を拡張して実装TableCellRendererするか、を拡張しDefaultTableCellRendererます。ただし、どちらの場合でも、セルスタイルが完全に上書きされていることがわかります。

私が本当に望んでいるのは、デフォルトのL&F背景をペイントしてから、前景色やフォントなどの他のL&Fデフォルトを使用してその上にペイントできるようにすることです。

だから、これが私がやろうとしたことです。まず、クラス:

次に、セル(ヘッダー)レンダラーを次のようにオーバーライドします。

私は基本的にここでの提案に従っています: TableCellRenderer、パート2-カスタムレンダラーを作成する方法

を返すcomponentと、何もオーバーライドしていないかのようにレンダリングされます。つまり、選択したL&Fの背景とスタイル、およびすべてでプログラムしたラベルのヘッダーを取得します。 しかし、もちろん、後で私のものをレンダリングする方法はありません。

一方、私が戻った場合this、私はまったく何も得られません。MacネイティブのL&Fは私に白い背景を与え、Nimbusは私に他の色の無地を与えます。

私は明らかに何かが欠けています。Componentオーバーライドして元のメソッドに転送する必要がある他のメソッドはありますか?オーバーライドしない場合、デフォルトのコンポーネントはどのように描画されますpaintか?(私もオーバーライドを試みましたpaintComponent。違いはありません。)

これを行う別の方法はありますか?ネイティブスタイルJPanelをそこにドロップしてから、カスタム(透明な背景)コンポーネントをその子にすることを考えましたが、その方法はわかりません。また、取得できるかどうかもわかりません。とにかくネイティブL&Fテーブルヘッダーの背景。実際、ネイティブのヘッダースタイル、つまりネイティブスタイルだけを取得できるかどうかは非常に疑わしいですJPanel

基本的に、カスタムテーブルヘッダー(および個別に、実際にはセルも)が必要ですが、ネイティブL&Fを過度に混乱させないようにします。

ありがとう!