zoukankan      html  css  js  c++  java
  • 软帝学院教你用Java实现写字板功能!

    Java实现写字板功能!

    import java.awt.Color;

    import java.awt.Container;

    import java.awt.FlowLayout;

    import java.awt.Graphics;

    import java.awt.event.MouseEvent;

    import java.awt.event.MouseListener;

    import java.awt.event.MouseMotionAdapter;

    import javax.swing.ButtonGroup;

    import javax.swing.JButton;

    import javax.swing.JFrame;

    import javax.swing.JRadioButton;

    public class TestEventMouse extends JFrame{  

    Container contentPanel; //内容格引用

    JButton a1,a2,a3,a4,a5;//按钮

    JRadioButton backGroundRadio,foreGroundRadio;  //定义两个单选框

    ButtonGroup radioGroup;  //单选按钮组

    int xValue,yValue;  //保留鼠标位置(x,y

    JFrame jf=this;

    public TestEventMouse(){ //构造函数

    super("写字板");

    a1=new JButton("Black");//实现五个按钮

    a2=new JButton("Blue");

    a3=new JButton("Red");

    a4=new JButton("White");

    a5=new JButton("Yellow");

    contentPanel=this.getContentPane();//获取内容格

    contentPanel.setLayout(new FlowLayout());//设置内容格的布局管理器

    backGroundRadio=new JRadioButton("backGround"); //实例化复选框

    foreGroundRadio=new JRadioButton("foreGround");

    contentPanel.add(backGroundRadio);//添加到内容格里面去

    contentPanel.add(foreGroundRadio);

    contentPanel.add(a1);//添加按钮

    contentPanel.add(a2);

    contentPanel.add(a3);

    contentPanel.add(a4);

    contentPanel.add(a5);

    MouseListenerHandler mou=new MouseListenerHandler(); //实现一个事件监听类

    a1.addMouseListener(mou); //注册为五个按钮的监听者

    a2.addMouseListener(mou);

    a3.addMouseListener(mou);

    a4.addMouseListener(mou);

    a5.addMouseListener(mou);

    radioGroup=new ButtonGroup(); //实例单选按钮组

    radioGroup.add(backGroundRadio);//将两个radio按钮构成一个组

    radioGroup.add(foreGroundRadio);

    addMouseMotionListener(  //匿名类

    new MouseMotionAdapter(){  //因为是当前一个对象调用,所以搞了个适配器玩玩

    public void mouseDragged(MouseEvent e){

    xValue=e.getX();

    yValue=e.getY();

    repaint();  //调用paint()方法

    }

    }

    );

    setSize(500,500);  

    setVisible(true);  //设置可见

    }

    public class MouseListenerHandler implements MouseListener{  //鼠标事件监听类

    public void mousePressed(MouseEvent e){

    if(e.getSource()==a1){   //getSouce()获取对象

    if(backGroundRadio.isSelected())

    contentPanel.setBackground(Color.BLACK);//用内容格来设置背景色

    else                                

    jf.setForeground(Color.BLACK);   //Frame框架来设置前景色

    }

    if(e.getSource()==a2){

    if(backGroundRadio.isSelected())

    contentPanel.setBackground(Color.BLUE);

    else

    jf.setForeground(Color.BLUE);

    }

    if(e.getSource()==a3){

    if(backGroundRadio.isSelected())

    contentPanel.setBackground(Color.RED);

    else

    jf.setForeground(Color.RED);

    }

    if(e.getSource()==a4){

    if(backGroundRadio.isSelected())

    contentPanel.setBackground(Color.WHITE);

    else

    jf.setForeground(Color.WHITE);

    }

    if(e.getSource()==a5){

    if(backGroundRadio.isSelected())

    contentPanel.setBackground(Color.YELLOW);

    else

    jf.setForeground(Color.YELLOW);

    }

    }

    public void mouseClicked(MouseEvent e) {

    }

    public void mouseEntered(MouseEvent e) {

    }

    public void mouseExited(MouseEvent e) {

    }

    public void mouseReleased(MouseEvent e) {

    }

    }

    public void paint(Graphics g){

    g.fillOval(xValue, yValue, 4, 4);

    }

    public static void main(String args[]){

    new TestEventMouse();

    }

    }

  • 相关阅读:
    SAS数据集推送到sql server 数据库 实现代码段
    windows server 2008通过任务计划程序定时访问网站
    把SAS批提交添加到鼠标右键
    SAS 报表输出一些新式控制
    iis ajax post 跨域问题解决
    sas infile 控制导入长度
    SAS infile 导入txt示例
    sas 批量处理缺少缺失值
    vue $router $route
    jsonp使用post方法
  • 原文地址:https://www.cnblogs.com/heqingxiaohuo/p/12316979.html
Copyright © 2011-2022 走看看