.form によって作成されたサブパネルを描画したいと思います。1 つの「mainPanel」があり、これには panel1(上)、panel2(左下)、および panel3(右下) という名前の 3 つのサブパネルが含まれます。
今、サブパネル「panel1」に何かを描きたいのですが、うまくいきません。プログラムを実行すると、3 つのサブパネルのみが表示されますが、「paintComponent()」メソッドの描画は表示されません。
ここにコードを貼り付けました。何が問題なのかを確認するのを手伝ってもらえますか? どうもありがとう。
public class PanelDrawTest extends JFrame {
private JPanel mainPanel;
private JPanel panel1;
private JPanel panel2;
private JPanel panel3;
public PanelDrawTest(){
getContentPane().add(mainPanel);
setPanel1(new MyPanel1());
}
public JPanel getMainPanel() {
return mainPanel;
}
public JPanel getPanel1() {
return panel1;
}
public void setPanel1(JPanel panel1) {
this.panel1 = panel1;
}
private class MyPanel1 extends JPanel {
public MyPanel1(){
}
@Override
public void paintComponent(Graphics g){
g.drawString("This is Panel 1",20,20);
g.drawRect(0,200,100,200);
}
}
public static void main(String args[]){
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
createAndShowGUI();
}
});
}
private static void createAndShowGUI() {
PanelDrawTest frame = new PanelDrawTest();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBounds(50, 50, 1200, 700);
frame.setPreferredSize(new Dimension(1200,800));
frame.pack();
frame.setVisible(true);
}
}