您的位置:首页 > 编程语言 > Java开发

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();

}


}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: