私はJavaでプログラムのGUIを書いています。私はJLayeredPaneを私のJFrameのContentPaneとして利用したいと思っています。私のJLayeredPaneには、2つのレイヤーがあります.1つはCanvas(canvas1)、もう1つはJPanel(jPanel5)です。私はNetbeans IDEを使用し、このコードが生成されます:Java:JLayeredPaneサイズ変更の問題
canvas1.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
canvas1.setBounds(0, 0, -1, -1);
jLayeredPane1.add(canvas1, javax.swing.JLayeredPane.PALETTE_LAYER);
jPanel5.setBounds(0, 0, 670, 550);
jLayeredPane1.add(jPanel5, javax.swing.JLayeredPane.DEFAULT_LAYER);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLayeredPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 670, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLayeredPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 553, Short.MAX_VALUE)
);
パック();
私は私のプログラムを実行すると、私は奇妙なイベントを見た! JFrameのサイズを変更すると、メインのJLayeredPaneのサイズは変更されませんでした。私はコンポーネントのバックグラウンドカラーを使いましたが、JLayeredのサイズは永続的ですが、私はそれをプロパティに縦横にサイズ変更可能に設定しています。 JFrameはサイズ変更可能ですが、メインのjLayeredPaneのサイズはpermamnetです。
jLayeredPaneをJFrameとしてサイズ変更する方法を教えてください。
は、あなたが今使っているデフォルトのBorderLayoutの代わりに、GroupLayoutを使用してみてください
ありがとうございます。しかし、このコードをnetbeansの生成コードに追加するのはimpssibleです。 JLayeredPaneプロパティで彼をどのように設定できますか? – sajad
Netbeansを使用してコードを生成しないでください。 Swingチュートリアル(http://download.oracle.com/javase/tutorial/uiswing/TOC.html)には、IDEに依存しないように独自のGUIを作成する方法の例が豊富に用意されています。 – camickr
プロジェクトの作業が完了したら、IDEからソースを取り出し、それを調整してIDEが引き起こしたすべての問題を修正することができます。 – Raceimaztion