First JAVA之低仿QQ(呵呵)
2015-05-29 01:08
423 查看
此次本人第一次比较认真的写JAVA程序,毕竟是第一次可能有很多瑕疵,望多多包涵。。。。。
\\\\\\\\\\\\\\\\\\\\\\\\
好好
此程序实现了基本界面(登录界面,主界面,聊天界面),登录、验证、聊天、退出等几个初级功能。。。。
使用了JFC(Java Fundation Classes基础类)的swing组件:JFrame 1>设置窗口的大小setSize() 2>设置窗口的标题名setTtile() 3>设置窗体关闭时的操作setDefaultCloseOperation()在登录、主界面点击关闭按钮退出程序 4>设置窗体居中显示setLocationRelativeTo(null) 5>线性布局setLayout(new FlowLayout()) 6>设置窗体可见 setVisible(true); 7》添加组件 add() 使用swing的轻量级组件 JLabel,JButton,JTextField(文本框),JTextArea(文本域) JButton: 建立按钮的动作监听器ActionListener listener ActionListener listener = new ActionListener(){ public void actionPerformed(ActionEvent e){ //获取被点击按钮上的标记 String flag = e.getActionCommand(); if(flag.equals("发送")){ //执行发送的操作 String message = textAreaSent.getText(); textAreaShow.append(message+"\n"); textAreaSent.setText(""); }else if(flag.equals("关闭")){ //执行关闭操作 talkFrame.setVisible(false); } } }; 获取文本栏,按钮的信息getText();;;
下面的代码::::
import javax.swing.*;//界面组件包
import java.awt.event.*;//事件包
import java.awt.FlowLayout;
public class QQ{
//全局变量
JTextField fieldName;
JPasswordField fieldPwd;
JFrame loginFrame;
//显示登陆界面的方法 public void showLoginFrame(){ //新建一个窗口 loginFrame = new JFrame(); //设置新建窗口的大小 loginFrame.setSize(300,200); //设置窗口的标题名 loginFrame.setTitle("QQ"); //设置窗体关闭时的操作 loginFrame.setDefaultCloseOperation(3); //设置窗口的位置居中显示 //loginFrame.setLocation(1368/2-150,768/2-100); loginFrame.setLocationRelativeTo(null); //创建线性布局对象--及布局 FlowLayout layout = new FlowLayout(); loginFrame.setLayout(layout); //创建组件对象(文本框、输入框、按钮) JLabel lableName = new JLabel("用户名"); JLabel lablePwd = new JLabel("密 码"); fieldName = new JTextField(18); fieldPwd = new JPasswordField(18); JButton buttonRegiste = new JButton("注册"); JButton buttonLogin = new JButton("登陆"); //将组件添加到窗体容器上 loginFrame.add(lableName); loginFrame.add(fieldName); loginFrame.add(lablePwd); loginFrame.add(fieldPwd); loginFrame.add(buttonRegiste); loginFrame.add(buttonLogin); //创建动作监听器对象 ActionListener listener = new ActionListener(){ //监控按钮被点击的操作 public void actionPerformed(ActionEvent e){ //登陆业务处理 //1.获取用户输入的信息 String name = fieldName.getText(); String pwd = fieldPwd.getText(); //验证信息(判断) if(name.equals(pwd)){//成功去主界面 loginFrame.setVisible(false);//登陆界面消失 showMainFrame(); }else{//失败 提示用户 JOptionPane.showMessageDialog(null,"对不起,登陆失败!"); } } }; //对登陆按钮进行监听 buttonLogin.addActionListener(listener); //设置窗体可见 loginFrame.setVisible(true); } //显示主界面的方法 //JFrame mainFrame = new mainFrame public void showMainFrame(){ //窗体设置代码(新建、大小、标题、位置) JFrame mainFrame = new JFrame(); mainFrame.setSize(300,600); mainFrame.setTitle("主界面"); mainFrame.setLocation(1368/2-50,768/2-200); //创建线性布局对象及其布局 FlowLayout layout = new FlowLayout(1,100,20); mainFrame.setLayout(layout); //监听器对象(匿名内部类) ActionListener listener = new ActionListener(){ public void actionPerformed(ActionEvent e){ //弹出聊天界面 (获取被点击按钮上的文本) showTalkFrame(e.getActionCommand()); } }; //创建好友按钮 for(int i=1;i<=10;i++){ //创建一个图标对象 //ImageIcon icon = new ImageIcon("back.png"); JButton buttonFriend = new JButton("好友"+i); //添加 buttonFriend.addActionListener(listener); mainFrame.add(buttonFriend); } //设置窗体可见 mainFrame.setVisible(true); } //显示聊天主界面 public void showTalkFrame(String friend){ //窗体设置代码(新建、大小、标题、位置) final JFrame talkFrame = new JFrame(); talkFrame.setSize(400,450); talkFrame.setTitle("与"+friend+"正在聊天中..."); talkFrame.setLocation(1368/2-200,768/2-225); //创建线性布局对象及其布局 FlowLayout layout = new FlowLayout(); talkFrame.setLayout(layout); //创建组建对象 final JTextArea textAreaShow = new JTextArea(10,30); final JTextArea textAreaSent = new JTextArea(8,30); JButton buttonSent = new JButton("发送"); JButton buttonExit = new JButton("关闭"); ActionListener listener = new ActionListener(){ public void actionPerformed(ActionEvent e){ //获取被点击按钮上的标记 String flag = e.getActionCommand(); if(flag.equals("发送")){ //执行发送的操作 String message = textAreaSent.getText(); textAreaShow.append(message+"\n"); textAreaSent.setText(""); }else if(flag.equals("关闭")){ //执行关闭操作 talkFrame.setVisible(false); } } }; buttonSent.addActionListener(listener); buttonExit.addActionListener(listener); //添加组件 talkFrame.add(textAreaShow); talkFrame.add(textAreaSent); talkFrame.add(buttonExit); talkFrame.add(buttonSent); //设置窗口可见 talkFrame.setVisible(true); } //主方法 public static void main (String[] args){ //新建qq对象 QQ qq = new QQ(); //调用显示登陆界面方法 qq.showLoginFrame(); }
}
相关文章推荐
- JavaSE学习总结第21天_IO流3
- Java daemon thread 守护线程
- JavaSE学习总结第20天_IO流2
- Java注解总结
- java多线程(二):线程的实现
- springmvc4
- Spring使用Cache、整合Ehcache
- Spring Integration
- SpringMVC 实现Excel导入
- org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowed in r...
- struts2 修改action的后缀
- OpenSessionInViewFilter与org.springframework.dao.InvalidDataAccessApiUsageException
- struts2处理.do后缀的请求
- struts2,登录功能模块实现
- JAVA获取当前日期以及将字符串转成指定格式的日期
- Java过滤器与SpringMVC拦截器之间的关系与区别
- SpringMVC中使用Interceptor拦截器
- 25个值得推荐的Ecplise插件大全以及安装方法(-)
- Spring Integration
- SpringMVC中通过@ResponseBody返回对象,Js中调用@ResponseBody返回值,统计剩余评论字数的js,@RequestParam默认值,@PathVariable的用法