第十二周课程总结
用户登录界面
实验代码
package test1;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
public class 图像界面 {
public static void main(String[] args) {
JFrame f=new JFrame("用户登录系统");
f.setLayout(null);
JLabel info=new JLabel();
JButton submit=new JButton("登录");
JButton reset=new JButton("重置");
JLabel namelab=new JLabel("用户名");
JLabel passlab=new JLabel("密码");
JTextField nametext=new JTextField();
JPasswordField passtext=new JPasswordField();
submit.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
if(arg0.getSource()==submit) {
String n=nametext.getText();
String p=new String(passtext.getPassword());
if(n.equals("xutao")&&p.equals("123456")) {
info.setText("登录成功");
}
else if(n.equals("")) {
info.setText("请输入用户名");
}
else if(p.equals("")) {
info.setText("请输入密码");
}
else
info.setText("用户名或密码错误");
}
}
});
reset.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
if(arg0.getSource()==reset) {
nametext.setText("");
passtext.setText("");
info.setText("");
}
}
});
namelab.setBounds(20,20, 40, 40);
passlab.setBounds(20, 80, 40, 40);
nametext.setBounds(80, 20, 240, 40);
passtext.setBounds(80, 80, 240, 40);
submit.setBounds(120, 140, 60, 40);
reset.setBounds(220, 140,60, 40);
info.setBounds(10, 200, 100, 40);
f.add(namelab);
f.add(passlab);
f.add(nametext);
f.add(passtext);
f.add(submit);
f.add(reset);
f.add(info);
f.setSize(400,300);
f.setLocation(450,234);
f.setVisible(true);
}
}
实验结果

学习总结:本周主要学习了其他容器
1.JPanel
可以将多个组件加入到JPanel中以实现复杂的排列,一个界面只可以有一个JFrame窗体组件,但是可以有多个JPanel面板组件,而JPanel上也可以使用FlowLayout,BorderLayout,GridLayout等各种布局管理器,这样可以组合使用,达到较为复杂的布局效果。
2.JSplitPane
JSplitPane用来将窗口分割成两个部分。JSplitPane提供两个常数让你设置到底是要垂直分割还是水平分割。这两个常数分别是:HORIZONTAL_SPIT,VERTICAL_SPLIT
3.JTabbedPane
JTabbedPane创建的选项卡可以通过单击标题或者图标在选项卡之间进行切换。
4.JScrollPane
主要功能是为显示的内容加入水平滚动条。
5.文本组件:
单行文本输入框:JTextField
密码文本输入框:JPasswordField
多文本输入组件:JTextArea
6.窗体事件(WindowListener)常用接口方法voidwindowActivated/windowDeactivated(WindowEvent e) //将窗口变为活动/不活动窗口时触发voidwindowClosed/Closing/Iconified(WindoowEvent e)//当窗口被关闭时/正在关闭/最小化时触发3.监听适配器Adapter:用户继承该类后就可以根据自己的需要来覆写方法,就不需要覆写接口里的所有抽象方法了。4.动作事件及监听处理ActionListener:处理按钮的动作事件,让按钮变得更加有意义。voidactionPerFormed(ActionEvent e)//发生操作时调用
7.监听适配器:
监听接口中有很多抽象方法,在实现接口的时候,需要重写所有的方法,但经常只会用到其中的一个或两个,这无疑是一种多余。于是出于简化的目的,每个还有多个方法的的监听器接口都配有一个适配器类,这个类实现了接口中的所有方法,但是每个方法没有做任何事情。通过继承适配器类,重写其中的需要使用的方法,不必重写全部的方法,简单方便。
浙公网安备 33010602011771号