JavaSE高级之GUI编程

时间:2023-03-08 17:27:07

下面主要用到了java中的swing进行界面设计,当然java的GUI不如C#的设计的好看,不过原理还是要会的。

1. GUI Graphical User Interface 用户图形界面

a) 主要包括菜单栏,窗口,工具条,按钮等;

b) Java提供了两个GUI开发的包 java.awt 和 java.swing, java.awt中的Component抽象类是javaGUI中所有类的父类。它规定了所有GUI组件的的的基本特性 j        ava.swing 是在java.awt 的基础上构建起来的,引入了许多新的功能和新的特性

c) GUI组件

i. 基本组件:在其控件中不能容纳其他组件,如按钮,文本框等

ii. 容器:可以在其上面添加其他组件,如窗口,对话框等;

2. Swing容器和组件

a) 创建顶层容器(窗口的实现)------类JFrame的使用

i. 实例:JFrame frame = new JFrame(String title);

ii. setLocation(int x, int y) 设置窗体的显示位置

iii. setSize(int width, int height) 设置窗体的大小

iv. setVisible(Boolean b)  设置窗体是否可见

v. 获得内容面板:Container con=fram.getContentPane();在内容面板上添加组件

b) 基本组件分类

i. 文本输入组件: JTextField---文本框  JPasswordField---密码框   JTextArea---文本域  JLabel---标签

ii. 按钮组件:JButton---普通按钮  JCheckBox---复选框  JRadioButton—单选框  JComboBox –下拉列表框

c) JTextField中常用方法

i. 实例化: JTextField text = new JTextField(int columns);

ii. Public String getText() 获取文本框的内容

iii. Public void setTest(String text)设置文本框的内容

d) JTextArea 中长用方法4

i. 实例化: JTextArea area = new JTextArea(int rows, int columns);

ii. Public String getText() 获取文本域内容

iii. Public void setText(String Text) 设置文本域中的内容

iv. Public void append(String Text)追加内容

            //添加文本域

              JTextArea area = new JTextArea(10,20);

            //设置文本域文字

              area.setText("adfa");

              //追加内容

              area.append("1345");

              area.append("543254");

v.       con.add(area);

e) JCheckBox 复选框

i. 实例化:JCheckBox check = new JCheckBox(String title,Boolean selected);

             //添加复选框

               JCheckBox check = new JCheckBox("男",true);

               con.add(check);   

ii.       con.add(button);

f) JRadioButton 单选框

i. 实例化:JRadioButton radio = new JRadioButton(String titile, Boolean Selected);

g) ButtonGroup按钮组的使用

i. 实例化: ButtonGroup bg = new ButtonGroup();

ii. 把同组的按钮添加在bg中

iii. 再把每个按钮添加在Frame中

               //添加单选按钮组

               ButtonGroup  g = new ButtonGroup();

               JRadioButton radio0 = new JRadioButton("Radio1");

               JRadioButton radio1 = new JRadioButton("Radio2");

               g.add(radio1);

               g.add(radio0);

               con.add(radio1);

               con.add(radio0);

               //添加不同组的单选按钮

               JRadioButton radio3 = new JRadioButton("Radio3");

iv.       con.add(radio3);

h) JComboBox 下拉菜单

i. 实例化:JComboBox cb = new JComboBox(Object[] item);

         con.add(cb);

i) JPanel类是最简单的容器类可容纳各类基本组件,包括其他面板

i. JPanel可以作为面板组件添加至窗体

1. Jframe.getContentPane.add(JPanel p);

2. Jframe.setContentPane(JPanel p);

          //添加面板JPanel

          JPanel p = new JPanel();

          //添加至窗体

          con.add(p);

          //往p上添加内容

3.       p.add(radio3);

4. p = new JPanel(LayoutManager layout);