2017-08-10 8 views
0

私のインターフェースでは、他のコンポーネントを持たないバックグラウンドラベルホルダーとしてnullレイアウトのJPanelが1つあります。私はその背景の上にGridLayoutとして画像の行を追加しようとしています。私はアイコンがJLabelに追加されたときに正しく動作するようにしましたが、グリッドパネルをバックグラウンドパネルに追加しようとすると画像は表示されません。これは、これまでの私のコードです:JPanelは別のJPanelの上に表示されません

JPanel gridPanel = new JPanel(new GridLayout(9,3)); 
JLabel ashes = new JLabel(); 
ImageIcon ashesIcon = new ImageIcon(getClass().getClassLoader().getResource("Resources/Ashes.png")); 
ashes.setIcon(ashesIcon); 
gridPanel.add(ashes); 
jPanel1.add(gridPanel); 
jPanel2.setVisible(true); 

しかし、何も、まったくアドバイスを表示されていない:

jPanel1 = new javax.swing.JPanel(); 
backgroundLabel = new javax.swing.JLabel(); 
backgroundLabel.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Ile/Background.jpg"))); 

jPanel1.add(backgroundLabel); 

背景であること、そして、私はその上に画像のグリッドを追加しよう?

+1

は、異なるロケールに異なるPLAFsを使用して適切なレイアウト – Blasanka

+2

のJava GUIはなど異なるOS」、画面サイズ、画面の解像度で作業する必要があります。したがって、ピクセルの完全なレイアウトには役立ちません。代わりに、レイアウトマネージャや[それらの組み合わせ](http://stackoverflow.com/a/5630271/418556)と[空白](http://stackoverflow.com/a/17874718/)のレイアウトパディングとボーダーを使用してください。 418556)。 –

+2

.. 2)すぐに役立つように、[MCVE]または[短く、自己完結型の正しい例](http://www.sscce.org/)を投稿してください。 3)画像を取得する1つの方法は、[このQ&A](http://stackoverflow.com/q/19209650/418556)に表示されている画像にホットリンクすることです。 –

答えて

0

私はあなたが投稿コードに基づいていない

、背景ラベルホルダーとしてnullレイアウトで1 JPanelのを持っています。デフォルトでは、JPanelはFlowLayoutを使用します。

私はGridLayoutとして背景の上に画像の行を追加しようとしています。

あなたはコンポーネントが画像の上に表示させたい場合は、私は考えることができる3つのソリューションがあります。

  1. はJPanelの上の画像をペイントしてからちょうどレイアウトマネージャを設定し、追加しますあなたの他のコンポーネント

  2. は、ラベルのレイアウトマネージャを設定し、パネルにバックグラウンドラベルを追加し、ラベルに他のコンポーネントを追加します(ないパネル)

  3. OverlayLayoutを使用します。このレイアウトでは、複数のコンポーネントを同じパネルに追加してから、コンポーネントをZディメンションで重ねて重ねることができます。 GridLayoutを含むパネルを非不透明にする必要があります。いけないがnullレイアウトを使用

+0

私は、背景をOverLayLayoutで使用し、その上にグリッドレイアウトをイメージで設定し、不透明が設定されていることを確認しました。まだ画像は見えません。パス設定は正しいので、なぜ動作しないのか理解できません。 – Eckersley

+0

@e、「私はバックグラウンドでOverLayLayoutを使用しました」 - これは、提案されたものでも、OverlayLayoutの仕組みでもない。通常のパネルでは、OverlayLayoutを使用します。次に、イメージを含むパネルをこのパネルに追加し、このパネルに背景パネルを追加します。したがって、3つのコンポーネントが関与しています。 – camickr

関連する問題