1.容器
1.1 JFrame
● 用于创建窗体。
● 常用方法:
setTitle(String s);//设置窗体标题
setSize(int a,int b);//设置窗体大小
setLocation(int a,int b);//固定窗体位置
setLocationRelativeTo(null);//默认水平,垂直居中
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置关闭选项
setResizable(boolean b);//禁止改变窗口大小
setVisible(boolean b);//显示窗口,放在最后
setBackground(Color c);//设置背景颜色
setLayout(LayoutManager l);//根据布局管理器,设置面板布局
add(Component c);//添加组件
dispose();//释放当前窗体
1.2 Jpanel
●提供面板,可添加其他组件,或设置布局。
2.布局管理器
●一般默认为流式布局。
2.1 FlowLayout(流式布局管理器)
●组件按照从左至右、从上至下的顺序添加。
2.2BorderLayout(边界布局)
●共有5个区域,分别为上、下、左、右、中;且中间区域是必不可少的;区域中放入组件,会自动填充与区域大小一致。
●将组件添加至面板的各位置:
jpanel.add(j1,BorderLayout.NORTH);
jPanel.add(j2,BorderLayout.WEST);
jPanel.add(j3,BorderLayout.SOUTH);
jPanel.add(j4,BorderLayout.EAST);
jPanel.add(j5,BorderLayout.CENTER);
2.3GirdLayout(网格布局)
●可指定行列数,当超过指定范围时,保持行不懂,列自动扩充
2.3 Label
●用来识别界面中的组件
2.4 JTextField(单行文本)
●常用方法:
getText();//获得文本框内容
setText();//设置文本框内容
setEditable(boolean b);//是否可以编辑文本框
setColumns(int t);//列数
2.5 JTextArea(多行文本)
●构造函数:
JTextArea();// 创建空的文本域
JTextArea(String text);// 用指定文本初始化文本域框
JTextArea(String text,int rows, int columns);// 创建一个有文本,行数和列数的文本框
●常用方法:
setText(String text); //设置文本框中的文本
String getText();//获得文本域中的文本
void setLineWrap(boolean wrap); //是否自动换行,默认false
//创建滚动面板
JScrollPane jScrollPane=new JScrollPane(jTextArea);
jPanel.add(jScrollPane);//添加至面板
2.6 Button
●常用方法:
setToolTipText(String s);//组件的悬停提示
setEnabled(false);//禁用组件
3.事件处理
●用户与GUI组件进行交互就会发生事件 ,如:点击按钮,会出现功能界面。
●使用监听器(ActionListener)处理
//如:登录按钮
Button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("点击登录按钮");
}
});
4.对话框
●消息对话框
JOptionPane.showMessageDialog();
//五种消息类型
ERROR_MESSAGE 错误消息提示
INFORMATION_MESSAGE 信息提示
WARNING_MESSAGE 警告提示
QUESTION_MESSAGE 问题提示
PLAIN_MESSAGE 简洁提示
●确认对话框
JOptionPane.showConfirmDialog();
//四种消息类型
DEFAULT_OPTION 默认选项
YES_NO_OPTION 是/否选项
YES_NO_CANCEL_OPTION 是/否/取消选项
OK_CANCEL_OPTION 确定/取消
5.内部类
5.1类型
●成员内部类:位于外部类成员位置的 类,可使用外部类中所有的成员变量/成员方法,private也可。
●静态内部类:static修饰,不能使用外部类的非static成员变量和成员方法 ●局部内类:定义在一个方法或者一个作用域里面的类 ●匿名内部类:无名的类
public class Outer {
int n;
public Outer(int n) {
this.n = n;
}
//成员内部类
class Inner{
public void fun(){
System.out.println(n);
}
}
public void fun(){
new Bird();
new Fly(){
@Override
public void fly() {
System.out.println("鸟会飞"+n);
}
};
}
//内部类 只能在本类中使用
class Bird implements Fly{
@Override
public void fly() {
System.out.println("鸟会飞"+n);
}
}
}
5.2特点
● 还是一个独立的类,编译后会成为独立 的.class文件,但前面有外部类的类名和$符号 。
●封装性
●实现多继承