web-dev-qa-db-ja.com

Javaスイングボーダーを上側にのみ持つことは可能ですか?

私はBorderFactoryを使用して境界線を作成する方法を知っていますが、境界線を必要とする側を指定するための何も表示されません:S

36
Becky

から Sun tutorial

次の画像は、マットの境界線を示しています。マットボーダーを作成するときは、コンポーネントの上下左右に占めるピクセル数を指定します。

Java docs

40
Pool

MatteBorder を使用して、各辺の境界線の寸法を指定できます。 MatteBorderのコンストラクタは次のとおりです。

public MatteBorder(int top,
                   int left,
                   int bottom,
                   int right,
                   Color matteColor)

したがって、JPanelの下部と右側にのみ境界線を付けたい場合は、次のように書くことができます。

JPanel panel = new JPanel();
panel.setBorder(BorderFactory.createMatteBorder(0, 0, 1, 1, Color.BLACK));
75
Alex Ntousias

マットと空の境界線を使用すると、各側のサイズを指定できます。

Borderインターフェース自体は、カスタムの外観が必要な場合は、簡単に実装できます。 Javaライブラリに含まれていないスタイルを含むサードパーティのライブラリが利用できる可能性があります。

text_field.setBorder( new MatteBorder(2, 0, 0, 0, Color.black));

値は適宜変更できます。

3
salman pk