java 画图板源代码,java画图板程序源代码:代码示例

javagongchengshi

温馨提示:这篇文章已超过230天没有更新,请注意相关的内容是否还可用!

java 画图板源代码,java画图板程序源代码:代码示例

Java 画图板源代码主要包括图形的绘制、鼠标事件的监听和图形的编辑等功能。我们需要创建一个继承自JPanel的自定义画板类,用于绘制图形并处理鼠标事件。在这个类中,我们需要重写paintComponent方法来绘制图形,以及添加鼠标事件监听器。

示例代码如下:

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class DrawingBoard extends JPanel {

private int startX, startY, endX, endY;

private boolean isDrawing;

public DrawingBoard() {

isDrawing = false;

addMouseListener(new MouseAdapter() {

public void mousePressed(MouseEvent e) {

startX = e.getX();

startY = e.getY();

isDrawing = true;

}

public void mouseReleased(MouseEvent e) {

isDrawing = false;

endX = e.getX();

endY = e.getY();

repaint();

}

});

addMouseMotionListener(new MouseMotionAdapter() {

public void mouseDragged(MouseEvent e) {

if (isDrawing) {

endX = e.getX();

endY = e.getY();

repaint();

}

}

});

}

protected void paintComponent(Graphics g) {

super.paintComponent(g);

g.setColor(Color.BLACK);

g.drawLine(startX, startY, endX, endY);

}

public static void main(String[] args) {

JFrame frame = new JFrame("Drawing Board");

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.setSize(400, 400);

frame.getContentPane().add(new DrawingBoard());

frame.setVisible(true);

}

}

在这个示例代码中,我们创建了一个DrawingBoard类,继承自JPanel,并实现了绘制图形和处理鼠标事件的功能。在构造方法中,我们初始化了一些变量,并添加了鼠标事件监听器。

在mousePressed方法中,我们获取鼠标按下时的坐标,并将isDrawing变量设置为true,表示正在绘制图形。在mouseReleased方法中,我们获取鼠标释放时的坐标,并将isDrawing变量设置为false,表示结束绘制。然后,调用repaint方法重新绘制图形。

在mouseDragged方法中,我们在鼠标拖动时获取坐标,并调用repaint方法实时更新绘制的图形。

在paintComponent方法中,我们使用Graphics对象绘制直线,起点为(startX, startY),终点为(endX, endY)。

在main方法中,我们创建了一个JFrame窗口,并将自定义的DrawingBoard对象添加到窗口中,实现了一个简单的画图板程序。

文章版权声明:除非注明,否则均为莫宇前端原创文章,转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码