2012-02-12 10 views
5

JList私は2つの値を表示したいアイテムを持っています。それは文字列名を表示して、値を表示するための右揃え文字列を持つ方法がありますか?このように見て何か:JListのテキストアラインメント

Title__________________120 
Title2_________________135 

はそれが項目に2つの文字列を渡すと、左右の二番目の上の最初の文字列表示を持つことは可能ですか?

答えて

6

確かに、カスタムを実装してください。rendererレンダリングコンポーネントとしてJPanelBorderLayoutと返し、LHSテキストをWESTに、RHSテキストをEASTに戻すことがあります。

もう1つの方法は、HTMLのデフォルトのレンダラー(JLabel)にHTMLの幅を100%伸ばして表示する方法です。カスタムレンダラーは、いくつかの理由(例えば、デフォルトのレンダラーのタイプがラベルであると仮定しない)のためにより良い選択であるが、


ところで - おそらくあなたは、この種の機能のためにJTableを使用することを検討すべきです。ハックやカスタムクラスは必要ありません。


JTableは項目を選択することができ..does?

もちろんです!このチュートリアルではHow to Use Tablesから直接取った例を示します。 「ジェーン」が選ばれました。

Table with row selected

テーブルを設定し、権利を取得するには少し手間ですが、それは努力の価値があります。

JTableはありません、テーブルが最終的に多くの機能を提供だけでJListのよう..

を実行することになります。しかし、リストが行うことができることは、ほとんど同じように(ユーザーのために)働きます。

+0

JTableはちょうどJListとして機能しますか(これは私が慣れていないのでjlistsとjtablesを使用して初めて申し訳ありません)。つまり、JListは値を選択するための素晴らしいインターフェースを提供しますが、jtableはアイテムの選択を許可していますか? – mbreen

+0

編集を参照してください。特に「How to Use Tables」リンクを参照してください。それはあなたが知る必要があるもののほとんどを説明します。 –

+0

恐ろしい! stackoverflowの皆さんは、ここでも簡単な質問にもきめ細かく答えてくれます!どうもありがとうございます。 – mbreen