我需要在JPanel的JLabel中显示的图像上绘制形状(圆形或自由线).
我的代码基于如何在拖动光标时绘制没有间隙的细线? 并使用2次鼠标点击绘制一个圆圈.
代码如下.问题是,当我开始绘制时,图像消失,只有在我停止后才会重新出现.如果我评论行super.paintComponent(g); 但这并不会发生,但是当我绘制圆圈时,它会保留以前位置的路径.
public static void main(String args[]) {
try {
URL url = new URL("http://www.senhoritatours.com/wp-content/uploads/2014/05/Porto-.jpg");
backgroundImage = ImageIO.read(url);
} catch (Exception e) {
e.printStackTrace();
}
loadAnnotation();
loadBackground();
JFrame f;
f = new JFrame();
f.setLayout(new BorderLayout());
f.add(mp);
f.pack();
f.setVisible(true);
Run Code Online (Sandbox Code Playgroud)
}
/*第0层:*加载背景图片*/
public static void loadBackground() {
JLabel lbImg = new JLabel();
lbImg.setBounds(0, 0, new ImageIcon(backgroundImage).getIconWidth(), new ImageIcon(backgroundImage).getIconHeight());
lbImg.setIcon(new ImageIcon(backgroundImage));
mp = new JPanel(new BorderLayout());
btnCircle.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent ae) {
if(btnCircle.isEnabled()) …Run Code Online (Sandbox Code Playgroud)