java - 鼠标单击时未绘制线条

标签 java swing

我有以下java程序:

  import java.awt.*;
  import java.awt.Graphics;
  import javax.swing.*;
  import java.awt.event.*;
  import java.io.*; 
  import javax.swing.*;

  public class Lapex extends JPanel implements MouseListener{
JPanel p = new JPanel();

Lapex(){
    JFrame f = new JFrame();
    p.addMouseListener(this);
    p.setPreferredSize(new Dimension(600, 600));
    f.add(p);
    f.pack();
    f.show(true);
}


public void paint(Graphics g){
     paintComponents(g);
     g.setColor(Color.RED);
     g.drawLine(10, 10, 100, 100);
}

public void mouseClicked(MouseEvent me){
     System.out.println("AAAA");
     repaint();
}


}

public static void main(String[] args){
    new Lapex();

}
}

点击鼠标,控制台显示“AAAAA”,但不画线。(我删除了另一个鼠标事件) 如何修改?

最佳答案

您必须调用 super 方法并使用paintComponent。

public void paintComponent(Graphics g){
     super.paintComponent(g);
     g.setColor(Color.RED);
     g.drawLine(10, 10, 100, 100);
}

关于java - 鼠标单击时未绘制线条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29917289/

相关文章:

java - Kotlin 推断不遵循正常 getter/setter 约定的 Java 类属性?

java - 你如何在java项目中嵌入Tomcat?

java - 如何避免在 Swing 中耦合 View 和 Controller

java - 如何向每个 JTree 节点添加不同的 JComboBox?

java - OpenCV Java |在二进制图像中按区域删除 Blob

java - 如何从控制台读取国际字符

java - 无法加载类文件

java - JTextPane/JTextArea append() 随机工作

java - 如何在 Java 中延迟 MouseOver?

java - 多个面板彼此下方