• Java-GUI简介(一)


    图像界面

    java.awt/抽象窗口工具集

    界面声明:

     JFrame jframe = new JFrame();

    方法:

     jframe.setVisible(true)//窗口显示
     ​
     jframe.setLocation(x轴位置,y轴位置)//定义窗口显示位置
     ​
     jframe.setSize(宽度,高度)//设置窗口的大小
         
     jframe.add()//添加控件或者容器
         
     jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     //点击界面的右上角“X”图标时关闭程序
     //默认为HIDE_ON_CLOSE,隐藏界面
     //该程序不会自动执行
     ​
     jframe.setTitle("界面名字")//设置界面的名字
         
     pack();//打包,让窗口中控件更紧凑
     ​
     jframe.setResizable(falae);//设置让窗口大小不可变
     ​
     jframe.dispose();//关闭当前窗口
     ​
     jframe.setBounds(x,y,宽,高)//设定位置,大小

    布局

    自定义布局

     jframe.setLayout(null);//布局设定为空
     //在自定义布局下的每个控件需要设定大小与摆放位置

    边框布局/BorderLayout

     jframe.setLayout(new BorderLayout());//设定为边框布局管理器
     //该管理器设定布局为5个块东、南、西、北、中
     //需要注意的是北方的布局与南方的布局是独占一行的
     /**边框布局的add()方法*/
     jframe.add(控件,BorLayout.方向名词)

    流式布局/FlowLayout

     jframe.setLayout(new FlowLayout());
     //如同HTML中的浮动
     //浮动布局会随着界面大小变化而变化

    网格布局/GridLayout

     jframe.setLayout(new GridLayout());
     //先满足行数要求,列数自动
     //网格布局中,控件的大小是当前界面大小的平均

    控件及方法

    JButton/按钮

     JButton btn = new JButton("确定");//生成按钮,并定义按钮中的文字

    JPanel/局部容器

    特性默认布局管理为FlowLayout

    JLabel/文字显示

     JLabel jl = new JLabel(显示的文字);

    JTextField/输入框

     JTextField jtf = new JTextField(输入框长度);
     String str = jtf.getText();//获取控件输入的值,返回对象是字符串
     jtf.setText(String str);//向字符串中输入信息
     jtf.setHorizontaAlignment(JTextField.RIGHT);//水平右边开始显示
    jtf.setEditable(false);//设置输入框中数据不可改变

    JComboBox<>/下拉列表,范型

     JComboBox jcb = new JComboBox();
     jcb.addTtem();//添加下拉列表的一项
     jcb.getSelectedItem();
     //获取选择的下拉列表得值
     //返回值为Objecet,需要转型
     jcb.addItemListener(new ItemListener(){//下拉列表独有监视器
         //如果下拉菜单状态改变会触发两次,一次为取消当前对象,依次为选择新对象
         public void itemStatechanged(TtemEvent e){
             if(e.getStatechanged == ItemEvent.SELECTED){}//让其只执行新选择的事件 
         }
     });

    JRadioButton/单选按钮&&ButtonGroup/单选组

     JRadioButton jrb = new JRadioButton(单选按钮名);
     ButtonGroup bg = new ButtonGroup();
     bg.add(jrb);//单选按钮单独new时时单独的,需要通过添加到ButtonGroup中归为一组

    JPasswordField/密码框

     JPasswordField jpf = new JPasswordField(输入框长度);
     String str = new String(jpf.getPassword());
     //获取密码框中的输入
     //因返回类型是char[],在这里我们转化为String类型

    JlistFrame/列表与JScrollpane/滚动条

     JlistFrame<> jf = new JlistFrame<>(E[]);
     //列表中不可以放集合
     jf.setVisibleRowCount(8);//设置默认可见高度
     jf.setFixedcellwidth(int);//设置宽度
     jf.setFixedcellHeight(int);//设置每行高度
     JScrollpane jsc = new JScrollpane(jf);//为列表添加滚动条

    Jlist没有直接向里放如集合对象的方法或者构造器,只有一个setModel方法,但是该方法需要一个ListModel接口的对象

    DefaultListModel是ListModel的实现类,其类似于ArrayList.DefaultListModel的添加addElement();删除removeElement();

    Jtable/表格

     JTable jt = new JTable(表头数组,数据对象数组(二维));

    Container/容器

    类似于JPanel,由于windos的缓冲显示问题,为了集体显示

    弹出框

     JoptionPane.showMessageDialog(1,2,3,4);
     //1.给null表示在屏幕的中间显示
     //2.就是要显示的信息
     //3.标题
     //4.信息前显示的图标样式

    Font/字体

     Font font = new Font(字体,样式,大小);
     JLable的对象.setFont(font);//添加字体样式
     JLable的对象.setForeground(color.颜色单词);//改变字体颜色

    事件监听器

     btn.addActionListenter(new ActionListener(){
         public void actionperformed(ActionEvent e){
             //控件触动时要产生的操作
             e.getActionCommand();//返回事件源的名字
             e.getSource();//返回发出这件事事件源本身,返回类型为Object
         }
     });

    设计界面步骤

    1. 自定义界面类名 extends Frame

    2. 在构造器中书写窗口的属性,jframe.setVisible(true)//窗口显示,必须有

    3. 在其他类中创建你的自定义类

    其他

    1. 在匿名内部类中使用this指代的是匿名内部类,要指代外部类通过,外部类名.this 来改变指向

  • 相关阅读:
    kendoui仪表盘和柱状图 示例
    log4net修改数据库连接字符串和写自定义信息
    为sharepoint的内部页面添加后台代码
    Qt中对QDomDocument和QDomnode的理解
    标准输出中stderr和stdout的区别
    设计一个算法移除字符串中的重复字符,并写出测试用例。
    字符串中单词的逆转,即将单词出现的顺序进行逆转。如将“Today is Friday!”逆转为“Friday! is Today”.
    输入两个很大的正数(用C字符串表示),输出他们的乘积,将设不考虑非法输入。
    微信公众平台的开发过程及其要点
    NR_OPEN 与 NR_FILE 的区别
  • 原文地址:https://www.cnblogs.com/-Archenemy-/p/12047691.html
Copyright © 2020-2023  润新知