(一)实现画图程序所需要的APT类:

import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Graphics;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.text.AbstractDocument.Content;

/**
 * 定义一个画图界面类,该类继承自JFrame窗体类.
 */
public class DrawFrame extends JFrame {

    /**
     * 程序入口主函数
     */
    public static void main(String[] args) {
        // 实例化窗体类的对象,调用初始化界面的方法
        DrawFrame dl = new DrawFrame();
        dl.initUN();
        // dl.setBackground(Color.WHITE);这个是错误的不能改变窗体的颜色。

    }

    public void initUN() {
        setTitle("简单画图");
        setSize(600, 500);
        setDefaultCloseOperation(3);
        setLocationRelativeTo(null);
        setLayout(new FlowLayout());
        JButton butLine = new JButton("直线");
        this.add(butLine);
        JButton butSquare = new JButton("矩形");
        add(butSquare);
        JButton butRotundity = new JButton("圆");
        add(butRotundity);
        JButton butS = new JButton("任意多边形");
        add(butS);
        JButton but = new JButton("画笔");
        add(but);
        JButton butt = new JButton("刷子");
        add(butt);
        JButton but1 = new JButton("橡皮擦");
        add(but1);
        JButton but2 = new JButton("喷枪");
        add(but2);
        getContentPane().setBackground(Color.WHITE);//getContenPane为 改变窗口的颜色。

        /**
         * //实例化一个流失布局类的对象,布局类是针对容器的,容器上要填多个组件,那么必须要设置排列对齐方式;
         * java.awt.FlowLayout fl=new java.awt.FlowLayout();
         * jf.setLayout(fl);//设置窗体的布局方式为流式布局 //定义一个ImageIcon类,该类用来读取一个磁盘的图片文文件。
         */

        setVisible(true);

        Graphics g = getGraphics();// 获取窗体上画笔画布对象(注意:必须要在窗体可见之后才能获取画笔画布对象,否则获取的是null)

        // 4.在DrawFrame类中实例化LoginListener事件处理类的对象dn;
        LoginListener dn = new LoginListener();
        addMouseListener(dn);// 5.给事件源窗体对象添加addMouseListener()鼠标监听方法,指定事件处理类对象dl.
        addMouseMotionListener(dn);
        butLine.addActionListener(dn);// 要加监听方法才能获取数值。
        butSquare.addActionListener(dn);// 要加监听方法才能获取数值。
        butRotundity.addActionListener(dn);// 要加监听方法才能获取数值。
        butS.addActionListener(dn);// 要加监听方法才能获取数值。
        but1.addActionListener(dn);

        but.addActionListener(dn);
        butt.addActionListener(dn);
        but2.addActionListener(dn);

        dn.SetG(g);

        // dl.SetJ(butS);
        // dl.SetJ(butRotundity);
        // dl.SetJ(butSquare);
        // dl.SetJ(butLine);

    }

}
DrawFrame.java

相关文章:

  • 2021-12-06
  • 2022-02-08
  • 2022-01-03
  • 2022-12-23
  • 2022-01-01
  • 2021-12-25
  • 2021-12-02
  • 2021-12-03
猜你喜欢
  • 2021-08-20
  • 2021-05-13
  • 2022-12-23
  • 2021-11-05
  • 2021-07-07
  • 2022-02-11
  • 2021-12-26
相关资源
相似解决方案