电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

java swing 創(chuàng)建一個(gè)簡單的QQ界面教程

瀏覽:180日期:2022-05-26 10:32:44

記錄自己用java swing做的第一個(gè)簡易界面。

LoginAction.java

package com.QQUI0819;import javax.swing.*;import java.awt.event.*;//首先,編寫按鈕?監(jiān)聽器實(shí)現(xiàn)類public class LoginAction implements ActionListener { private int count=0; //當(dāng)前為null,創(chuàng)建后指向界面輸入框 private JTextField ulName; private JTextField ulpass; //創(chuàng)建時(shí),輸入界面類中?輸入框 public LoginAction(JTextField ulName,JTextField ulpass ){ this.ulName=ulName; this.ulpass=ulpass; } //實(shí)現(xiàn)接口中?方法 //當(dāng)勱作發(fā)生時(shí),這個(gè)方法執(zhí)行 public void actionPerformed(ActionEvent e) { //點(diǎn)擊時(shí),就取得界面輸入框?內(nèi)容 //此時(shí)?jtf,指向是界面上那個(gè)輸入框 String u=ulName.getText(); String p=ulName.getText(); System.out.println('賬號輸入的是 '+u); System.out.println('密碼輸入的是 '+p) if(u.equals('csy123') ||(p.equals('456'))){ //如果輸入正確,彈出新界面 JFrame jf=new JFrame(); jf.setTitle('登陸成功'); jf.setSize(300,400); jf.setLocationRelativeTo(null); jf.setVisible(true); } else { //如果輸入正確,彈出新界面 JFrame jf=new JFrame(); jf.setTitle('登陸失敗'); jf.setSize(300,100); JButton b1 = new JButton('登陸失敗,賬號和密碼不匹配'); jf.add(b1); jf.setLocationRelativeTo(null); jf.setVisible(true); } }}

QQ.java

package com.QQUI0819;import java.awt.Color;import java.awt.Container;import java.awt.Cursor;import java.awt.Font;import java.awt.Image;import java.util.ArrayList;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JCheckBox;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPasswordField;import javax.swing.JRootPane;import javax.swing.JTextField;public class QQ extends JFrame{ //用戶名 private JTextField ulName; //密碼 private JPasswordField ulPasswd; //小容器 private JLabel j1; private JLabel j2; private JLabel j3; private JLabel j4; //小按鈕 private JButton b1; //復(fù)選框 private JCheckBox c1; private JCheckBox c2; /** * 初始化QQ登錄頁面 * */ public QQ(){ //設(shè)置登錄窗口標(biāo)題 this.setTitle('QQ登錄'); //去掉窗口的裝飾(邊框) //采用指定的窗口裝飾風(fēng)格 this.getRootPane().setWindowDecorationStyle(JRootPane.NONE); //窗體組件初始化 init(); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //設(shè)置布局為絕對定位 this.setLayout(null); this.setBounds(0, 0, 355, 265); //設(shè)置窗體的圖標(biāo) Image img0 = new ImageIcon('E:藍(lán)杰培訓(xùn)第一周java基礎(chǔ)basicStudysrccomQQUI0819QQlogo.jpg').getImage(); this.setIconImage(img0); //窗體大小不能改變 this.setResizable(false); //居中顯示 this.setLocationRelativeTo(null); //窗體顯示 this.setVisible(true); } /** * 窗體組件初始化 * */ public void init(){ //創(chuàng)建一個(gè)容器,其中的圖片大小和setBounds Container container = this.getContentPane(); j1 = new JLabel(); //設(shè)置背景色 Image img1 = new ImageIcon('E:藍(lán)杰培訓(xùn)第一周java基礎(chǔ)basicStudysrccomQQUI0819QQ.jpg').getImage(); j1.setIcon(new ImageIcon(img1)); j1.setBounds(0, 0, 355, 90); //qq頭像設(shè)定 j2 = new JLabel(); Image img2 = new ImageIcon('E:藍(lán)杰培訓(xùn)第一周java基礎(chǔ)basicStudysrccomQQUI0819QQlogo.jpg').getImage(); j2.setIcon(new ImageIcon(img2)); j2.setBounds(20, 100, 60, 63); //用戶名輸入框 ulName = new JTextField(); ulName.setBounds(100, 100, 150, 20); //注冊賬號 j3 = new JLabel('注冊賬號'); j3.setBounds(260, 100, 70, 20); //密碼輸入框 ulPasswd = new JPasswordField(); ulPasswd.setBounds(100, 130, 150, 20); //找回密碼 j4= new JLabel('找回密碼'); j4.setBounds(260, 130, 70, 20); //記住密碼 c1 = new JCheckBox('記住密碼'); c1.setBounds(105, 155, 80, 15); //自動(dòng)登陸 c2 = new JCheckBox('自動(dòng)登陸'); c2.setBounds(185, 155, 80, 15); //登陸按鈕 b1 = new JButton('登錄'); //設(shè)置字體和顏色和手形指針 b1.setFont(new Font('宋體', Font.PLAIN, 12)); b1.setForeground(Color.black); b1.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); b1.setBounds(20, 200, 300, 20); //給按鈕添加 //所有組件用容器裝載 this.add(j1); this.add(j2); this.add(j3); this.add(j4); this.add(c1); this.add(c2); this.add(b1); //創(chuàng)建監(jiān)聽器對象,?約癰?磁 LoginAction lo=new LoginAction(ulName,ulPasswd); b1.addActionListener(lo); container.add(j1); container.add(ulName); container.add(ulPasswd); } public static void main(String[] args) { new QQ(); }}

效果圖

java swing 創(chuàng)建一個(gè)簡單的QQ界面教程

java swing 創(chuàng)建一個(gè)簡單的QQ界面教程

素材

logo:

java swing 創(chuàng)建一個(gè)簡單的QQ界面教程

QQ logo:

java swing 創(chuàng)建一個(gè)簡單的QQ界面教程

補(bǔ)充知識(shí):創(chuàng)建一個(gè)簡單的Java Swing登入窗口

連接數(shù)據(jù)圖就不弄了,要連接數(shù)據(jù)庫的自行添加

為了方便排版,Layout用SpringLayout類型

1.賬號框采用JTextField 類型

2.密碼框采用JPasswordField類型

兩者的區(qū)別是:

JPasswordField顯示的文本是這樣的:

java swing 創(chuàng)建一個(gè)簡單的QQ界面教程

文本框JTextField顯示的文本是這樣的:

java swing 創(chuàng)建一個(gè)簡單的QQ界面教程

3.建立兩個(gè)JButton,一個(gè)是“登入”按鈕,另一個(gè)是“重置”按鈕

4.建立兩個(gè)Checkbox:一個(gè)是記住密碼,另一個(gè)是隱身登入

5.最后一步加入背景圖

代碼:

package l;import java.awt.BorderLayout;import java.awt.Color;import java.awt.Container;import java.awt.EventQueue;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.border.EmptyBorder;import javax.swing.SpringLayout;import javax.swing.JLabel;import java.awt.Font;import javax.swing.JTextField;import javax.swing.JPasswordField;import javax.swing.ImageIcon;import javax.swing.JButton;import java.awt.event.FocusAdapter;import java.awt.event.FocusEvent;import javax.swing.JLayeredPane;import java.awt.Checkbox;public class Login extends JFrame { private JPanel contentPane; private JTextField textField; private JPasswordField passwordField; public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() {try { Login frame = new Login(); frame.setVisible(true); //窗口可見 frame.setResizable(false); //設(shè)置登入窗口不能調(diào)整大小 ImageIcon img = new ImageIcon('d:/img.jpg');//這是背景圖片 JLabel imgLabel = new JLabel(img);//將背景圖放在標(biāo)簽里。 frame.getLayeredPane().add(imgLabel, new Integer(Integer.MIN_VALUE));imgLabel.setBounds(0,0,img.getIconWidth(), img.getIconHeight()); Container cp=frame.getContentPane(); ((JPanel)cp).setOpaque(false);} catch (Exception e) { e.printStackTrace();} } }); } public Login() { setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100, 100, 450, 300); contentPane = new JPanel(); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); setContentPane(contentPane); SpringLayout sl_contentPane = new SpringLayout(); contentPane.setLayout(sl_contentPane);JLabel lblNewLabel = new JLabel('賬號:'); lblNewLabel.setFont(new Font('黑體', Font.PLAIN, 19)); sl_contentPane.putConstraint(SpringLayout.NORTH, lblNewLabel, 34, SpringLayout.NORTH, contentPane); sl_contentPane.putConstraint(SpringLayout.WEST, lblNewLabel, 41, SpringLayout.WEST, contentPane); contentPane.add(lblNewLabel);JLabel lblNewLabel_1 = new JLabel('密碼:'); lblNewLabel_1.setFont(new Font('黑體', Font.PLAIN, 19)); sl_contentPane.putConstraint(SpringLayout.NORTH, lblNewLabel_1, 29, SpringLayout.SOUTH, lblNewLabel); sl_contentPane.putConstraint(SpringLayout.WEST, lblNewLabel_1, 0, SpringLayout.WEST, lblNewLabel); contentPane.add(lblNewLabel_1);textField = new JTextField(); textField.addFocusListener(new FocusAdapter() { @Override public void focusLost(FocusEvent e) {String temp=textField.getText();if(temp.equals('')) { textField.setForeground(Color.GRAY); //JTextField提示輸入QQ號 textField.setText('請輸入QQ號');} } public void focusGained(FocusEvent e) {String temp=textField.getText();if(temp.equals('請輸入QQ號')) { textField.setText('');} } }); sl_contentPane.putConstraint(SpringLayout.NORTH, textField, 1, SpringLayout.NORTH, lblNewLabel); sl_contentPane.putConstraint(SpringLayout.WEST, textField, 52, SpringLayout.EAST, lblNewLabel); sl_contentPane.putConstraint(SpringLayout.EAST, textField, 196, SpringLayout.EAST, lblNewLabel); contentPane.add(textField); textField.setColumns(10);passwordField = new JPasswordField(); sl_contentPane.putConstraint(SpringLayout.NORTH, passwordField, 26, SpringLayout.SOUTH, textField); sl_contentPane.putConstraint(SpringLayout.WEST, passwordField, 52, SpringLayout.EAST, lblNewLabel_1); sl_contentPane.putConstraint(SpringLayout.SOUTH, passwordField, 48, SpringLayout.SOUTH, textField); sl_contentPane.putConstraint(SpringLayout.EAST, passwordField, 201, SpringLayout.EAST, lblNewLabel_1); contentPane.add(passwordField);JButton btnNewButton = new JButton('登入'); sl_contentPane.putConstraint(SpringLayout.SOUTH, btnNewButton, 65, SpringLayout.SOUTH, passwordField); contentPane.add(btnNewButton);JButton button = new JButton('重置'); sl_contentPane.putConstraint(SpringLayout.NORTH, btnNewButton, 2, SpringLayout.NORTH, button); sl_contentPane.putConstraint(SpringLayout.EAST, btnNewButton, -70, SpringLayout.WEST, button); sl_contentPane.putConstraint(SpringLayout.NORTH, button, 32, SpringLayout.SOUTH, passwordField); sl_contentPane.putConstraint(SpringLayout.WEST, button, 242, SpringLayout.WEST, contentPane); button.setFont(new Font('宋體', Font.PLAIN, 19)); contentPane.add(button);Checkbox checkbox = new Checkbox('記住密碼'); sl_contentPane.putConstraint(SpringLayout.WEST, checkbox, 0, SpringLayout.WEST, textField); sl_contentPane.putConstraint(SpringLayout.SOUTH, checkbox, -6, SpringLayout.NORTH, btnNewButton); contentPane.add(checkbox);Checkbox checkbox_1 = new Checkbox('隱身登入'); sl_contentPane.putConstraint(SpringLayout.WEST, checkbox_1, 35, SpringLayout.EAST, checkbox); sl_contentPane.putConstraint(SpringLayout.SOUTH, checkbox_1, 0, SpringLayout.SOUTH, checkbox); contentPane.add(checkbox_1); }}

運(yùn)行截圖:

java swing 創(chuàng)建一個(gè)簡單的QQ界面教程

以上這篇java swing 創(chuàng)建一個(gè)簡單的QQ界面教程就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: qq
相關(guān)文章:
主站蜘蛛池模板: 大_小鼠elisa试剂盒-植物_人Elisa试剂盒-PCR荧光定量试剂盒-上海一研生物科技有限公司 | 质构仪_鱼糜弹性仪-上海腾拔仪器科技有限公司 | 龙门加工中心-数控龙门加工中心厂家价格-山东海特数控机床有限公司_龙门加工中心-数控龙门加工中心厂家价格-山东海特数控机床有限公司 | 跨境物流_美国卡派_中大件运输_尾程派送_海外仓一件代发 - 广州环至美供应链平台 | 代写标书-专业代做标书-商业计划书代写「深圳卓越创兴公司」 | 磨煤机配件-高铬辊套-高铬衬板-立磨辊套-盐山县宏润电力设备有限公司 | wika威卡压力表-wika压力变送器-德国wika代理-威卡总代-北京博朗宁科技 | 中高频感应加热设备|高频淬火设备|超音频感应加热电源|不锈钢管光亮退火机|真空管烤消设备 - 郑州蓝硕工业炉设备有限公司 | 蓄电池回收,ups电池后备电源回收,铅酸蓄电池回收,机房电源回收-广州益夫铅酸电池回收公司 | 多物理场仿真软件_电磁仿真软件_EDA多物理场仿真软件 - 裕兴木兰 | 交联度测试仪-湿漏电流测试仪-双85恒温恒湿试验箱-常州市科迈实验仪器有限公司 | 无锡网站建设_企业网站定制-网站制作公司-阿凡达网络 | 济南画室培训-美术高考培训-山东艺霖艺术培训画室 | 动物解剖台-成蚊接触筒-标本工具箱-负压实验台-北京哲成科技有限公司 | 万师讲师网-优质讲师培训师供应商,讲师认证,找讲师来万师 | 臭氧老化试验箱,高低温试验箱,恒温恒湿试验箱,防水试验设备-苏州亚诺天下仪器有限公司 | 广东教师资格网-广东教师资格证考试网 | 风信子发稿-专注为企业提供全球新闻稿发布服务 | 广州监控安装公司_远程监控_安防弱电工程_无线wifi覆盖_泉威安防科技 | 安平县鑫川金属丝网制品有限公司,声屏障,高速声屏障,百叶孔声屏障,大弧形声屏障,凹凸穿孔声屏障,铁路声屏障,顶部弧形声屏障,玻璃钢吸音板 | 西门子伺服电机维修,西门子电源模块维修,西门子驱动模块维修-上海渠利 | 水厂自动化|污水处理中控系统|水利信息化|智慧水务|智慧农业-山东德艾自动化科技有限公司 | 上海办公室装修公司_办公室设计_直营办公装修-羚志悦装 | 环氧乙烷灭菌器_压力蒸汽灭菌器_低温等离子过氧化氢灭菌器 _低温蒸汽甲醛灭菌器_清洗工作站_医用干燥柜_灭菌耗材-环氧乙烷灭菌器_脉动真空压力蒸汽灭菌器_低温等离子灭菌设备_河南省三强医疗器械有限责任公司 | 婚博会2024时间表_婚博会门票领取_婚博会地址-婚博会官网 | 昆山新莱洁净应用材料股份有限公司-卫生级蝶阀,无菌取样阀,不锈钢隔膜阀,换向阀,离心泵 | 非标压力容器_碳钢储罐_不锈钢_搪玻璃反应釜厂家-山东首丰智能环保装备有限公司 | 南汇8424西瓜_南汇玉菇甜瓜-南汇水蜜桃价格 | 聚合甘油__盐城市飞龙油脂有限公司 | 金属回收_废铜废铁回收_边角料回收_废不锈钢回收_废旧电缆线回收-广东益夫金属回收公司 | 金属波纹补偿器厂家_不锈钢膨胀节价格_非金属伸缩节定制-庆达补偿器 | 干粉砂浆设备_干混砂浆生产线_腻子粉加工设备_石膏抹灰砂浆生产成套设备厂家_干粉混合设备_砂子烘干机--郑州铭将机械设备有限公司 | 蜜蜂职场文库_职场求职面试实用的范文资料大全 | 山东臭氧发生器,臭氧发生器厂家-山东瑞华环保设备 | 广西正涛环保工程有限公司【官网】| 电气控制系统集成商-PLC控制柜变频控制柜-非标自动化定制-电气控制柜成套-NIDEC CT变频器-威肯自动化控制 | 恒压供水控制柜|无负压|一体化泵站控制柜|PLC远程调试|MCGS触摸屏|自动控制方案-联致自控设备 | 机房监控|动环监控|动力环境监控系统方案产品定制厂家 - 迈世OMARA | 光栅尺厂家_数显表维修-苏州泽升精密机械| 泉州陶瓷pc砖_园林景观砖厂家_石英砖地铺石价格 _福建暴风石英砖 | 东莞市海宝机械有限公司-不锈钢分选机-硅胶橡胶-生活垃圾-涡电流-静电-金属-矿石分选机 |