1
所以我在JPanel的一個實現類中有這個類。drawLine()方法沒有畫任何東西
private static class Line extends JComponent {
private static final long serialVersionUID = 1L;
@Override
public void paintComponent(Graphics g) {
System.out.println("Pozvan paintComponent()");
g.setColor(Color.YELLOW);
g.drawLine(20, 20, 100, 20);
super.paintComponent(g);
}
}
這是一個代碼片段它創建線的一個實例:
Line line = new Line();
line.setOpaque(true);
add(line);
我真的不知道我在做什麼錯在這裏。當我畫一個矩形時,一切都很好地畫出來。
如果'super.paintComponent(g);'是'public void paintComponent(Graphics g){' – mKorbel
'內的第一條代碼行,那麼會發生什麼情況並檢查寬度/高度以確保Line組件不是0大小 – StanislavL
我同意Stas,因爲JComponent的大小可以是0 – mKorbel