2016-12-04 8 views
0

私はしばらくの間、JPanelを使用していましたが、別のJPanelの上にJPanelを配置したいと思います。別のJPanel上のJPanel

私はJLayerを使用して見ましたが、私は疑問に思っていました。下部と上部のレイヤーを設定するだけのソリューションがあれば、可能であれば各コンポーネントレイヤーを設定したくありません。

JPanel bottomPanel = new JPanel();  # Set as bottom panel 
JPanel topPanel = new JPanel();   # Set as top panel 
JPanel sidePanel = new JPanel();  # Don't have to set 
JPanel anotherSidePanel = new JPanel(); # Don't have to set 

これは、このための最善の解決策は何か不可能な場合は、ありがとうございました。

+0

サイズ変更可能な場合は、より幅の、ASCIIアートや最小サイズでGUIの* *意図したレイアウトの簡単な描画を提供し、そして高さ。 –

答えて

2

メインパネルにBorderLayoutを使用させることができます。これは、レイアウトマネージャが何であるかをあなたが望むように聞こえる

mainPanel.add(leftSide, BorderLayout.LINE_START); 
mainPanel.add(rightSide, BorderLayout.LINE_END); 
JLayeredPane lp = new JLayeredPane(); 
mainPanel.add(lp, BorderLayout.CENTER); 
+0

うわー、 'JLayeredPane'のようなものがあったのを知りませんでした。ありがとうございました! –

2

:よう

次に、あなたが何かを行うことができます。さまざまなニーズに合ったいくつかの異なるものがあります。このポストの一番下にリンクがあります。

私の個人的なお気に入りはGridLayoutです。あなたが何をしたいのかについてだから、あなたはこれを行うことができます:あなたがやりたいだろう

JPanel panel = new JPanel(); 
panel.setLayout(new GridLayout(2, 1)); 
//the first number is the number of rows, the second is the number of columns 

JPanel topPanel = new JPanel(); 
JPanel bottomPanel = new JPanel(); 
panel.add(topPanel); 
panel.add(bottomPanel); 

を。

あなたがそれらについての詳細を読みたいと思った場合は、ここにリンクがあります: Oracle Docs on Layout Managers