あなたは、このためのGridBagLayoutを使用することができます。ここでは、2つのボタンを示すサンプルを示します.1つはその幅を維持し、もう1つはフレームのサイズ変更時に幅を変更します。
レイアウトにどのように振る舞うべきかをコンポーネントに指示するGridBagConstraintsに注意してください。このウェイトは、サイズ変更動作を制御します。詳細はJava Tutorialsをご覧ください。
package test;
import java.awt.Button;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import javax.swing.JFrame;
public class LayoutResizeButtonTest extends JFrame {
public static void main(String[] args) {
LayoutResizeButtonTest app = new LayoutResizeButtonTest();
app.setDefaultCloseOperation(EXIT_ON_CLOSE);
app.setVisible(true);
}
LayoutResizeButtonTest() {
this.setLayout(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
c.fill = GridBagConstraints.HORIZONTAL;
c.weightx = 1.0;
this.add(new Button("Resizable"), c);
c = new GridBagConstraints();
c.weightx = 0.0;
this.add(new Button("Not Resizable"));
this.pack();
}
}
GridLayoutを使用し、GridBagLayoutを使用して独自のLayoutManagerを記述します。 – StanislavL
GridLayoutとGridBagLayoutを使ってみました。列の幅がすべての列で同じであるという問題があります。 – user1253040
独自のLayoutManagerを作成するにはどうすればよいですか? – user1253040