問題タブ [jtable]
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.
swing - Scala の慣用的なテーブル セル レンダラー
私は従来の JavaTableCellRenderer
アプローチを使用しscala.swing.Table
て、レンダラーをテーブルのTableColumnModel
. このコードは次のようになります。
残念ながら、これにはメモリ リークがあるようです。おそらく、テーブル内のすべてのセルに対して新しい Component インスタンスを作成しているためです (約 30k 行)。確かに、scala テーブルをJTable
(まったく同じ列とデータモデルを使用して) に置き換えると、メモリ リークがなくなります。
rendererComponent
したがって、私の質問は、独自のセルレンダラーがあると仮定してメソッドをオーバーライドするときに、どのようなコードを使用するのですか?
java - JTable 内の JEditorPane 内のハイパーリンク
私は誓います... これが私がこのように尋ねなければならない最後の質問であることを願っていますが、私は夢中になろうとしています.
JEditorPane を使用して JTable の個々のセルに html を表示するカスタム TableCellRenderer を使用して JTable を取得しました。JEditorPane に表示されるリンクのクリックを処理するにはどうすればよいですか?
HyperlinkListener については知っていますが、HyperlinkEvents を処理するために JTable を介して EditorPane に到達するマウス イベントはありません。
JTable 内の JEditorPane でハイパーリンクを処理するにはどうすればよいですか?
swing - スウィング:ダイアログ ボックスのサイズ変更の寸法を保存
サイズ変更/ドラッグ可能な列を持つ JTable を含む、ユーザーが移動/ドラッグすることで変更できる一連のディメンションを含むダイアログ ボックスがあります。
私がやりたいのは、これらのサイズ変更可能な列/ダイアログ ボックスなどの状態を永続的にすることです。これにより、次回アプリケーションが起動したときに、ユーザーはサイズ変更の手順を最初からやり直す必要がなくなります。
これを行う最も便利な方法は何ですか?
java - Swing JTable Layout: テーブルをビューポート全体に表示する方法 - Eclipse IDE のように
私が構築しているアプリケーションでは、いくつかのテーブルに異なるデータを表示させます。そして、問題ビューやタスク ビューのように、テーブルをEclipse IDEのテーブルのように見せたいです(問題ビューのツリー構造は無視してください)。
私が主に興味を持っているのは、下の図に示されている上記のビューの最後の列です。
テーブルの幅がビューポートの幅以上の場合、この列は完全に消えます。ヘッダーが空白のダミー列を追加しようとしましたが、完全に非表示にすることはできません。また、テーブルが空であっても、行とセルが表示されます。この効果を得るにはどうすればよいですか?
前もって感謝します!
java - JTable セルを編集可能にする - ただし、ダブルクリックでは*できません*
次の動作で列を に追加しようとしてJTable
います (Windows エクスプローラーや同様のシェルに似ています)。
- 通常どおり、セルを 1 回クリックして選択できます。
- セルをダブルクリックして、別のアクション (外部プログラムの起動) を実行できます。
- セルの値 (文字列) は、(一時停止した後に) もう一度シングルクリックするかF2、セルが強調表示されているときに を押すことで編集できます。
ダブルクリックによってセルの編集がトリガーされてはなりませんが、可能であれば他のデフォルトの編集トリガーを操作できるようにしたいと考えています。
テーブルにa を追加しMouseListener
て、すべての s を消費しようとしましたMouseEvent
が、これは機能しません。それtrue
から戻ったisCellEditable()
場合、リスナーはクリック イベントを受け取りませんが、戻った場合はfalse
機能しF2なくなります。
イベントリスナーのみを使用してこれを実現できますか? PLAF関数をいじらないようにしたいです。
java - Java Swing:TreeListeners:valueChangedの前にstopCellEditing()を呼び出す方法は?
これは、これらの以前の質問に対するフォローアップです。
- 別のJBttonが押されたときにDefaultCellEditorで編集を停止する方法
- Sun Bug 4724980: JTable: テーブルがフォーカスを失ったときに編集に何が起こるかを制御する API を追加します。
以下のようにプロパティを使用するとterminateEditOnFocusLost
、テーブルがフォーカスを失ったときに CellEditor が正しく編集を停止します。
私のJButtonでも動作します。ボタンを押すアクションが処理される前にstopCellEditing()
、TableCellEditor に対してメソッドが呼び出されます。しかし、JTree で使用すると、ツリーの選択が変更され、メソッドがbeforeで呼び出されます。TreeSelectionListener.valueChanged
stopCellEditing()
最初に強制的に呼び出す方法があるかどうかstopCellEditing()
、またはこの問題の回避策を講じる必要があるかどうかは誰にもわかりませんか?
java - 選択した行の jTable グリッド線
私は jTable を読み取り専用に設定しており、選択は単一行のみで行われます。
ただし、ユーザーが行を選択して行がペイントされると、列間の jTable の垂直グリッド線が削除され、各セルの色のブロックではなく、単一の水平色のブロックが発生します。
選択した行に、隣接する列の各セル間の垂直線を表示するにはどうすればよいですか?
java - フォーカスのあるセルへのスクロールを無効にする
スクロールペイン内に jtable があります。部分的に表示されていないセルがフォーカスを取得したときに、スクロールペインが上下にスクロールするのを止めるにはどうすればよいですか?
問題は、ユーザーがセルの上にマウスを置いたときにセルを編集可能に設定しているため、部分的に表示されていないセルの上にマウスを移動すると、ビューが突然変化することです。私はこの振る舞いが好きではありません。それを変更する方法についてのアイデアはありますか?
java - jTable Java でのフィールドの操作
jTable に次のコードを入力しました。2 つの列があり、最初の列には変数名があり、2 番目の列にはその依存関係のリストがあります。ユーザーは、依存関係を jTable のリストから選択して変更できます。
ユーザーが値を変更すると、行を別のjTableに追加したい(これはユーザーが編集できません。どうすればよいですか?
テーブルに入力するコードは次のとおりです。
java - DefaultTableCellRenderer をオーバーライドして JTable にアイコンを追加する
以下のように独自のテーブル セル レンダラーを指定して、特定の JTable 列にアイコンを追加しようとしています (このチュートリアルの一部に基づいています)。
上記のコードは動作しますが:
- ifステートメントで指定したい特定のアイコンではなく、すべてのセルにアイコンがあります
- アイコンのみを持つべきセル MyTableModel.IMAGE_COLUMN にもテキストがあります。
前もって感謝します