• Java-GUI简介(二)


    JOptionPane/对话框

     JOptionPane.showConfirmDialog(位置一般为null,"提示语句","标题"
                                     ,JOptionPane.YES_NO_OPTION/显示哪些按钮);
     //该对话框有返回值,0,1,2...返回值的个数与你设置的按钮个数相同从左往右依次对应0,1,2...

    JPopupMenu/弹窗面板&&JMenuItem/弹窗面板的每一项

     JPopupMenu对象.add(JMenuItem对象);//向弹窗面板中添加面板项
     JPopupMenu对象.addseparator();//面板项中间的间隔
     //鼠标事件中触发、
     if(e.isPopupTrigger()){//是否触发弹窗对象
         JPopupMenu对象.show(e.getComponent()/返回父类控件,x,y);
     }

    JMenuBar/窗口菜单

     this.setJMenuBar(JMenuBar对象);//向窗口中添加该菜单

    JMenu/一级菜单

    JMenuItem/二级菜单

    一、二级菜单通过add()方法添加

     菜单对象.setMnemonic(字符);//添加快捷方式Alt+设置的字符

    鼠标触发

    鼠标点击事件

     GUI对象.addMouseListener(new MouseListener(){
         //MouseEvent e
         //抽象方法有
         //松开Released
         //按下Pressed
         //离开Exited
         //进入Entered
         //点击Clicked
     })

    鼠标点击事件只有五种但是每次只使用一种方法时其他的方法也需要重写,很不方便于是便有了MouseAdapter类该类中实现了所有的MouseListener中的方法,要用的时候只需要重写就行了。

    鼠标移动事件

     GUI对象.addMouseMotionListener(new MouseMotionListener(MouseEvent e){
         //MouseEvent e
         //抽象方法有
         //移动Moved
         //拖拽Dragged
     })

    鼠标滚轮事件

     GUI对象.addMouseMotionListener(new MouseMotionListener(MouseEvent e){
         //MouseEvent e  
         //抽象方法有
         //滚轮触发事件
     })

    对于鼠标点击事件我们可以通过e.getX(),e.getY()获得鼠标的想,y坐标

    对于滚轮来说e.getWheelRotation();正数/上;0/中;负数/下

    键盘监听

     DUI对象.addKeyListener(new KeyListener(){
         //抽象方法有
         //输入一个值
         //键盘松开
         //键盘按下
         int c = e.getKeychar();//获得输入的字符编码
         int co = e.getKeycode();//获得键盘编码
         String str  = keyEvent.getText(co);//把编码转化为字符串
         e.consume();//本次键盘输入无效
     });

    在其类中有编码的常量名如keyEvent.vk...(运用keychar获取值)

    画板

     public void paint(Graphics g){
         super.paint(g);
         g.setColor(Color.颜色单词);//改变颜色
         g.fillRect(x,y,宽,高);//画实心矩形
         g.fillOval(x,y,宽,高);//画实心椭圆,注意椭圆的x,y不是中心点
         g.drawLine(x1,y1,x2,y2);//画直线
         g.drawOval(x,y,宽,高);//画空心椭圆,注意椭圆的x,y不是中心点
     }
     repaint();//自动调用该方法,刷新。一般写现在事件监听的实现方法中
  • 相关阅读:
    equals()与hashCode()方法详解
    Vector、Collections.synchronizedList、CopyOnWriteArrayList
    for循环和迭代器 Iterator对比
    Yii中的Ajax分页和CListview(转)
    PDO基础知识(转)
    mysql中 IS NULL 与 =''有什么区别?
    人生犹如白驹过隙,如何抓住流失于指间的时砂?
    thinkphp5.1安装redis扩展(Ubuntu20.04.1/php7.4.15)
    nginx 启动、停止、重启、查看启动的nginx、关闭所有nginx进程
    python requests下载文件慢
  • 原文地址:https://www.cnblogs.com/-Archenemy-/p/12057774.html
Copyright © 2020-2023  润新知