第十二周课程总结
Posted jay-h
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第十二周课程总结相关的知识,希望对你有一定的参考价值。
第十二周课程总结
登录界面:
package 登录界面; import java.awt.Font; 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 LoginWindows implements ActionListener { JFrame frame;//新建一个窗体对象 JLabel lblUser,lblPsw; JTextField tfUser; JPasswordField pfUser; JButton btnLogin,btnReset; JTextField UserText; JLabel lblResult; JPasswordField PswText; public LoginWindows(){ frame=new JFrame("登录窗口");//新建一个窗体对象 lblUser=new JLabel("用户名"); lblPsw=new JLabel("密码"); tfUser=new JTextField(); pfUser=new JPasswordField(); btnLogin=new JButton("登录"); btnReset=new JButton("重置"); lblResult = new JLabel("用户登录系统");//声明一个标签 UserText=new JTextField(); PswText=new JPasswordField(); Font fnt=new Font("Serief",Font.BOLD,12); frame.setFont(fnt); btnReset.addActionListener(this); //加入按钮监听 btnReset.addActionListener(this); frame.setLayout(null); lblUser.setBounds(10,10,40,30); lblPsw.setBounds(10,50,40,30); tfUser.setBounds(60,10,100,30); pfUser.setBounds(60,50,100,30); btnLogin.setBounds(40,90,60,30); btnReset.setBounds(120,90,60,30); lblResult.setBounds(50,140,200,30); frame.add(lblUser); frame.add(lblPsw); frame.add(tfUser); frame.add(pfUser); frame.add(btnLogin); frame.add(btnReset); frame.add(lblResult); frame.add(btnLogin); frame.add(btnReset); frame.add(UserText); frame.add(PswText); frame.setSize(300,150); //设置窗体大小 frame.setVisible(true); //显示窗体 } public void actionPerformed(ActionEvent arg0) { if(arg0.getSource()==btnLogin){ //判断触发源是否是提交按钮 String tname = UserText.getText(); //得到输入的用户名 //得到输入的密码,此时通过getPassword()方法返回的是字符数组 String tpass = new String(PswText.getPassword()); if(tname.equals("helei")&&tpass.equals("123456")){ lblResult.setText("登录成功,欢迎光临!"); }else{ lblResult.setText("登录失败,用户名或密码错误!"); } } if(arg0.getSource()==btnReset){ //判断触发源是否是提交按钮 UserText.setText(""); //清空文本框内容 PswText.setText(""); //清空密码框内容 lblResult.setText("用户登录系统!"); //恢复标签显示 } } }
package 登录界面; public class text { public static void main(String[] args){ new LoginWindows(); } }
实验结果:
学习总结:
本周主要学习了其他容器和事件处理
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.监听适配器:
监听接口中有很多抽象方法,在实现接口的时候,需要重写所有的方法,但经常只会用到其中的一个或两个,这无疑是一种多余。于是出于简化的目的,每个还有多个方法的的监听器接口都配有一个适配器类,这个类实现了接口中的所有方法,但是每个方法没有做任何事情。通过继承适配器类,重写其中的需要使用的方法,不必重写全部的方法,简单方便。
以上是关于第十二周课程总结的主要内容,如果未能解决你的问题,请参考以下文章