21xrx.com
2024-11-22 10:57:42 Friday
登录
文章检索 我的文章 写文章
我最近在学习Java编程
2023-06-18 11:40:59 深夜i     --     --

我最近在学习Java编程,发现用Java画图真的很有趣。于是我尝试写了一个简单的画图板,现在分享一下完整的代码。

首先,画图板需要用到Java的绘图类。我选择了JPanel类和Graphics类来绘制图形。下面是代码中声明的一些变量:


JPanel panel;

Graphics graphic;

int x, y, prevX, prevY;

Color currentColor;

panel是一个JPanel对象,我们将在它上面绘制图形。graphic是一个Graphics对象,我们将使用它来添加画笔和颜色。x和y是鼠标当前位置的坐标,prevX和prevY是上一个位置的坐标,currentColor是当前的颜色。

下面是代码中的几个关键方法:


public void paintComponent(Graphics g) {

  super.paintComponent(g);

  if (graphic == null) {

    graphic = g.create();

    graphic.setColor(Color.black);

  }

}

public void setColor(Color c) {

  currentColor = c;

  graphic.setColor(currentColor);

}

public void drawLine() {

  graphic.drawLine(x, y, prevX, prevY);

  prevX = x;

  prevY = y;

  panel.repaint();

}

paintComponent方法是绘制组件的核心方法,在这个方法中我们创建一个Graphics对象,并将它初始化为黑色。

setColor方法根据传入的颜色值,将currentColor设为指定的颜色。

drawLine方法画一条线段。当用户按下鼠标键时,prevX和prevY被设置为鼠标当前位置的坐标,然后当鼠标移动时,drawLine方法被调用,将使用graphic对象的drawLine方法绘制一条线段,并更新prevX和prevY,以便在下一次鼠标移动时继续画线段。

最后,我们需要为画图板添加鼠标监听器:


panel.addMouseListener(new MouseAdapter() {

  public void mousePressed(MouseEvent e) {

    prevX = e.getX();

    prevY = e.getY();

  }

});

panel.addMouseMotionListener(new MouseAdapter() {

  public void mouseDragged(MouseEvent e) {

    x = e.getX();

    y = e.getY();

    drawLine();

  }

});

在这个鼠标监听器实现中,我们在鼠标按下时保存鼠标当前位置的坐标,然后在鼠标拖动时获取当前位置的坐标,并调用drawLine方法进行绘制。

至此,我们的简单画图板完成了。当然,这只是一个开始,还有很多可以改进和添加的功能。但是,希望这个代码能给初学者提供一个简单的开始。

Java编程是一个非常有趣的领域,它可以帮助我们开发各种类型的应用程序和工具。无论你是刚开始学习Java,还是已经是一个经验丰富的开发人员,我相信你都会发现Java的绘图功能很有趣,也很实用。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复