用java做QQ登錄界面的寫法如下:
創(chuàng)新互聯(lián)建站是一家專注于網(wǎng)站建設、網(wǎng)站設計與策劃設計,下花園網(wǎng)站建設哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設十年,網(wǎng)設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:下花園等地區(qū)。下花園做網(wǎng)站價格咨詢:13518219792
package ch10;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
1、//定義該類繼承自JFrame,實現(xiàn)ActionListener接口
public class LoginTest extends JFrame implements ActionListener
{
2、//創(chuàng)建JPanel對象
private JPanel jp=new JPanel();
3、//創(chuàng)建3個標并加入數(shù)組
JLabel name = new JLabel("請輸入用戶名");
JLabel password = new JLabel("請輸入密碼");
JLabel show = new JLabel("");
private JLabel[] jl={name,password,show};
4、//創(chuàng)建登陸和重置按扭并加入數(shù)組
JButton login = new JButton("登陸");
JButton reset = new JButton("重置");
private JButton[] jb={login,reset};
5、//創(chuàng)建文本框以及密碼框
private JTextField jName=new JTextField();
private JPasswordField jPassword =new JPasswordField();
public LoginTest()
{
6、//設置布局管理器為空布局,這里自己擺放按鈕、標簽和文本框
jp.setLayout(null);
for(int i=0;i2;i++)
{
7、//設置標簽和按扭的位置與大小
jl[i].setBounds(30,20+40*i,180,20);
jb[i].setBounds(30+110*i,100,80,20);
8、//添加標簽和按扭到JPanel容器中
jp.add(jl[i]);
jp.add(jb[i]);
//為2個按鈕注冊動作事件監(jiān)聽器
jb[i].addActionListener(this);
}
9、//設置文本框的位置和大小,注意滿足美觀并足夠用戶名的長度
jName.setBounds(130,15,100,20);
10、//添加文本框到JPanel容器中
jp.add(jName);
11、//為文本框注冊動作事件監(jiān)聽器
jName.addActionListener(this);
12、//設置密碼框的位置和大小,注意滿足美觀和足夠密碼的長度
jPassword.setBounds(130,60,100,20);
13、//添加密碼框到JPanel容器中
jp.add(jPassword);
14、//設置密碼框中的回顯字符,這里設置美元符號
jPassword.setEchoChar('$');
15、//為密碼框注冊動作事件監(jiān)聽器
jPassword.addActionListener(this);
16、//設置用于顯示登陸狀態(tài)的標簽大小位置,并將其添加進JPanel容器
jl[2].setBounds(10,180,270,20);
jp.add(jl[2]);
17、//添加JPanel容器到窗體中
this.add(jp);
18、//設置窗體的標題、位置、大小、可見性及關閉動作
this.setTitle("登陸窗口");
this.setBounds(200,200,270,250);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
19、//實現(xiàn)動作監(jiān)聽器接口中的方法actionPerformed
public void actionPerformed(ActionEvent e)
{
20、//如果事件源為文本框
if(e.getSource()==jName)
{
21、//切換輸入焦點到密碼框
jPassword.requestFocus();
}
22、//如果事件源為重置按扭
else if(e.getSource()==jb[1])
{
23、//清空姓名文本框、密碼框和show標簽中的所有信息
jl[2].setText("");
jName.setText("");
jPassword.setText("");
24、//讓輸入焦點回到文本框
jName.requestFocus();
}
25、//如果事件源為登陸按鈕,則判斷登錄名和密碼是否正確
else
{
26、//判斷用戶名和密碼是否匹配
if(jName.getText().equals("lixiangguo")
String.valueOf(jPassword.getPassword()).equals("19801001"))
{
27、jl[2].setText("登陸成功,歡迎您的到來!");
}
else
{
28、jl[2].setText("對不起,您的用戶名或密碼錯誤!");
}
}
}
public static void main(String[] args)
{
29、//創(chuàng)建LoginTest窗體對象
new LoginTest();
}
}
是javeSE。主要用來編寫一些界面程序,帶窗口的。
ME是專門用來手機開發(fā)的。不過前途不咋滴了。
EE是用來進行企業(yè)級開發(fā)的。多少是BS編程,就是網(wǎng)站類程序。
這3個的基本的java基礎類都是一樣 的。
區(qū)別是:
SE含有SWing等界面類。
ME有很多對手機硬件操作的類。
EE有很多WEB開發(fā)的類。
希望對你有所幫助!o(∩_∩)o 哈哈
package ch10;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
//定義該類繼承自JFrame,實現(xiàn)ActionListener接口
public class LoginTest extends JFrame implements ActionListener
{
//創(chuàng)建JPanel對象
private JPanel jp=new JPanel();
//創(chuàng)建3個標并加入數(shù)組
JLabel name = new JLabel("請輸入用戶名");
JLabel password = new JLabel("請輸入密碼");
JLabel show = new JLabel("");
private JLabel[] jl={name,password,show};
//創(chuàng)建登陸和重置按扭并加入數(shù)組
JButton login = new JButton("登陸");
JButton reset = new JButton("重置");
private JButton[] jb={login,reset};
//創(chuàng)建文本框以及密碼框
private JTextField jName=new JTextField();
private JPasswordField jPassword =new JPasswordField();
public LoginTest()
{
//設置布局管理器為空布局,這里自己擺放按鈕、標簽和文本框
jp.setLayout(null);
for(int i=0;i2;i++)
{
//設置標簽和按扭的位置與大小
jl[i].setBounds(30,20+40*i,180,20);
jb[i].setBounds(30+110*i,100,80,20);
//添加標簽和按扭到JPanel容器中
jp.add(jl[i]);
jp.add(jb[i]);
//為2個按鈕注冊動作事件監(jiān)聽器
jb[i].addActionListener(this);
}
//設置文本框的位置和大小,注意滿足美觀并足夠用戶名的長度
jName.setBounds(130,15,100,20);
//添加文本框到JPanel容器中
jp.add(jName);
//為文本框注冊動作事件監(jiān)聽器
jName.addActionListener(this);
//設置密碼框的位置和大小,注意滿足美觀和足夠密碼的長度
jPassword.setBounds(130,60,100,20);
//添加密碼框到JPanel容器中
jp.add(jPassword);
//設置密碼框中的回顯字符,這里設置美元符號
jPassword.setEchoChar('$');
//為密碼框注冊動作事件監(jiān)聽器
jPassword.addActionListener(this);
//設置用于顯示登陸狀態(tài)的標簽大小位置,并將其添加進JPanel容器
jl[2].setBounds(10,180,270,20);
jp.add(jl[2]);
//添加JPanel容器到窗體中
this.add(jp);
//設置窗體的標題、位置、大小、可見性及關閉動作
this.setTitle("登陸窗口");
this.setBounds(200,200,270,250);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
//實現(xiàn)動作監(jiān)聽器接口中的方法actionPerformed
public void actionPerformed(ActionEvent e)
{
//如果事件源為文本框
if(e.getSource()==jName)
{
//切換輸入焦點到密碼框
jPassword.requestFocus();
}
//如果事件源為重置按扭
else if(e.getSource()==jb[1])
{
//清空姓名文本框、密碼框和show標簽中的所有信息
jl[2].setText("");
jName.setText("");
jPassword.setText("");
//讓輸入焦點回到文本框
jName.requestFocus();
}
//如果事件源為登陸按鈕,則判斷登錄名和密碼是否正確
else
{
//判斷用戶名和密碼是否匹配
if(jName.getText().equals("lixiangguo")
String.valueOf(jPassword.getPassword()).equals("19801001"))
{
jl[2].setText("登陸成功,歡迎您的到來!");
}
else
{
jl[2].setText("對不起,您的用戶名或密碼錯誤!");
}
}
}
public static void main(String[] args)
{
//創(chuàng)建LoginTest窗體對象
new LoginTest();
}
}
這個簡單點的
import java.io.*;
public class QQ_Manager {
private int max_user=1000;
private String[] userID;
private String[] userName;
private String[] userPW;
private String[] userIP;
private int userCounts;
private int userOnline;
private String fileName;
/**構造方法初始化數(shù)據(jù)文件等*/
QQ_Manager(String fileName){this.fileName=fileName;}
/**將現(xiàn)有的QQ用戶和記錄寫入數(shù)據(jù)文件*/
public synchronized void write_userDataFile(String fileName) {
}
/**從數(shù)據(jù)文件中讀取QQ用戶記錄*/
public synchronized void read_userDataFile(String fileName) {
}
/**用戶來注冊新的QQ號*/
public synchronized boolean regist_QQ(String userName,String PW){return false;}
/**QQ用戶登陸處理*/
public synchronized boolean login_QQ(String id,String pw){return true;}
/**QQ用戶離線處理*/
public synchronized boolean logout_QQ(String id, String pw){return false;}
/**返回QQ在線列表*/
public String get_QQList(){return null;}
}
方法/步驟
準備工作
在正式接入之前你需要了解以下名詞的含義:
1. appid?:應用的唯一標識。在OAuth2.0認證過程中,appid的值即為oauth_consumer_key的值。
2. appkey:appid對應的密鑰,訪問用戶資源時用來驗證應用的合法性。在OAuth2.0認證過程中,appkey的值即為oauth_consumer_secret的值。
3. redirecturl:成功授權后的回調(diào)地址,必須是注冊appid時填寫的主域名下的地址,建議設置為網(wǎng)站首頁或網(wǎng)站的用戶中心。注意需要將url進行URLEncode。
4. access token:用來判斷用戶在本網(wǎng)站上的登錄狀態(tài),具有3個月有效期,用戶再次登錄時自動刷新。
5. openid:是此網(wǎng)站上唯一對應用戶身份的標識,網(wǎng)站可將此ID進行存儲便于用戶下次登錄時辨識其身份,或?qū)⑵渑c用戶在網(wǎng)站上的原有帳號進行綁定。
第一步
要接入QQ登錄,必不可少的是appid和appkey,通過申請接入QQ登錄,按照相應步驟操作即可輕松獲得,在此不做贅述。
第二步
在需要放置QQ登錄按鈕的頁面加入下面SCRIPT代碼:
script?type="text/javascript"?src=""?data-appid="APPID"?data-redirecturi="REDIRECTURI"?charset="utf-8"/script
PS:APPID?和?REDIRECTURI?換成第一步申請所得到的對應內(nèi)容,REDIRECTURI?就是登錄之后返回的回調(diào)地址,在申請頁面自己填寫,一般寫網(wǎng)站主域名即可。注意:回調(diào)地址必須以http或https開頭。
第三步
在頁面放置一個元素節(jié)點用來展現(xiàn)登錄按鈕,并且指定其ID,如:
div id="qq"/div
然后在頁面加入如下SCRIPT:
script?type="text/javascript"
QC.Login({
btnId:"qq"????//插入按鈕的節(jié)點id
});
/script
這時就可以在頁面看到如下效果:
如對這個展示效果不滿意,也可以自定義登錄按鈕。
第四步
在 ?REDIRECTURI?即回調(diào)地址頁面加入如下SCRIPT:
script?type="text/javascript"
src=""?charset="utf-8"?data-callback="true"/script
另外:官方說法如果回調(diào)地址頁與加入QQ登錄按鈕是同一個頁面,則只需要引用一次腳本文件。如果理解不了這種官方說法,可以在第一步的腳本中加入data-callback="true"屬性,而忽略第四步,前提是回調(diào)地址頁與加入QQ登錄按鈕的頁面是同一個頁面。
第五步
因為JS SDK封裝了獲取Access Token以及OpenID的方法,因此開發(fā)者不需要用開發(fā)代碼進行獲取,直接調(diào)用QQ登錄OpenAPI即可。
調(diào)用OpenAPI時,請統(tǒng)一遵循下述調(diào)用方式:
QC.api(api,?paras,?fmt,?method)
參數(shù)說明:
最后
提供一種代碼接入思路,僅供參考:
QC.api("get_user_info", {}) //get_user_info是API參數(shù)
//指定接口訪問成功的接收函數(shù),s為成功返回Response對象
?.success(function (s) {
? ? ?//成功回調(diào),通過s.data獲取OpenAPI的返回數(shù)據(jù)
? ? ?nick = s.data.nickname; //獲得昵稱
? ? ?headurl = s.data.figureurl_qq_1; //獲得頭像
? ? ?if (QC.Login.check()) {//判斷是否登錄
? ? ? ? ?QC.Login.getMe(function (openId, accessToken) { //這里可以得到openId和accessToken
? ? ? ? ? ? ?//下面可以調(diào)用自己的保存方法
? ? ? ? ? ? ?……
? ? ? ? ?});
? ? ?}
?})
//指定接口訪問失敗的接收函數(shù),f為失敗返回Response對象
?.error(function (f) {
? ? ?//失敗回調(diào)
? ? ?alert("獲取用戶信息失?。?);
?});
////指定接口完成請求后的接收函數(shù),c為完成請求返回Response對象
//.complete(function (c) {
// ? ?//完成請求回調(diào)
// ? ?alert("獲取用戶信息完成!");
//});
新聞名稱:qq授權登錄java代碼,java 登錄
分享路徑:http://www.muchs.cn/article40/hcpjho.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、定制開發(fā)、企業(yè)網(wǎng)站制作、網(wǎng)頁設計公司、軟件開發(fā)、定制網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)