本文目錄一覽:
用java怎麼實現QQ登錄界面?
用java做QQ登錄界面的寫法如下:
package ch10;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
1、//定義該類繼承自JFrame,實現ActionListener接口
public class LoginTest extends JFrame implements ActionListener
{
2、//創建JPanel對象
private JPanel jp=new JPanel();
3、//創建3個標並加入數組
JLabel name = new JLabel(“請輸入用戶名”);
JLabel password = new JLabel(“請輸入密碼”);
JLabel show = new JLabel(“”);
private JLabel[] jl={name,password,show};
4、//創建登陸和重置按扭並加入數組
JButton login = new JButton(“登陸”);
JButton reset = new JButton(“重置”);
private JButton[] jb={login,reset};
5、//創建文本框以及密碼框
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個按鈕註冊動作事件監聽器
jb[i].addActionListener(this);
}
9、//設置文本框的位置和大小,注意滿足美觀並足夠用戶名的長度
jName.setBounds(130,15,100,20);
10、//添加文本框到JPanel容器中
jp.add(jName);
11、//為文本框註冊動作事件監聽器
jName.addActionListener(this);
12、//設置密碼框的位置和大小,注意滿足美觀和足夠密碼的長度
jPassword.setBounds(130,60,100,20);
13、//添加密碼框到JPanel容器中
jp.add(jPassword);
14、//設置密碼框中的回顯字符,這裡設置美元符號
jPassword.setEchoChar(‘$’);
15、//為密碼框註冊動作事件監聽器
jPassword.addActionListener(this);
16、//設置用於顯示登陸狀態的標籤大小位置,並將其添加進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、//實現動作監聽器接口中的方法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、//創建LoginTest窗體對象
new LoginTest();
}
}
怎麼用java打開qq
java實現簡單QQ登陸界面:
1.生成界面的java代碼
package QQ2014;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class QQ2014 {
//創建登陸界面類
public void showLoginFrame(){
//創建船體對象
JFrame loginFrame=new JFrame();
//設置大小,位置,標題
loginFrame.setSize(300,200);
loginFrame.setTitle(“QQ2014”);
loginFrame.setLocationRelativeTo(null);
//創建流式分布對象
FlowLayout layout=new FlowLayout();
loginFrame.setLayout(layout);
//創建賬戶名,密碼和輸入框
JLabel user_name=new JLabel(“賬號:”);
JLabel user_password=new JLabel(“密碼:”);
JTextField field_name=new JTextField(20);
JPasswordField field_password=new JPasswordField(20);
//創建登陸,重置按鈕
JButton button_reset=new JButton(“重置”);
JButton button_login=new JButton(“登陸”);
//設置窗體可見
loginFrame.setVisible(true);
//創建事件監聽對象
ActionListener action_listener1=new ActionListener(){
public void actionPerformed(ActionEvent e){
String name=field_name.getText();
String password=field_password.getText();
if(“zhaoxin”.equals(name)”123″.equals(password))
{
showIndexFrame();
loginFrame.setDefaultCloseOperation(3);
loginFrame.setVisible(false);
}
else{
System.out.println(“密碼錯誤,重新輸入!”);
}
}
};
ActionListener action_listener2=new ActionListener(){
public void actionPerformed(ActionEvent e){
field_name.setText(“”);
field_password.setText(“”);
}
};
//將文本輸入框,按鈕,事件監聽對象添加
loginFrame.add(user_name);
loginFrame.add(field_name);
loginFrame.add(user_password);
loginFrame.add(field_password);
loginFrame.add(button_reset);
loginFrame.add(button_login);
button_reset.addActionListener(action_listener2);
button_login.addActionListener(action_listener1);
}
public void showIndexFrame(){
//創建窗體對象
JFrame indexFrame=new JFrame();
indexFrame.setSize(200,500);
indexFrame.setTitle(“QQ好友列表”);
indexFrame.setLocationRelativeTo(null);
//設置流式分布對象
FlowLayout layout=new FlowLayout(FlowLayout.CENTER,100,10);
indexFrame.setLayout(layout);
//創建好友按鈕
for(int i=0;i10;i++)
{
JButton button_friend=new JButton(“friend”+i);
//創建動作事件監聽對象
ActionListener action_listener=new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
showChatFrame();
indexFrame.setVisible(false);
indexFrame.setDefaultCloseOperation(3);
}
};
button_friend.addActionListener(action_listener);
indexFrame.add(button_friend);
}
//設置窗體可見
indexFrame.setVisible(true);
}
public void showChatFrame(){
//創建窗體,大小,位置,標題
JFrame chatFrame=new JFrame();
chatFrame.setSize(400,400);
chatFrame.setTitle(“正在聊天中…”);
chatFrame.setLocationRelativeTo(null);
//創建聊天記錄,輸入域
JTextArea area_input=new JTextArea(10,30);
JTextArea area_record=new JTextArea(5,30);
//創建流式分布對象
FlowLayout layout=new FlowLayout(FlowLayout.CENTER,0,10);
chatFrame.setLayout(layout);
//創建發送,關閉按扭
JButton button_send=new JButton(“發送”);
JButton button_close=new JButton(“關閉”);
//創建動作事件監聽對象
ActionListener action_listener1=new ActionListener()
{
public void actionPerformed(ActionEvent e){
area_record.setText(area_record.getText()+”\n”+area_input.getText());
area_input.setText(“”);
}
};
ActionListener action_listener2=new ActionListener()
{
public void actionPerformed(ActionEvent e){
chatFrame.setVisible(false);
chatFrame.setDefaultCloseOperation(3);
}
};
//設置窗體可見
chatFrame.setVisible(true);
//添加按鈕,事件監聽對象
chatFrame.add(area_record);
chatFrame.add(area_input);
chatFrame.add(button_send);
chatFrame.add(button_close);
button_send.addActionListener(action_listener1);
button_close.addActionListener(action_listener2);
}
}
複製代碼
2.java main方法調用
package QQ2014;
public class Test {
public static void main(String[] args){
QQ2014 qq=new QQ2014();
qq.showLoginFrame();
}
}
用JAVA怎麼寫QQ
用java是可以寫出qq的,只不過用java開發c/s的軟件不是java特長的,你要是真的想寫,就寫着練練手吧,最起碼可以鞏固java se上的知識。
具體怎麼寫,給你個大概的思路吧,因為我沒辦法在這個有限的輸入框內把所有的代碼寫完。
【1】先寫出qq的簡單界面
【2】給每個按鈕添加監聽
【3】按鈕事件(方法)定義
【4】連接網絡(socket)
【5】測試
【5】其他功能添加
【6】測試
JAVA版QQ今天還能用嗎?
目前來看的話JAVA版的QQ還是可以用的,不過你需要用那種比較老式的塞班系統手機才能下載安裝使用。
java手機qq如何安裝
qq官網進行下載。首先要確定手機能安裝QQ,java手機qq在瀏覽器中搜索qq官網進行下載,也可在手機自帶的應用商店進行下載。QQ是騰訊公司推出的一款基於互聯網的即時通信平台。支持在線聊天、即時傳送語音、視頻、在線(離線)傳送文件等全方位基礎通信功能,並且整合移動通信手段,可以通過客戶端發送信息給手機用戶,進一步為用戶構建完整,成熟,多元化的平台。
JAVA與QQ網絡通訊實例
準備工作:
兩個QQ(Q號現在好容易申請)
eclipse(支持awt swing 可視化開發的版本為佳)
JDK 以上
JQL 直接從官方那邊下載的不能直接用需要改裝 下載地址:
步驟:
解壓jqgsv beta_src
用eclipse導入目錄jqgsv beta_src下的項目
把jqgsv beta_src目錄下的mons codec jar 和 mons logging jar加到項目屬性里的Librares中
打開 myqq MuiltQQfrendSend 實例代碼都在這裡 可以直接運行用eclipse運行該類 如果登陸失敗 多登陸
幾次就可以了
//登陸代碼
client = new QQClient();
client setConnectionPoolFactory(new PortGateFactory());
QQUser user = new QQUser(你的Q號 你Q號的密碼);
client addQQListener(this);
user setUdp(true);
client setUser(user);
//client setLoginServer( );
client setLoginServer( );
qq服務器地址有多種 你可以選一個填上去 QQ號必須是整型
//發送消息
client sendIM(一個好友的QQ號 Util getBytes(ext));//發送一個普通的消息
好友的QQ號必須是整型
類QQClient主要是執行QQ客戶端的動作 比如 發送消息 添加好友 獲取好友等
//獲取你的Q號下的所有好友信息
GetFriendListReplyPacket gf = (GetFriendListReplyPacket)e getSource();
java util List friends = (java util List) gf friends;
for(int i = ; i friends size() ; i++){
QQFriend qf = (QQFriend)friends get(i);
jTextArea setText(jTextArea getText() + String valueOf(qf qqNum) + \n );
}
if((int)gf position != ){
client getFriendList(gf position);
}else{
jButton setEnabled(true);
jButton setEnabled(true);
}
client getFriendList() //獲取好友列表
這個方法需要配合一個變量position和一個事件才能完成 因為QQ是按多次發送好友列表 position =
表示已到好友列表最後一頁 不需要在getFriendList 當得到好友列表會產生一個事件 事件編號為
GetFriendListReplyPacket 好友類
//事件驅動
jql全部採用事件驅動 實現接口 IQQListener
public void qqEvent(QQEvent e) {//事件監聽器
System out println( 事件ID: + e type);
/* */ switch(e type)
{
/* MISALIGNED */ /* */ default:
break;
/* MISALIGNED */ /* */ case :
/* MISALIGNED */ /* */ processLoginSuccess();//對應的事件處理
/* MISALIGNED */ /* */ break;
/* MISALIGNED */ /* */ case :
/* MISALIGNED */ /* */ processLoginFail();
/* MISALIGNED */ /* */ break;
///* MISALIGNED */ /* */ case :
///* MISALIGNED */ /* */ processLoginUnknownError();
///* MISALIGNED */ /* */ break;
/* MISALIGNED */ /* */ case :
/* MISALIGNED */ /* */ processSendIMSuccess();
/* MISALIGNED */ /* */ break;
/* MISALIGNED */ /* */ case :
/* MISALIGNED */ /* */ processChangeStatusSuccess();
QQ的每次動作都會產生一個事件 每個事件對應一個整數 在類edu tsinghua lumaqq qq events QQEvent有具體描述
lishixinzhi/Article/program/Java/hx/201311/26541
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/179907.html