小编arc*_*rcm的帖子

在图像上绘制JPanel中的形状

我需要在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)

java swing image jframe paintcomponent

3
推荐指数
1
解决办法
3342
查看次数

标签 统计

image ×1

java ×1

jframe ×1

paintcomponent ×1

swing ×1