2011-01-31 20 views
1

JPanelをレイアウトマネージャを使用せずにJFrameの中央に配置するにはどうすればよいですか?もちろん、すべての画面解像度で一般的なものにしたいと思っています。JPanelをJFrameの中央に配置

おかげで、 Tomer

+0

手順。しかし、レイアウトマネージャーの有無にかかわらず、どのようにJFrameにJPanelを配置することができるのか誰かが教えてくれると幸いです。ありがとう。 – tomericco

答えて

-2

あなたはレイアウト(setLayout(null))を使用しない場合のように、あなたは、JFrameJPanelの位置を計算する必要があります:私はその非常にシンプルだと思い

import java.awt.Color; 
import javax.swing.*; 

public class a extends JFrame { 

public a() 
{ 
    JPanel panel = new JPanel(); 
    panel.setSize(200, 200); 
    panel.setBackground(Color.RED); 
    setSize(400, 400); // JFrame arbitrary size. 
    getContentPane().setLayout(null); 
    getContentPane().add(panel); 
    setVisible(true); 
    // Caculate panel location after showing the JFrame in order to get the right insets (window's title bar). 
    int panelX = (getWidth() - panel.getWidth() - getInsets().left - getInsets().right)/2; 
    int panelY = ((getHeight() - panel.getHeight() - getInsets().top - getInsets().bottom)/2); 
    panel.setLocation(panelX, panelY); 
} 

public static void main(String[] args) { 
    new a(); 
} 
} 
+0

'getContentPane()。setLayout(null);'このQ&Aは別の質問で引用されました。レコードに関しては、 'null'レイアウトはここに行く方法ではありません。まれに、**これまでの**正しい道のりがあれば、まれです。 –

関連する問題