zoukankan      html  css  js  c++  java
  • java GUI (课堂笔记)

    关于java GUI

    Swing组件:

    JFrame  窗口组件

    JLabel  标签

    JButton 按钮组件

    JTextField 单行文本框

    系统控件(JDK自带)

    自定义控件(模仿系统控件):

    继承  JComenemt;

    复写paint();方法

    repaint();重新调用方法

    接下来是我的作业。

    作业一: 设置一个可以不断变化产生随机数的工具,需要有一个按钮暂停或者开始。

    import java.awt.event.*;
    import javax.swing.*;
    
    //产生随机数
    @SuppressWarnings("serial")
    public class Dome extends JFrame{
      int a = 0,b = 0;
      public Dome(){
    
        this.setLayout(null);
    
        JLabel jlabel3 = new JLabel();                  //创建一个文本窗口
        jlabel3.setBounds(125,100,50,30);            //固定位置
        this.add(jlabel3);                        //将其填入对话框
    
        this.setTitle("0~99999随机");              //设置标题
        this.setBounds(0,0,300,300);              //设置对话框大小
        this.setVisible(true);                      //对话框可视
        while(true){                          //循环监听按钮
          JButton jbutton = new JButton();
          jbutton.setText("开始/停止");
          jbutton.setBounds(100,150,100,30);
          jbutton.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
              b = b+1;
            }
          });
          this.add(jbutton);
          while(b%2==0){                      //循环生成随机数
            a = (int)(Math.random()*99999);
            jlabel3.setText(""+a);
          }
        }
      }
      public static void main(String[] args) {
        new Dome();                          //调用构造器
    
      }
    
    }

    完成后效果图:这个按钮可以操控开始和暂停。

    作业二:做一个登录框

    import javax.swing.*;
    
    //登录界面
    @SuppressWarnings("serial")
    public class Dome extends JFrame{
      public Dome(){
    
        this.setLayout(null);
    
    
        //设置首行文字
        JLabel jlabel1 = new JLabel();
    
        jlabel1.setText("登录界面");
        jlabel1.setBounds(10,0,200,40);
        this.add(jlabel1);
    
    
        //显示账号
        JLabel jlabel2 = new JLabel();
        jlabel2.setText("账号:");
        jlabel2.setBounds(60,60,50,20);
        this.add(jlabel2);
    
    
        //显示密码
        JLabel jlabel3 = new JLabel();
        jlabel3.setText("密码:");
        jlabel3.setBounds(60,100,50,20);
        this.add(jlabel3);
    
    
        //创建输入账号的文本框
        JTextArea jtext1 = new JTextArea();
        jtext1.setText("请输入账号");
        jtext1.setBounds(110,60,200,20);
        this.add(jtext1);
    
    
        //创建输入密码的密码框
        JPasswordField jtext2 = new JPasswordField();
        jtext2.setBounds(110,100,200,20);
        this.add(jtext2);
    
    
        //设置登录按钮
        JButton jbutton = new JButton();
        jbutton.setText("安全登录");
        jbutton.setBounds(110,160,200,30);
        this.add(jbutton);
    
    
        //设置窗口标题以及大小
        this.setTitle("登录界面");
        this.setBounds(0,0,445,340);
        this.setVisible(true);
      }
      public static void main(String[] args) {
        new Dome();
      }
    }

     完成后效果图:这个登陆框目前没有实现登录功能,不过要实现也很简单,监听按钮,按钮被触发可以读取上面输入的内容,然后再将内容对比你设置的用户名和密码。

    如果相同显示登录成功,如果不同提示账号或者密码错误。

    作业三 :做个记事本

    import java.awt.event.*;
    import javax.swing.*;
    
    @SuppressWarnings("serial")
    public class Dome extends JFrame{
      public Dome(){
    
        this.setLayout(null);
    
        JTextArea jtext1 = new JTextArea();
        jtext1.setBounds(0,0,400,400);
        jtext1.setLineWrap(true);
        this.add(jtext1);
    
        //主菜单栏
        JMenuBar menuBar = new JMenuBar(); 
        JMenu menu1 = new JMenu("文件"); 
        JMenu menu2 = new JMenu("编辑"); 
        JMenu menu3 = new JMenu("格式"); 
        JMenu menu4 = new JMenu("查看"); 
        JMenu menu5 = new JMenu("帮助"); 
        setJMenuBar(menuBar); 
        menuBar.add(menu1); 
        menuBar.add(menu2); 
        menuBar.add(menu3); 
        menuBar.add(menu4); 
        menuBar.add(menu5); 
    
        //文件二级菜单
        JMenuItem menu11 = new JMenuItem("新建"); 
        JMenuItem menu12 = new JMenuItem("打开"); 
        JMenuItem menu13 = new JMenuItem("保存"); 
        JMenuItem menu14 = new JMenuItem("另存为"); 
        JMenuItem menu15 = new JMenuItem("退出"); 
        menu1.add(menu11); 
        menu1.add(menu12); 
        menu1.add(menu13); 
        menu1.add(menu14); 
        menu1.addSeparator(); 
        menu1.addSeparator(); 
        menu1.add(menu15); 
    
        //编辑二级菜单
        JMenuItem menu21 = new JMenuItem("撤销"); 
        JMenuItem menu22 = new JMenuItem("剪贴"); 
        JMenuItem menu23 = new JMenuItem("复制"); 
        JMenuItem menu24 = new JMenuItem("粘贴"); 
        JMenuItem menu25 = new JMenuItem("删除"); 
        JMenuItem menu26 = new JMenuItem("全选"); 
        menu2.add(menu21); 
        menu2.addSeparator(); 
        menu2.add(menu22); 
        menu2.add(menu23); 
        menu2.add(menu24); 
        menu2.add(menu25); 
        menu2.addSeparator(); 
        menu2.addSeparator(); 
        menu2.add(menu26);
    
        //格式 二级菜单
        JMenuItem menu31 = new JMenuItem("自动换行"); 
        JMenuItem menu32 = new JMenuItem("字体"); 
        menu3.add(menu31); 
        menu3.add(menu32); 
    
        //查看二级菜单
        JMenuItem menu41=new JMenuItem("状态栏"); 
        menu4.add(menu41); 
    
        //帮助 
        JMenuItem menu51 = new JMenuItem("查看帮助"); 
        JMenuItem menu52 = new JMenuItem("关于记事本"); 
        menu5.add(menu51); 
        menu5.addSeparator();
        menu5.add(menu52); 
    
        this.setTitle("记事本");
        this.setBounds(0,0,400,400);
        this.setVisible(true);
      }
    
      public static void main(String[] args) {
        new Dome();
    
      }
    
    }

    这个记事本的具体功能还没有要求实现,也就是说目前除了编辑什么都做不了,其实实现也不难,就是将这些按钮都监视一下,点击时触发的事情自己设置就好。

    完成后的效果图:

  • 相关阅读:
    Mycat 注解说明
    Mycat 读写分离详解
    Mycat 常用管理命令说明
    Mycat 分片规则详解--数据迁移及节点扩容
    Mycat 分片规则详解--一致性hash分片
    Mycat 分片规则详解--日期范围 hash 分片
    Mycat 分片规则详解--自然月分片
    Mycat 分片规则详解--单月小时分片
    Mycat 分片规则详解--日期(天)分片
    Mycat 分片规则详解--应用指定分片
  • 原文地址:https://www.cnblogs.com/qihongbao/p/6834256.html
Copyright © 2011-2022 走看看