問題タブ [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.
java - 複雑なエディターを備えた JTable
私は JTable 用の多くのカスタム エディターを持っていますが、特にキーボードでの編集に関して、使いやすさが欠けていると言っても過言ではありません。
これの主な理由は、私のエディターは常にこれに似た (より複雑な場合が多い) 状況で作成されるためです。
内部に複数のコンポーネントがあるパネル。実際のテキスト エディターは、エディターとして返されるコンポーネントの子孫です。したがって、レンダリングの問題は別として、JTable はgetTableCellEditorComponent
メソッドによって返されるコンポーネントにフォーカスしているため、セルが強調表示された状態でキーを押すと、フォーカスとキーの押下がパネルに渡され、それがエディターであると考えられます。
「実際の」エディタが JTextfield であることを JTable に通知できる方法はありますか? キーの押下が渡されないため、正しいコンポーネントにハッキーrequestFocusInWindow
を追加するだけでは不十分です。
java - JTableセルにタイムカウンターを表示する効率的な方法
時間カウンターは、テーブル内の行の経過時間を秒単位で示します。理想的には、1秒に1回更新されます。テーブルモデルの適切なデータをインクリメントしたり、イベントを発生させたり(行ごとに1つ)することができることはわかっています。やり過ぎのようです。より良い、より軽い方法はありますか?
jtable - JTable 内のオブジェクトの ArrayList の内容を表示する最も簡単な方法は何ですか?
Track オブジェクトの ArrayList があります。各 Track オブジェクトには、次のフィールド (すべて文字列) があります。
URL、タイトル、作成者、アルバム、ジャンル、作曲者
これらのトラックを JTable に表示したいと考えています。各行は Track オブジェクトのインスタンスであり、各列は Track オブジェクトのプロパティの 1 つを含んでいます。
JTable を使用してこのデータを表示するにはどうすればよいですか? getValueAt() メソッドを正しく実装する AbstractTableModel を使用しました。それでも、画面には何も表示されません。
それとも、配列を使用する方が簡単ですか?
jtable - JTable でのセル編集
JTable を使用してプロジェクトを行っています。表のセルを編集可能にしたいと考えています。私が使った、
私の問題は、セルは編集可能ですが、あるセルにデータを入力して次のセルに移動すると、以前のデータが消去されることです...誰か助けてください...
java - ベクターを使用した JTable の編集
を使用してミニプロジェクトを行っていJTable
ます。
Vector
行の値に型を使用しました。たとえば、public Vector textData = new Vector();
. 問題は、のセルを編集するときですJTable
。編集可能ですが、変更された値が保持されません。つまり、1 つのセルにデータを入力して次のセルに移動すると、前のデータは更新されません。
として宣言されているときにセルを編集することは可能Vector
ですか?
java - JTable で行をドラッグ アンド ドロップするにはどうすればよいですか?
行をテーブル内の別のインデックスにドラッグできるように JTable を設定するにはどうすればよいですか。たとえば、5 つの行があり、4 番目の行を 2 番目の位置にドラッグしたい場合はどうすればよいですか?
java - JTable で Ctrl + クリックの動作を変更する
JTable のコントロールを操作して、キーボード ボタン (つまり、CTRL ボタン) が押され、行が選択されているときに、さまざまな機能を提供する簡単な方法はありますか? 行の CTRL + クリック (マウス クリック) が選択された行のみを選択解除し、行を選択しないテーブルを作成するように依頼されました。ユーザーが選択されていない行を CTRL + クリックしても、何も起こりません。
テーブルを作成し、CTRL + A (すべて選択) などの機能を無効にできました。また、MouseEvent が生成されたときにコントロール ボタンが押されているかどうかを確認できましたが、わかりません。 CTRL + クリックを調整する方法を説明します。ここにいくつかのコードがあります:
mousePressed メソッドで、テーブルから選択されたすべての行を取得して遊んだ後、新しくクリックされた行が selectedRows にあるかどうかを確認しました...ただし、方法があるかどうかはわかりませんMouseEvent に関連付けられている行を確認します。
(また、このような予想される動作はあまりいじってはいけませんが、社内のレガシー システムを複製するためのものであることはわかっています)。
アイデアや提案をいただければ幸いです。
java - JTable行でオブジェクトを検出するための戦略?
ここに問題があります: JTableModel によってサポートされ、行にデータを入力するオブジェクトの配列 (1 つのオブジェクト = 1 つの行) を持つ並べ替え可能な JTable です。行を削除する必要があります。
並べ替えを行わない場合、オブジェクトの削除は簡単です。選択した行のインデックスを取得し、同じインデックスの下にある配列オブジェクトを削除します。ただし、並べ替えを使用すると、バッキング配列オブジェクトのインデックスと一致しなくなるという意味で、行インデックスが混乱します。これを克服する適切な方法は何ですか?