GUI (图形界面)知识点
一:组件知识点
JTextField: 作用: 定义文本域,只支持单行输入。
使用: 定义文本域: JTextField jtf=new JTextField(20); //20为列数(列:近似平均字符宽度,它与平台有关)
获取值: String jtfText=jtf.getText();
清空文本域 jta.setText("");
JTextArea: 作用: 定义文本区, 支持多行文本的输入,可以包含滚动条。
使用: 定义文本区: JTextArea jta=new JTextArea(20,30);//20为行数,30为列数
获取值: String jtaText=jta.getText();
清空文本区: jta.setText("");
设置值: jta.append(值); //将值追加到文本区,仍保留文本区中的原内容
jta.setText(值); //将值添加到文本区,并覆盖文本区原有内容
JComboBox 作用: 定义下拉列表
使用: 定义下拉列表: JComboBox country=new JComboBox();
设置值: country.addItem("中国");
获取值: String c=(String) country.getSelectedItem();
JCheckBox: 作用: 定义复选框,用于多选项的用户输入。
使用: 定义复选框: JTextBox cbasketball=new JTextBox("篮球");
获取值: 当被选择时 cbasketball.isSelected()==true;
JRadioButton: 作用: 单选按钮
使用: 定义并设置值: JRadioButton man=new JRadioButton("男",true); //默认选择man
JRadioButton woman=new JRadioButton("女");
ButtonGroup bg=new ButtonGroup(); //定义组
bg.add(man);bg.add(woman); //添加到组
JMenu: 作用: 菜单
JMenuItem: 作用: 菜单项
定义: JMenuBar mb=new JMenuBar(); //定义菜单组
JMenu mFile=new JMenu(); //定义菜单
JMenuItem exit=new JMenuItem(); //定义菜单项
mb.add(mFile); //将菜单添加到菜单组
mFile.add(exit); //将菜单项添加到菜单
二:布局管理器知识点:
BorderLayout: 边框布局 将容器分为东南西北中五个区域,每个区域最多添加一个组件。
FlowLayout: 流式布局 将按钮水平放置,直到这一行没有位置,再转向下一行
GirdLayout: 网格布局 将容器分割成一个个网格,每个网格内放置一个组件
JFrame 的缺省布局管理器(即默认的)是 BorderLayout
JPanel 的缺省布局管理器 是 FlowLayout
三:事件
事件源: 可以产生事件的对象(课本上的定义)
可以引导事件发生的按钮或其他组件,比如点某个按钮,窗口就关闭,这个按钮就是事件源(我写的,辅助理解)
事件: 描述事件源改变的对象(课本上的对象)
对事件源进行操作时,事件源的状态就会变化,就会产生一个事件,比如点一下按钮就会产生事件(我写的,辅助理解)
如何定义监听器类:使该类继承监听器接口
例如: public class Demo implement ActionListener{
public void actionPerformed(ActionEvent e){
}
}
Demo将成为可以处理ActionEvent事件的监听器
如何注册监听器:
例如: button.addActionListener(new ActionListener()){
public void actionPerformed(ActionEvent e){
}
}
是否可以注册多个监听器(是):
所有AWT事件源均支持监听器的多点传送模型。 可以将同一事件发送到多个监听器对象。 需要向一个事件源添加多个监听器,
以便使所有注册的监听器都能够对事件源生成的事件作出响应。