Java Swing-将线路添加到现有面板不';我没有出现

Java Swing-将线路添加到现有面板不';我没有出现,java,swing,Java,Swing,我有一个JPanel,一开始就画了点。我试图在这些点之间添加线,因为我在这些点之间进行遍历。但排队的人并没有出现。如果我使用重绘,上一张图就会消失。下面是我的代码。我需要刷新抽绳代码中的某些内容吗 public void paintComponent(Graphics g) { super.paintComponent(g); doDrawing(g); } //works fine private void doDrawing(Graphics g) { g.drawL

我有一个JPanel,一开始就画了点。我试图在这些点之间添加线,因为我在这些点之间进行遍历。但排队的人并没有出现。如果我使用重绘,上一张图就会消失。下面是我的代码。我需要刷新抽绳代码中的某些内容吗

public void paintComponent(Graphics g) {
    super.paintComponent(g);
    doDrawing(g);
}
//works fine
private void doDrawing(Graphics g) {
    g.drawLine(x, y, x, y);
}

//called later from outside, lines do not show up on Panel
public void drwaLine(Point p1, Point p2) {
    Graphics g2d = getGraphics();
    g2d.drawLine(p1.getX(), p1.getY(), p2.getX(), p2.getY());
}
如果我使用重绘,上一张图就会消失

是的,因为整个组件将重新绘制,而面板所做的第一件事就是绘制其背景以清除所有旧的绘制

有关两种常见的绘画方法,请参见:

  • 使用列表保存要绘制的对象
  • 使用BuffereImage

  • 这就是为什么不应该使用
    getGraphics