問題タブ [listcellrenderer]
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 - レンダラーの複合リスナー
私は JList 用の独自の ListCellRenderer を持っています。JList の要素は JPanel のものです。リストをクリックすると、それに集中する必要があります (例: list.getSelectedIndex())。しかし、JPanel と JPanel 内の要素にも注目する必要があります。
これが私のコードです:
ClipboardObjectView は私の JPanel です。ClipboardObjectView の mouseListener を実行しましたが、機能しません。
java - JList コンポーネントの更新
コンポーネントとして を使用していJProgressBar
ます。JListコンポーネントは、2 秒ごとに JProgressBar を更新することになっています。しかし、問題は、progress の値を JProgressBar に渡す方法がわからないことです。ここに私のコードがありますJPanel
JList
java - カスタム オブジェクトで jlist を使用する際の問題
SamplePerson オブジェクトの ArrayList の内容を使用するように JList をセットアップしました。各 SamplePerson 自動作成時にランダムな名前が作成されます。選択のためにJListにサンプル人物の名前を表示するようにJListを取得しようとしていますが、リストは空白になります。Oracle のチュートリアルは少し役に立ちましたが、表示する方法がまだわかりません。
java - findComponentAt は JList に対して self を返します
わかりました。ここでの問題は、JList が実際に何をしているのかについての根本的な理解の欠如から生じていると思います。
私は簡単な例のクラスを持っていMyList
ます。
JLabel
リスト内のいずれかをクリックした場合の出力は同じです。
私はそれが次のようになると予想しました:
これは ListCellRenderer の仕組みに関係していると思いますが、よくわかりません。p.findComponentAt(e.getX(), e.getY());
コンポーネントが JLabelから返されないのはなぜですか? ここで何が起こっているのですか?
java - setSelectedItem() の使用時に ListCellRenderer が呼び出されるのはなぜですか?
Fontを選択するために使用することを目的としたJComboBoxがあります。ユーザーが選択を行っているときにフォントのプレビューを可能にするために、カスタムListCellRendererを作成しました。
ただし、これを使用すると、この ListCellRenderer でJComboBoxを初期化するときにパフォーマンスが大幅に低下することに気付きました。さらに調査したところ、 setSelectedItem()でアイテムのデフォルト値を設定したときに、 ListCellRendererが多くのフォントに対して呼び出されていることがわかりました。
今のところ、ListCellRendererを最後に設定するようにコードを変更しましたが、なぜこれが起こっているのか知りたいですか? 私のアイテムが画面に表示されていたとしても (まだ表示されていません)、ListCellRendererは選択されたアイテムをレンダリングしません。あったとしても、なぜ選択されていないアイテムに対して呼び出されているのですか?
java - カスタム ListCellRenderer が setText への呼び出しを無視するのはなぜですか?
Jidesoft の StyledLabel を拡張するカスタム ListCellRenderer を作成しました。私のレンダラーが使用されている JList は固定幅なので、私のレンダラーでは、この幅に基づいてテキストを短くしようとします。getListCellRendererComponent で setText を呼び出します。これは時々機能します。セルを選択すると、テキストはまったく短縮されていないかのように機能します。setText および text-shortening に関連する分岐はありません。
カスタムレンダリングとセルの高さについて説明しているこのやや関連する回答のソリューションを使用しようとしましたが、選択でも一貫して機能しませんでした。
編集:いくつかのコード
java - addMouseListener がラベルで機能しない
で を使用しMouseListner
ますDefaultTableCellRenderer
。
ラベルはこれを取得します =========================>
}
このラベルは、GUI クラスに実装されているテーブルの一部です。表 [ tableCatCustom
] も を使用しMouseListener
ます。行をクリックすると、その値が取得されます。しかし、行位置10にラベル(アイコン)があります。アイコンにはMouseListener
、私が実装した が必要です (上記を参照)。
ここでMouseListener
テーブルの ================>
});
行をクリックすると、これMouseListener
はうまく機能します。ただし、行にはMouseListener
ラベルの もある必要があります (rowpos 10 = アイコン)。これMouseListener
は機能しません!!!
私の間違いはどこですか?
よろしくお願いします
ヴォルフガング
java - コンボボックスからアイテムを選択するときに、データベースから ID 値を取得するにはどうすればよいですか?
私はコンボボックスを埋めるこのメソッドを持っています:
次に、次のものをロードします。
そして、「登録」ボタンをクリックすると、次のようになります。
しかしjComboBox2.getSelectedIndex() + 1
、選択したインデックスではなく、データベースからの ID 値が必要なため、うまくいきません。
何か案は?