窗口:
继承JFrame
this .setVisible()
setVisible一般放在最后一行,这样前面的操作完后才能显示
流式布局:
面板组件可以设置布局管理方式:布局管理器
FlowLayout:流式布局 也是面板默认布局
把组件放在一排,从左到右排放,一行占满后,重新开一行
面板:在窗口上展示的部分
边界布局:
总共有五个区域,每个区域可以放置一个组件,并且占满整个区域
中间区域是必须的,其他四个区域根据需要
添加组件式,可以绑定组件的位置,如果不限定,默认在中间
//创建面板边界布局的面板
JPanel jPanel=new JPanel(new BorderLayout());
JButton jButton1=new JButton("按钮1");
JButton jButton2=new JButton("按钮2");
JButton jButton3=new JButton("按钮3");
JButton jButton4=new JButton("按钮4");
JButton jButton5=new JButton("按钮5");
//把按钮添加到面板
jPanel.add(jButton1,BorderLayout.NORTH);
jPanel.add(jButton2,BorderLayout.SOUTH);
jPanel.add(jButton3,BorderLayout.WEST);
jPanel.add(jButton4,BorderLayout.EAST);
jPanel.add(jButton5,BorderLayout.CENTER);
网格布局:
网格类似于一个表格,可以设置行数和列数
每个网格中只能放一个组件,占整个区域
从第一行开始放,第一行占满后,开启第二行
标签:
用来放文本,图片等
文本框:
密码文本框:不显示真实的数字或字母,只是黑实心点
事件处理:
对面板上的各种部件,当鼠标点击时需要做出相应的回应,这种交互便是事件处理,当按到相应的部件,做出相应的事件控制是十分有必要的,这样一个程序才能 “活” 起来
事件处理需要监听器,当监听到哪个部件被按到时,执行对应操作
键盘监听事件:
//创建一个文本框的监听器
//Adapter适应器
jTextField.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
//getkeycode得到输入的一个字符,,,getkeycode得到这个字符编码
System.out.println("输入了一次"+e.getKeyChar()+":"+e.getKeyCode());
}
警告窗口:
Button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
//confirm确定 JOptionPane.OK_CANCEL_OPTION添加确定或取消选项,确定返回0,取消返回2
JOptionPane.showConfirmDialog(null,"是否退出?","操作提示",JOptionPane.OK_CANCEL_OPTION);
}
});
jButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
//获得文本框输入的内容
String account=jTextField.getText();
if(account.length()==0){
//警告窗口
//pane窗格 dialog对话 title给警告窗口加标题 给窗口加警告图标JOptionPane.ERROR_MESSAGE
JOptionPane.showMessageDialog(null,"请输入账号","警告",JOptionPane.ERROR_MESSAGE);
return;
}
}
});