に手動でカスタムコンポーネントを追加する:私は、グリッドを作成し、このクラスを有するスインググループレイアウト
class GridPane extends JPanel{
public GridPane(int row,int col){
setLayout(new GridLayout(row,col));
setBorder(BorderFactory.createEmptyBorder(1,1,1,1));
for (int i =1; i<=(row*col); i++)
{
JPanel pan = new JPanel();
pan.setBackground(Color.RED);
pan.setPreferredSize(new Dimension(3,3));
pan.setBorder(BorderFactory.createLineBorder(Color.BLACK));
add(pan);
}
}
とグループレイアウトを持つ空のメインフレームを設定している本:
public MainFrame() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
GroupLayout gl_contentPane = new GroupLayout(contentPane);
gl_contentPane.setHorizontalGroup(
gl_contentPane.createParallelGroup(Alignment.LEADING)
.addGap(0, 440, Short.MAX_VALUE)
);
gl_contentPane.setVerticalGroup(
gl_contentPane.createParallelGroup(Alignment.LEADING)
.addGap(0, 268, Short.MAX_VALUE)
);
contentPane.setLayout(gl_contentPane);
}
IはSWINGの経験はあまりありません。しばらくの間、メインフレームの右にGridPaneオブジェクトを追加しようとしています。
java.lang.IllegalStateException:GridPane [、0,0,0x0、無効、レイアウト= java.awt.GridLayout、alignmentX = 0.0、alignmentY = 0.0、ボーダー=のjavaxそれは私のような何かを語って保持します。 swing.border.EmptyBorderする@ 6ba7508a、フラグが9、MAXIMUMSIZE =、のminimumSize =、preferredSizeが=]水平/垂直のグループに接続されていない=
誰もが何が起こっているか知っていますか?私は必要なものを達成するために何をすべきですか?申し訳ありませんが、たくさんのコードを投稿しています。助けてくれてありがとう。
感謝。これはまさに私が探していたものでした! – Cemre
それは私の喜びです。 – Katana