2012-08-02 5 views
15

HTMLを使用してSwing要素をスタイルするのは悪い習慣と考えられますか?Java Swing ElementsでHTMLスタイルを使用するのは悪い習慣ですか?

例として、私は一度だけラベル大きく、赤にしたい場合は、私は2つのオプションがあります。

JLabel label = new JLabel("This is a title"); 
label.setFont(label.getFont().deriveFont(18)); 
label.setForeground(Color.red); 

またはHTMLを使用して::

API呼び出しを使用して

のいずれかを

JLabel label = new JLabel("<html><font size='4' color='#ff0000'>This is a title"); 

さらに、HTMLの方法では、ラベル全体ではなく1語を強調することができます。

HTMLを使用する際の欠点は何ですか?それはより高価ですか?そして、フォーマットはすべてのJREで保証されていませんか?

+1

SwingでHTMLスタイルを使用するのは悪い習慣でしたか?彼らを恥じる。スイングコンポーネントの多くに拡張レンダリングを提供する最善の方法の1つです。私は個人的に複雑なツールのヒントをレンダリングするときにこのテクニックを使用し、テーブルや画像を他のものの中に表示することができます – MadProgrammer

+0

私は一般にあなたに同意します。誰も私はそれを使用すべきではないと私に言ったが、ちょっと "汚い"と感じている – Redandwhite

答えて

5
  1. いいえ、それは

  2. 今日SwingのJComponentの中でHTML構文を使用するように悪いか良い方法はありませんが、JavaはHTML 3.2をサポートし、特定のCSSのサポートが

  3. JTextPaneの属性が低下していますそして、JEditorPaneのサポートは、追加および位置決めJComponentのも、HTMLでHTML構文

+0

@ Redandwhite A * d * o * b * eによるアイコンがそうでないなら、私は間違っていると思います。 – mKorbel

2

Using <font> is badを使用します。また、オブジェクトを使ってフォントの色やサイズなどをカスタマイズすることは、大きなアプリケーションでは大変な作業です。

幸いにも、javaFX 2が出ました。 CSSを使用すると、次のようなことに対処することができます。 http://www.oracle.com/technetwork/java/javafx/documentation/index.html

+0

HTMLを作成するときにフォントタグを使用するのは悪いですが、HTML 3.2と制限付きCSSサポートしかサポートしていないと考えています。この場合、JavaFXではなくSwingを使用したい場合 – MadProgrammer

+0

次にFontオブジェクトを使用することをお勧めします。それはもっと仕事ですが、再利用や維持が容易です(例えば、ラベルやボタンなどのフォントをワンタッチで変更するなど)。 – baraber

+0

Fontオブジェクトを使用すると、大きなアプリケーションで使用するのが少し重いです。私は通常、2つの方法の組み合わせを使用します。しかし、通常のHTMLを書くときにはの使用を嫌っていますが、通常は互換性が保証されているような特定の使用例では問題は見られません – Redandwhite