`
where
  • 浏览: 80854 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

从实现QQ登陆浅看swing的应用(希望对大家有帮助)

阅读更多
[size=x-small][/size]

从实现QQ登陆浅看swing的应用
我们先来看这个题目,“实现QQ登陆”,下面我们来依次分析:
1. 首先它首先需要一个登陆框,即一个窗体。为此我们的一般思路是需要做的就是先建一个窗体类,然后再创建一个窗体对象,可在这我们不需要这么做,因为JAVA自带了这么一个窗体类,我们可以直接用这个类创建对象,具体操作为:
//创建一个窗体对象
      JFrame jf = new JFrame();
2. 创建了窗体以后我们下一步需要做的就是为这个窗体设置一个标题,我们既然是模仿QQ做的就把这个标题名定位QQ2012,然后我们还要控制窗体的大小是他大致和QQ的相同。具体操作如下:
            //设置标题
      jf.setTitle("QQ2012");
      //设置窗体的大小
      jf.setSize(200,150);
3. 接下来我们要做的事是:把“注册帐号”“找回密码”“帐号输入框”“密码输入框”“多帐号按钮”“设置按钮”“登录按钮”等等项目有序的放到刚生成的窗体上,而“放上去”这个动作我们需要借助标签来完成,因为我们不能实现在窗体上直接写这些项目,这个过程实际上那个是我们把需要的东西写在标签上,再将标签加在窗体上。具体操作如下:
//创建一个标签类
JLabel label_name = new JLabel("用户名:");
//把标签添加到窗体上去
jf.add(label_name);
//创建一个文本输入框对象
JTextField text_name = new JTextField(10);
//把文本框对象添加到窗体上
jf.add(text_name);
//密码标签
JLabel label_pass = new JLabel("密码:");
//密码输入框
JTextField text_pass = new JTextField(10);
jf.add(label_pass);
jf.add(text_pass);


//创建按钮对象
JButton button_login = new JButton("多帐号");
jf.add(button_login);
JButton button_regist = new JButton("设置");
jf.add(button_regist);
      JButton button_login = new JButton(“登录”)

4. 为了实现是所有的项目在窗体上有条不紊的布局,我们需引入流式布局管理器。在这里我们用FlowLayout的第一种构造方法,即默认居中对齐。具体发方法如下:
//创建流式布局管理器
java.awt.FlowLayout fl = new java.awt.FlowLayout();
//给窗体添加布局管理器
jf.setLayout(fl);
5. 我们还缺一幅图画,放在窗体上半区,需要用到Icon他是一个接口不可以直接用它来创建对象,于是我们用他的子类ImageIcond的第八个构造方法:ImageIcon(URL location) 根据指定的 URL 创建一ImageIcon。具体方法是:ImageIcon icon = new ImageIcon("image/1.jpg");
注释:image/1.jpg是一个相对地址我们StudentManageSys文件夹下建立了一个与src文件夹并列的image文件夹用来存放图片。
相应代码为:
//  根据指定的相对地址创建一个 ImageIcon
ImageIcon icon = new ImageIcon("image/1.jpg");
6. 剩下的就是一些小细节,比如设置点关程序程序直接退出,在最后面加上,显示整个窗体的语句。具体语句如下:
//设置窗体关闭时退出程序
   jf.setDefaultCloseOperation(3);
//设置窗体可见
jf.setVisible(true);
7. 目前QQ登陆界面除了下拉框,其他都实现,整体代码如下:
  

    /**
* 类似QQ登陆界面的实现
*/
/**
* @author where
*
*/
package lainxi;
import javax.swing.*;
public class QQLogin{
public static void main(String[] args){
        //创建一个窗体对象
        JFrame jf = new JFrame();
        //设置标题
        jf.setTitle("QQ2012");
        //设置窗体的大小
        jf.setSize(400,300);
        //设置窗体关闭时退出程序
        jf.setDefaultCloseOperation(3);
            //设置窗体不能改变大小
// jf.setResizable(false);
//创建流式布局管理器
java.awt.FlowLayout fl = new java.awt.FlowLayout();
//给窗体添加布局管理器
jf.setLayout(fl);

//创建图像对象
ImageIcon icon = new ImageIcon("image/2.jpg");
JLabel l = new javax.swing.JLabel(icon);
java.awt.Dimension men = new java.awt.Dimension(400,150);
l.setPreferredSize(men);
jf.add(l);



//创建一个标签类
JLabel label_name = new JLabel("用户名:");
//把标签添加到窗体上去
jf.add(label_name);
//创建一个文本输入框对象
JTextField text_name = new JTextField(10);
//把文本框对象添加到窗体上
jf.add(text_name);
//密码标签
JLabel label_pass = new JLabel("密码:");
//密码输入框
JTextField text_pass = new JTextField(10);
jf.add(label_pass);
jf.add(text_pass);




//创建复选框
JCheckBox box = new JCheckBox("记住密码                                      ");
jf.add(box);
JCheckBox box_1 = new JCheckBox("自动登录                               ");
jf.add(box_1);
//创建按钮对象
JButton button_login = new JButton("登录");
jf.add(button_login);
JButton button_regist = new JButton("注册");
jf.add(button_regist);
JButton button_dzh=new JButton("多帐号");
jf.add(button_dzh);

//设置窗体可见
jf.setVisible(true);
}


}





0
9
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics