First JAVA之低仿QQ(呵呵)

此次本人第一次比较认真的写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();

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值