JPanel サブクラスの ChordEditor で paint() メソッドをオーバーライドする際に問題があります。paint() メソッドをオーバーライドしてフレームに追加し、repaint() を呼び出しても、paint() メソッドは呼び出されません。印刷物「ペイント機能入り」が印刷されません。誰でもこれで私を助けることができますか?
私のChordEditorクラス:
public class ChordEditor extends JPanel{
ArrayList<Chord> chordArray = new ArrayList<Chord>();
public ChordEditor() {
this.repaint();
}
@Override
public void paint(Graphics g) {
System.out.println("entering paint function");
super.paint(g);
Graphics2D g2d = (Graphics2D) g;
Toolkit.getDefaultToolkit().sync();
System.out.println("drawing line");
g2d.drawLine(10, 10, 40, 40);
g.dispose();
}
}
JFrame に追加する場所:
ChordEditor ce = new ChordEditor();
m_frame.getContentPane().removeAll();
m_frame.add(ce);
m_frame.getContentPane().repaint();