java画板铅笔_简易画板的JAVA实现

要实现一个画图板,首先我们要掌握的是图形界面开发和事件监听机制。在Java中,图形界面开发有三套组件:1.AWT组件:这是JDK1.0推出的图形组件类,位于java.awt这个包下。AWT组件被称为重量级组件,因为它是依赖于操作系统底层的绘图机制实现的组件绘制。2.SWING组件:这是JDK1.4推出的图形组件类,位于javax.swing包下(x意为扩展),它的功能比AWT更加强大。SWING组...
摘要由CSDN通过智能技术生成

要实现一个画图板,首先我们要掌握的是图形界面开发和事件监听机制。在Java中,图形界面开发有三套组件:

1.AWT组件:这是JDK1.0推出的图形组件类,位于java.awt这个包下。AWT组件被称为重量级组件,因为它是依赖于操作系统底层的绘图机制实现的组件绘制。

2.SWING组件:这是JDK1.4推出的图形组件类,位于javax.swing包下(x意为扩展),它的功能比AWT更加强大。SWING组件是基于AWT组件,采用纯java代码构建的一套组件。它里面的组件大多数是轻量级组件(具有平台移植性),只有顶级容器是重量级组件,因为其它轻量级组件需要借助重量级组件显示。

3.JavaFX组件:这是JDK1.7时推出的图形组件类。

而我们实现画图板主要使用的是AWT组件和SWING组件。

上图是Windows自带的画图板。当然,我们现在肯定还不能做出这样的画图板。但是我们可以模仿这个画图板的布局和一些功能来做出一个简易的画图板。首先,我们要有一个界面;然后,界面分为两个部分:可以选择画图的按钮和画布;最后,点击按钮我们就可以在画布上画出对应的图案。

画出界面

我们先来实现第一点:定义一个DrawFrame类来画出一个界面,这个时候需要用到javax.swing下的JFrame容器组件。JFrame是一个顶级容器,我们可以对它进行添加轻量级组件的操作。在这之前,我们可以设置它的属性。代码如下(实例化JFrame之前记得先导入javax.swing.JFrame包,下面的代码同理):

JFrame frame = new JFrame();

//设置窗体标题frame.setTitle("简易画板");

//设置点击关闭方式frame.setDefaultCloseOperation(3);

//设置窗体位置frame.setLocation(550, 250);

//设置窗体大小frame.setSize(800, 500);

//设置窗体可见frame.setVisible(true);

点击运行之后,我们就可以得到一个窗体了。虽然这个窗体现在空无一物,但万事开头难,接下来我们要做的就是第二点:往窗体上添加各种组件。这个时候我们需要用到javax.swing包下的JPanel组件。这是一个轻量级组件,可以被添加到JFrame上,代码如下:

// 实例化JPanel面板容器类的对象,作为北边面板JPanel northPanel = new JPanel();

// 设置面板的背景颜色northPanel.setBackground(Color.LIGHT_GRAY);

在它被添加到JFrame上之前,我们可以设置JFrame的布局方式为面板布局(BorderLayout),这种布局方式允许在JFrame上设置东西南北中五个“块”来添加面板。但是我们也可以不去设置,因为JFrame默认的布局方式就是面板布局。然后,这个JPanel面板上得有要画的图案对应的按钮,添加按钮的代码如下:

JButton button = new JButton(“Line”);// 实例化按钮对象 northPanel.add(button);// 将按钮添加到northPanel上

我们来设置northPanel的布局方式为流式布局(FlowLayout),顾名思义,这种布局方式就是像流水一样从左到右依次添加组件。上面的代码添加了一个名字是“Line”的按钮,意为画线。按照这种方式,我们还可以添加“Rect”,“Oval”,“Pencil”......如果嫌这种方式麻烦,我们可以先定义一个字符串数组,然后用循环依次添加名为数组元素的按钮就可以了。同样地,我们再来定

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值