21xrx.com
2025-06-29 13:44:53 Sunday
文章检索 我的文章 写文章
JAVA简单画板程序
2023-06-15 09:29:08 深夜i     12     0
JAVA语言 Swing组件 绘图程序

JAVA语言是目前全球应用非常广泛的编程语言之一,在各个领域都有着广泛应用。其中,JAVA语言编写的画板程序受到了众多程序员的喜爱,成为了广大JAVA学习者的实践项目之一。

本文将介绍一个简单的JAVA画板程序,该程序使用了JAVA Swing组件来实现画板的基本功能。程序具备绘制直线、矩形、椭圆等图形的功能,并允许用户自行选择颜色和粗细等参数。

以下是该程序的核心代码:

import java.awt.Color;
import java.awt.Graphics;
import java.awt.Point;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class DrawApp extends JFrame{
  private static final long serialVersionUID = 1L;
  private JPanel drawPanel;
  private Graphics graphic;
  private Point startPoint;
  private Point endPoint;
  private Color color=Color.BLACK;
  private int size=1;
  public DrawApp(){
    super();
    setTitle("JAVA简单画板程序");
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setSize(600, 600);
    setLocationRelativeTo(null);
    setVisible(true);
    drawPanel=new JPanel();
    setContentPane(drawPanel);
    drawPanel.addMouseListener(new MouseListener() {
      @Override
      public void mouseReleased(MouseEvent e) {
        endPoint=e.getPoint();
        drawShape(startPoint, endPoint);
      }
      @Override
      public void mousePressed(MouseEvent e) {
        startPoint=e.getPoint();
      }
      @Override
      public void mouseExited(MouseEvent e) {}
      @Override
      public void mouseEntered(MouseEvent e) {}
      @Override
      public void mouseClicked(MouseEvent e) {}
    });
    drawPanel.addMouseMotionListener(new MouseMotionListener() {
      @Override
      public void mouseMoved(MouseEvent e) {}
      @Override
      public void mouseDragged(MouseEvent e) {
        endPoint=e.getPoint();
        drawShape(startPoint, endPoint);
        startPoint=endPoint;
      }
    });
    graphic=drawPanel.getGraphics();
  }
  private void drawShape(Point start, Point end){
    graphic.setColor(color);
    graphic.setStroke(new BasicStroke(size));
    graphic.drawLine(start.x, start.y, end.x, end.y);
  }
  public void setColor(Color c)
    this.color=c;
  
  public void setSize(int size)
    this.size=size;
  
  public static void main(String[] args) {
    new DrawApp(); 
  }
}

以上代码实现了绘制直线的功能,用户可以通过调用setColor和setSize方法来选择颜色和线条粗细,程序还可以绘制矩形、椭圆等图形,这里就不再赘述。

通过以上程序的实现,我们不仅可以了解到JAVA Swing组件的使用方法,也可以锻炼我们的编程能力,为我们今后的编程工作打好基础。

  
  

评论区