2016-09-21 7 views
-1

私の化合物の境界をうまく動かすのに少し問題があります。私は以前に国境を持った遊びをしていましたが、これが私の計画を立てる最良の方法だったようです。化合物の境界を作成するのが難しい

私の計画では、箱の両側に青と赤のボックスがあります。

container.setBorder(BorderFactory.createCompoundBorder()); 
    container.setBorder(BorderFactory.createMatteBorder(0, 10, 0, 10, Color.red)); 
    container.setBorder(BorderFactory.createMatteBorder(10, 0, 10, 0, Color.blue)); 

これは私が現在持っているコードであり、複合要素が機能しなくなっています。私は何か非常に明白なものを見逃していると思うが、私はもう一組の目が助けになるかもしれないと感じるので、私はここに投稿している。

+1

部品が一つだけ' Border'を持つことができ、それはだ()を追加() '。。 'CompoundBorder'の機能は2つの別々の' Border'を保持することです。[documentation](https://docs.oracle.com/javase/7/docs/api/javax/swing/border/ CompoundBorder.html)はこれに答えました。また、今後の質問には、問題を示すコンパイル可能な[MCVE]を必ず含めてください。 –

答えて

4

コンポーネントに3つの異なる罫線を設定することはできません。ボーダーを1回だけ設定する必要があります。以下試してください:メソッドは `setBorder()`と `ないgetBordersのようなものと呼ばれる理由

Border inner = BorderFactory.createMatteBorder(0, 10, 0, 10, Color.RED); 
Border outer = BorderFactory.createMatteBorder(10, 0, 10, 0, Color.BLUE); 
container.setBorder(BorderFactory.createCompoundBorder(outer, inner)); 
+0

[ボーダーの使い方](http://docs.oracle.com/javase/tutorial/uiswing/components/border.html)のSwingチュートリアルを読んでください。これを行う方法を示す多くの作業例があります。このチュートリアルは、他のSwingの基礎のリファレンスとしても使用できます。 – camickr