Java Swingでの絶対位置指定


  1. setBounds() メソッドを使用する方法: setBounds() メソッドは、コンポーネントの位置とサイズを指定します。以下は、JLabelを絶対位置 (x=100, y=200) に配置する例です。
JFrame frame = new JFrame("絶対位置指定の例");
frame.setLayout(null);
JLabel label = new JLabel("Hello, World!");
label.setBounds(100, 200, 100, 30);
frame.add(label);
frame.setSize(400, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
  1. setPreferredSize() メソッドと setLocation() メソッドを使用する方法: setPreferredSize() メソッドは、コンポーネントの推奨サイズを指定します。setLocation() メソッドは、コンポーネントの位置を指定します。以下は、JButtonを絶対位置 (x=50, y=50) に配置する例です。
JFrame frame = new JFrame("絶対位置指定の例");
frame.setLayout(null);
JButton button = new JButton("Click me!");
button.setPreferredSize(new Dimension(100, 30));
button.setLocation(50, 50);
frame.add(button);
frame.setSize(400, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
  1. JPanelを使用する方法: JPanelは、コンポーネントをグループ化するためのコンテナです。JPanelを使用して、絶対位置指定を行うこともできます。以下は、JButtonをJPanel内で絶対位置 (x=100, y=100) に配置する例です。
JFrame frame = new JFrame("絶対位置指定の例");
frame.setLayout(null);
JPanel panel = new JPanel();
panel.setLayout(null);
panel.setBounds(0, 0, 400, 300);
JButton button = new JButton("Click me!");
button.setBounds(100, 100, 100, 30);
panel.add(button);
frame.add(panel);
frame.setSize(400, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);

これらの例では、setLayout(null) を呼び出してレイアウトマネージャーを無効にし、コンポーネントの位置とサイズを直接指定しています。ただし、絶対位置指定は柔軟性がありますが、ウィンドウサイズの変更に対してレスポンシブではないため、注意が必要です。

以上が、Java Swingでの絶対位置指定の方法とコード例です。これらの方法を使用することで、自分のGUIアプリケーションにコンポーネントを正確に配置することができます。