[英]drawLine() method not drawing anything
所以我在一個類的內部包含了這個類,該類是JPanel的實現。
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 line = new Line();
line.setOpaque(true);
add(line);
我真的不知道我在做什么錯。 當我繪制一個矩形時,一切都很好地繪制了。
當我將高度設置為較大的數字時,它會起作用。
Swing組件的默認大小為(0,0)。 由於大小為0,因此無需繪畫。
g.drawLine(20, 20, 100, 20);
使用以上信息,這意味着您的組件需要大小為(120,40)。 也就是說,寬度= 20 + 100,高度= 20 + 20,以便對組件進行噴塗。
I added line.setBounds(20, 20, 80, 50);
由於將寬度設置為80,而不是120,因此僅會繪制部分線條。
閱讀Swing教程上有關自定義繪畫的部分,以獲取更多信息和示例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.