• java的图形界面初学惯用


    1、单一界面的创建

    public void mainFrame() {
            HashMap<String, Component> views = new HashMap<String, Component>();
            JFrame jf = new JFrame("title"); // 实例化一个JFrame对象
            jf.setSize(500,300); // 设置窗体大小位置
            jf.setLayout(null);//无布局
            jf.setResizable(false);//不可最大小化
            jf.setIconImage(new ImageIcon("image/abc.jpg").getImage());//图标
            // 设置窗体关闭方式
            jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
            jf.setVisible(true); // 使窗体可视
            //窗体居中
            Dimension s = Toolkit.getDefaultToolkit().getScreenSize();
            jf.setLocation((s.width - jf.getWidth()) / 2, (s.height - jf.getHeight()) / 2);
            
            //各种组件和容器
            JPanel panel;
            JLabel label;
            JTextField tfield;
            JButton button;
            JComboBox<String> combox;
            //...
            
            //第一个容器
            panel = new JPanel();
            panel.setBounds(0, 0, 1000, 40);
            //容器内布局
            panel.setLayout(new FlowLayout(FlowLayout.LEFT));
            //容器加到窗体
            jf.add(panel);
            
            //第一个组件JLabel
            label = new JLabel("我是Label");
            //组件加到容器
            panel.add(label);
            //第二个组件JTextField
            tfield = new JTextField(22);
            tfield.setFont(new Font("", 0, 16));
            // tfield.setEditable(false);
            panel.add(tfield);
            //把需要操作的组件加到HashMap<String, Component>,方便调用
            views.put("txt_code", tfield);
            
            //后继增加...
        }

    2、常用操作方法

    字符串常用操作
        length()            //获取字符串的长度
        startsWith(Strings)、endsWith(String s)         //判断字符串的前缀或后缀与已知字符串是否相同前缀
        equals(String s)            //比较两个字符串
        Integer.parseInt(字符串)
        Long.parseLong(字符串)
        Folat.valueOf(字符串).floatValue()
        Double.valueOf(字符串).doubleValue()    //把字符串强制转换
        valueOf(数值)        //将数值转化为字符串
    字符串检索:
        indexOf(Srting s)     //从头开始检索
        indexOf(String s ,int startpoint)     //从startpoint处开始检索,如果没有检索到,将返回-1
    字符串截取:
        substring(int startpoint)     //从startpoint处开始获取
        substring(int start,int end)     //从start到end中间的字符
    替换字符串中的字符:
        replace(char old,char new)         //用new替换old
    分析字符串
        StringTokenizer(String s)     //构造一个分析器,使用默认分隔字符(空格,换行,回车,Tab,进纸符)
        StringTokenizer(String s,String delim)     //delim是自己定义的分隔符
        nextToken()     //逐个获取字符串中的语言符号
        boolean hasMoreTokens()     //只要字符串还有语言符号将返回true,否则返回false
        countTokens()     //得到一共有多少个语言符号
        
    文本框和文本区
    文本框
        TextField() //构造文本框,一个字符长、TextField(int x) 构造文本框,x个字符长
        TextField(String s)     //构造文本框,显示s、setText(String s) 设置文本为s
        getText()         //获取文本
        setEchoChar(char c) //设置显示字符为c
        setEditable(boolean)     //设置文本框是否可以被修改
        addActionListener()     //添加监视器
        removeActionListener()     //移去监视器
    文本区
        TextArea()     //构造文本区
        TextArea(String s)     //构造文本区,显示s
        TextArea(String s,int x,int y) //构造文本区,x行,y列,显示s
        TextArea(int x,int y) //构造文本区,x行,y列
        TextArea(String s,int x,ing y,int scrollbar)
        scrollbar的值是:
        TextArea.SCROLLBARS_BOTH;TextArea.SCROLLBARS_VERTICAL_ONLY
        TextArea.SCROLLBARS_HORIZONTAL_ONLY;TextArea.SCROLLBARS_NONE
        setText(String s)     //设置文本为s;getText() 获取文本
        addTextListener()     //添加监视器;removeTextListener() 移去监视器
        insert(String s,int x)     //在x处插入文本s
        replaceRange(String s,int x,int y)     //用s替换从x到y处的文本
        append(String s)     //在文本的最后追加文本s
        Int getCaretPosition(int n)     //获取文本区中光标的位置
        
    按钮
        Button()     //构造按钮
        Button(String s)     //构造按钮,标签是s
        setLabel(String s) //设置按钮标签是s
        getLabel()     //获取按钮标签
        addActionListener()     //添加监视器
        removeActionListener()     //移去监视器
        
    标签
      Label()     //构造标签
      Label(String s)     //构造标签,显示s
      Label(String s,int x)    //x是对齐方式,取值:Label.LEFT;Label.RIGHT;Label.CENTER
      setText(String s)     //设置文本s
      getText()     //获取文本
      setBackground(Color c)     //设置标签背景颜色
      setForeground(Color c)     //设置字体颜色
    
    选择框
      Checkbox()     //构造选择框
      Checkbox(String s)     //构造选择框,给定标题s
      Checkbox(String s,boolean b)     //b设定初始状态
      Checkbox(String s,boolean b,CheckboxGroup g)     //g设定了所属的组(有了组就成为单选框)
      addItemListener()     //添加监视器
      removeItemListener()     //移去监视器
      getState()     //返回选择框的是否选中状态
      setState(boolean b)     //设置选择框的状态
      getLabel()     //获取选择框的标题
      setLabel(String s)     //设置选择框的标题为s
    
    选择控件
      Choice()     //构造选择控件
      add(String s)     //向选择控件增加一个选项
      addItemListener()     //添加监视器
      removeItemListener()     //移去监视器
      getSelectedIndex()     //返回当前选项的索引
      getSelectedItem()     //返回当前选项的字符串代表
      insert(String s,int n)     //在n处插入选项s
      remove(int n)
      removeAll()
    
    滚动列表
      List()     //构造滚动列表
      List(int n)     //参数n是可见行数
      List(int n,boolean b)     //参数b是设置是否可以多项选择
      add(String s)     //向列表的结尾增加一个选项
      add(String s,int n)     //在n处增加一个选项
      AddActionListener()     //滚动列表添加监视器
      addItemListener()     //滚动列表上的选项添加监视器
      remove(int n)     //删除n初的选项
      remnoveAll()     //删除全部选项
      getSelectedIndex()     //返回当前选项的索引
      getSelectedItem()     //返回当前选项的字符串代表
    
    组件类的一些常用方法
      void setBackground(Color c)     //设置组件背景颜色
      void setForeground(Color c)     //设置组件前景颜色
      void setFonts(Font f)     //设置组件字体
      void setBounds(int x,int y,int w,int h)     //设置坐标,x,y表示在容器中坐标,w,h表示宽和高
      void setLocation(int x,int y)     //移动到x,y 处;void setSize(int w,int h) 设置宽和高
      void setVisible(boolean b)     //设置组建是否可见
      int getBounds().wigth     //获取宽
      int getBounds().height     //获取高
      int getBounds().x     //获取x 坐标;
    
    注意
    1). 要固定JComboBox大小有两个地方需要关注的。
        1、你的JComboBox放的面板的布局是什么类型的布局,如果不是null布局就调整布局来给JComboBox分配合适的大小。
        2、如果你用的是空布局的话,那么用setSize方法 或者 setBounds方法,来改变JComboBox大小setBounds可以改变控件的大小和位置。
    2). Java中setBounds和setSize有什么区别:bounds就是size和location的结合体

    3、有些组件setSize不起作用时,用setPreferredSize,例如button.setPreferredSize(new Dimension(60, 22));

    4、表格一般用模型创建,方便更新管理:

    JTable table;
    DefaultTableModel model = new DefaultTableModel(); //默认模型
    model.setColumnIdentifiers(new Object[] {"a","b","c"}); //表头
    table = new JTable(model);
    JScrollPane scrollPaner = new JScrollPane(table);
    scrollPaner.setBounds(0, 0, 985, 500);
    panel.add(scrollPaner);

    表格数据的清除和更新:

    //获得表格的默认模型
    DefaultTableModel model = (DefaultTableModel) table.getModel();
    // 清空表格
    while (model.getRowCount() > 0) {
         model.removeRow(model.getRowCount() - 1);
     }
    //表格的数据插入
    model.addRow(new Object[] { "a", "b", "c"});
    //通知表格更新
    model.fireTableDataChanged();

    5、消息提示框

        //以下都是一个确定按钮的弹出框
            JOptionPane.showMessageDialog(null, "提示内容");  //蓝色反叹号,标题为“消息”
            JOptionPane.showMessageDialog(null, "内容", "标题", JOptionPane.ERROR_MESSAGE); //错误提示,只要一个按钮
            JOptionPane.showMessageDialog(null, "警告提示框", "标题",JOptionPane.WARNING_MESSAGE); 
            JOptionPane.showMessageDialog(null, "错误提示框", "标题",JOptionPane.ERROR_MESSAGE); 
            JOptionPane.showMessageDialog(null, "最基本提示框", "标题",JOptionPane.PLAIN_MESSAGE);//没有图标
            //以下带有自定义选择按钮的选择提示框,按钮和提示消息均可自定义
            /*showOptionDialog(Component parentComponent, Object message, String title, int optionType, int messageType, Icon icon, Object[] options, Object initialValue);
             * 选择对话框OptionDialog是一个充分由用户自定义的对话框,showOptionDialog是一个8个参数的方法,参数“Object[] options”定义了一个按钮数组集合,
             * 每个按钮对应的返回值是其在数组中的下标,当参数“Object[] options”不空时,参数“int optionType”和“int messageType”作用不大,
             * 参数“Object initialValue”确定了默认选中的按钮。*/
            JOptionPane.showConfirmDialog(null, "询问提示框", "标题",JOptionPane.YES_NO_OPTION); //返回值为0或1
            Object[] options ={ "按钮1", "按钮2" };  //自定义按钮
            JOptionPane.showOptionDialog(null, "询问提示框", "标题",JOptionPane.YES_NO_OPTION,
                    JOptionPane.QUESTION_MESSAGE, null, options, options[0]);  
            //showInoutDialog可以做成带有下拉选择列表或者输入框的提示框,并可以将用户选择或者输入信息返回
            Object[] obj2 ={ "a", "b", "c" };  //下拉内容
            String str = (String) JOptionPane.showInputDialog(null,"请选择", "标题", JOptionPane.PLAIN_MESSAGE, new ImageIcon("图标"), obj2, "b");
            JOptionPane.showInputDialog(null,"请输入:
    ","title",JOptionPane.PLAIN_MESSAGE); 
  • 相关阅读:
    Linux的内存分页管理
    python3将汉字转换为大写拼音首字母
    linux下安装微信小程序开发工具
    有效使用Django的QuerySets
    VsCode快捷键
    js 里面的键盘事件对应的键码
    ubuntu下wps的安装
    mac 安装 python mysqlclient 遇到的问题及解决方法
    微服务初步理解
    有return的情况下try catch finally的执行顺序(最有说服力的总结)
  • 原文地址:https://www.cnblogs.com/zhylioooo/p/7891962.html
Copyright © 2020-2023  润新知