Java實現圖形界面

用java實現以下QQ登錄窗口的具體步驟。

這裏寫圖片描述

使用工具:eclipse

一:QQ登錄界面

需要用到的容器組件:
頂級容器JFrame
標籤組件JLable
輸入框組件JTextField
密碼輸入框JPasswordField
按鈕JButton

以下代碼可連同註釋複製到eclipse中運行,需要先創建同名包和類

package jiemian;

import java.awt.Dimension;
import java.awt.FlowLayout;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

//1.創建名爲Login的類,在該類中創建一個名爲InitUI的方法,圖形界面就在此方法中實現
public class Login {

    public static void main(String[] args) {
        Login log=new Login();
        log.InitUI();
    }
public void InitUI()
{
//1.1創建一個頂級容器,也就是空白窗口,併爲此窗口設置屬性(窗口名稱,大小,顯示位置,關閉設置)

// 用JFrame創建一個名爲frame的頂級容器,需要添加的包名爲javax.swing.JFrame
JFrame frame=new JFrame();
//設置窗口名稱
frame.setTitle("Login");
//設置窗口大小
frame.setSize(540,427);
//設置窗口位於屏幕中央
frame.setLocationRelativeTo(null);
//參數爲3時,表示關閉窗口則程序退出
frame.setDefaultCloseOperation(3);

//1.2設置窗體上組件的佈局,此處使用流式佈局FlowLayout,流式佈局類似於word的佈局
//用FlowLayout創建一個名爲f1的對象,需要添加的包名爲java.awt.FlowLayout,其中LEFT表示左對齊,CENTER表示居中對齊,RIGHT表示右對齊
FlowLayout f1=new FlowLayout(FlowLayout.LEFT);
//frame窗口設置爲f1的流式左對齊
frame.setLayout(f1);

//1.3在窗體上添加圖片,文字

//在添加圖片之前,先把圖片從磁盤中加載到內存中來,使用ImageIcon,需要添加的包名爲javax.swing.ImageIcon,括號中爲圖片路徑,路徑中要使用”/”,不能使用”\”
ImageIcon imag1=new ImageIcon("H:/1.png");
//JLabel可在頂級容器中添加圖片文字,需要添加的包名javax.swing.JLabel,此處將上面加載的圖片創建爲一個JLabel對象
JLabel pic1=new JLabel(imag1);
//將創建的圖片對象添加到 窗口上
frame.add(pic1);


//創建一個空的JLabel,它的長度寬度爲110,30,因爲窗口是流式左對齊,爲了將”賬號”一欄添加在正中間,所以左側由空的JLabel填充
JLabel name1=new JLabel();
//設置空JLabel長度大小,此處不能使用setSize設置大小,setSize只能設置頂級容器大小,此處用setPreferredSize,Dimension給出大小,需要添加的包名爲java.awt.Dimension.
name1.setPreferredSize(new Dimension(110,30));
//將空JLabel添加入窗口
frame.add(name1);

//同上,此處添加的不是空JLabel,而是內容爲“賬號”的JLabel
JLabel name=new JLabel("賬號:");
frame.add(name);

//JTextField在窗口上添加一個可輸入可見文本的文本框,需要添加的包名爲javax.swing.JTextField.
JTextField nametext=new JTextField();
//設置文本框大小
nametext.setPreferredSize(new Dimension(220, 30));
//添加到窗口上
frame.add(nametext);

//同name1
JLabel name2=new JLabel();
name2.setPreferredSize(new Dimension(110,30));
frame.add(name2);

//同name1
JLabel name3=new JLabel();
name3.setPreferredSize(new Dimension(110,30));
frame.add(name3);

//同name
JLabel password=new JLabel("密碼:");
frame.add(password);

//JPasswordField創建一個密碼文本框,裏面輸入的文本是不可見的,其他同nametext
JPasswordField passwordtext=new JPasswordField();
passwordtext.setPreferredSize(new Dimension(220, 30));
frame.add(passwordtext);

//同name1
JLabel name4=new JLabel();
name4.setPreferredSize(new Dimension(110,30));
frame.add(name4);

//同name1
JLabel name5=new JLabel();
name5.setPreferredSize(new Dimension(220,30));
frame.add(name5);

//JButton創建一個可點擊的按鈕,按鈕上可顯示文本圖片
JButton bu=new JButton("登錄");
bu.setPreferredSize(new Dimension(80,30));
frame.add(bu);

//設置窗口可見,此句一定要在窗口屬性設置好了之後才能添加,不然無法正常顯示
frame.setVisible(true);
}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章