Java Swing 版 QQ
public class LoginFrame extends MyJCFrame {
private static final long serialVersionUID = 1L;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
LoginFrame frame = new LoginFrame();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public LoginFrame() {
initComponents();
initAction();
}
private void initComponents(){
setTitle("JQ2011");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 338, 260);
conterWindows(WindowsLocation.CENTER);
setDefaultBackgroundImage(true);
setResizable(false);
setAlwaysOnTop(true);
contentPane.setBackground(new Color(255,255,255,0));
setContentPane(contentPane);
GridBagLayout gbl_contentPane = new GridBagLayout();
gbl_contentPane.columnWidths = new int[]{0, 0};
gbl_contentPane.rowHeights = new int[]{92, 0, 32, 0};
gbl_contentPane.columnWeights = new double[]{1.0, Double.MIN_VALUE};
gbl_contentPane.rowWeights = new double[]{0.0, 1.0, 0.0, Double.MIN_VALUE};
contentPane.setLayout(gbl_contentPane);
{
topImagePanel = new JImagePane();
topImagePanel.setBackground(new Color(255,255,255));
topImagePanel.setImage(Toolkit.getDefaultToolkit().getImage(IMconst.IMAGE_DIR + "/QQ.png"));
GridBagConstraints gbc_topImagePanel = new GridBagConstraints();
gbc_topImagePanel.insets = new Insets(0, 0, 0, 0);
gbc_topImagePanel.fill = GridBagConstraints.BOTH;
gbc_topImagePanel.gridx = 0;
gbc_topImagePanel.gridy = 0;
contentPane.add(topImagePanel, gbc_topImagePanel);
}
{
centerImagePanel = new JImagePane();
GridBagConstraints gbc_centerImagePanel = new GridBagConstraints();
gbc_centerImagePanel.insets = new Insets(0, 0, 0, 0);
gbc_centerImagePanel.fill = GridBagConstraints.BOTH;
gbc_centerImagePanel.gridx = 0;
gbc_centerImagePanel.gridy = 1;
contentPane.add(centerImagePanel, gbc_centerImagePanel);
{
GridBagLayout gbl_centerImagePanel = new GridBagLayout();
gbl_centerImagePanel.columnWidths = new int[]{108, 182, 0};
gbl_centerImagePanel.rowHeights = new int[]{36, 0};
gbl_centerImagePanel.columnWeights = new double[]{0.0, 1.0, Double.MIN_VALUE};
gbl_centerImagePanel.rowWeights = new double[]{1.0, Double.MIN_VALUE};
centerImagePanel.setLayout(gbl_centerImagePanel);
{
avatarImagePanel = new JImagePane();
avatarImagePanel.setImage(Toolkit.getDefaultToolkit().getImage(IMconst.IMAGE_DIR + "/QQ_LOGO.png"));
GridBagConstraints gbc_avatarImagePanel = new GridBagConstraints();
gbc_avatarImagePanel.insets = new Insets(0, 0, 0, 5);
gbc_avatarImagePanel.fill = GridBagConstraints.BOTH;
gbc_avatarImagePanel.gridx = 0;
gbc_avatarImagePanel.gridy = 0;
centerImagePanel.add(avatarImagePanel, gbc_avatarImagePanel);
}
{
panel = new JPanel();
GridBagConstraints gbc_panel = new GridBagConstraints();
gbc_panel.fill = GridBagConstraints.BOTH;
gbc_panel.gridx = 1;
gbc_panel.gridy = 0;
centerImagePanel.add(panel, gbc_panel);
{
GridBagLayout gbl_panel = new GridBagLayout();
gbl_panel.columnWidths = new int[]{180, 39, 0};
gbl_panel.rowHeights = new int[]{42, 29, 0, 0};
gbl_panel.columnWeights = new double[]{1.0, 0.0, Double.MIN_VALUE};
gbl_panel.rowWeights = new double[]{0.0, 0.0, 1.0, Double.MIN_VALUE};
panel.setLayout(gbl_panel);
{
nameInput = new JCComboBox();
nameInput.setEditable(true);
nameInput.setPreferredSize(new Dimension(180, 28));
nameInput.setModel(new DefaultComboBoxModel(new String[] {"死腾讯-你妹", "死马化腾-你妹", "\u7535\u89C6\u5267\u5076\u5BB6\u5EA6\u641C", "\u4E0A\u5927\u6982\u591A\u5C11"}));
nameInput.setSelectedIndex(1);
GridBagConstraints gbc_nameInput = new GridBagConstraints();
gbc_nameInput.anchor = GridBagConstraints.SOUTHWEST;
gbc_nameInput.insets = new Insets(0, 0, 5, 5);
gbc_nameInput.gridx = 0;
gbc_nameInput.gridy = 0;
panel.add(nameInput, gbc_nameInput);
}
{
registerLabel = new JCLabel("注册");
registerLabel.setCursor(new Cursor(Cursor.HAND_CURSOR));
registerLabel.setForeground(new Color(22, 112, 235));
GridBagConstraints gbc_registerLabel = new GridBagConstraints();
gbc_registerLabel.anchor = GridBagConstraints.WEST;
gbc_registerLabel.insets = new Insets(5, 0, 5, 0);
gbc_registerLabel.gridx = 1;
gbc_registerLabel.gridy = 0;
panel.add(registerLabel, gbc_registerLabel);
}
{
pwdInput = new JCLimitedPassword(20);
pwdInput.setPreferredSize(nameInput.getPreferredSize());
GridBagConstraints gbc_pwdInput = new GridBagConstraints();//54,97,138
gbc_pwdInput.anchor = GridBagConstraints.WEST;
gbc_pwdInput.insets = new Insets(0, 0, 0, 5);
gbc_pwdInput.gridx = 0;
gbc_pwdInput.gridy = 1;
pwdInput.setText("0000");
panel.add(pwdInput, gbc_pwdInput);
}
{
retrieveLabel = new JCLabel("找回");
retrieveLabel.setCursor(new Cursor(Cursor.HAND_CURSOR));
retrieveLabel.setForeground(registerLabel.getForeground());
GridBagConstraints gbc_retrieveLabel = new GridBagConstraints();
gbc_retrieveLabel.anchor = GridBagConstraints.WEST;
gbc_retrieveLabel.insets = new Insets(5, 0, 5, 0);
gbc_retrieveLabel.gridx = 1;
gbc_retrieveLabel.gridy = 1;
panel.add(retrieveLabel, gbc_retrieveLabel);
}
{
panel_1 = new JPanel();
FlowLayout flowLayout_1 = (FlowLayout) panel_1.getLayout();
flowLayout_1.setAlignment(FlowLayout.LEFT);
GridBagConstraints gbc_panel_1 = new GridBagConstraints();
gbc_panel_1.gridwidth = 2;
gbc_panel_1.fill = GridBagConstraints.HORIZONTAL;
gbc_panel_1.gridx = 0;
gbc_panel_1.gridy = 2;
panel.add(panel_1, gbc_panel_1);
}
{
bar = new JMenuBar();
bar.setOpaque(false);
bar.setBorder(new EmptyBorder(0, 0, 0, 0));
bar.setBorderPainted(false);
bar.setLayout(new GridLayout(1, 2));
bar.setPreferredSize(new Dimension(40, 20));
bar.setFocusable(false);
panel_1.add(bar);
{
menu = new JCMenu("QQJ");
menu.setShowWhenRollover(false);
menu.setRolloverEnabled(false);
bar.add(menu);
JCMenuItem menuItem = new JCMenuItem();
menuItem.setText("我在线");
menu.add(menuItem);
}
}
}
}
{
rememberCheckBox = new JCCheckBox("记住密码");
panel_1.add(rememberCheckBox);
}
{
automaticLoginCheckBox = new JCCheckBox("自动登陆");
panel_1.add(automaticLoginCheckBox);
}
}
}
{
endPanel = new JPanel();
FlowLayout flowLayout = (FlowLayout) endPanel.getLayout();
flowLayout.setAlignment(FlowLayout.RIGHT);
endPanel.setBackground(new Color(190,230,250));
GridBagConstraints gbc_endPanel = new GridBagConstraints();
gbc_endPanel.fill = GridBagConstraints.BOTH;
gbc_endPanel.gridx = 0;
gbc_endPanel.gridy = 2;
contentPane.add(endPanel, gbc_endPanel);
{
loginButton = new JCButton("安全登陆");
loginButton.setPreferredSize(new Dimension(80,23));
endPanel.add(loginButton);
}
}
}
/**
* 初始化事件
*/
private void initAction(){
//找回密码多选按钮
UIUtil.actionLabel(retrieveLabel, new AbstractAction() {
private static final long serialVersionUID = 1314650981076868723L;
public void actionPerformed(ActionEvent e)
{
System.out.println("retrieveLabel");
}
});
//注册多选按钮
UIUtil.actionLabel(registerLabel, new AbstractAction(){
private static final long serialVersionUID = 1314650981076868723L;
public void actionPerformed(ActionEvent e)
{
System.out.println("registerLabel");
}
});
//自动登录事件
automaticLoginCheckBox.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(automaticLoginCheckBox.isSelected()){
rememberCheckBox.setSelected(true);//设置记住密码
}
}
});
loginButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JCMessageBox.createInformationMessageBox(LoginFrame.this, "提示", "登录成功").open();
}
});
}
@Override
public void setVisible(boolean b) {
super.setVisible(b);
initValues();
}
/**
* 初始化界面默认属性
*/
private void initValues(){
pwdInput.requestFocus();
}
private JCMenu menu;
private JCCheckBox automaticLoginCheckBox, rememberCheckBox;
private JPanel endPanel, panel_1, panel;
private JCButton loginButton;
private JCLabel retrieveLabel, registerLabel;
private JImagePane topImagePanel;
private JImagePane centerImagePanel, avatarImagePanel;
private JCComboBox nameInput;
private JCLimitedPassword pwdInput;
private JMenuBar bar;
}
- 大小: 29.8 KB
- 大小: 154.3 KB
分享到:
相关推荐
Java Swing版QQ是一款使用Java编程语言的Swing库开发的桌面应用程序,旨在模拟腾讯QQ的基本功能,如聊天、多用户交互等。Swing是Java的标准GUI(图形用户界面)工具包,提供了丰富的组件和功能来构建桌面应用。下面...
在这个“java swing简单版qq”项目中,开发者利用Swing构建了一个基础的即时通讯应用,模拟了QQ的基本功能,如聊天和更换皮肤。下面我们将深入探讨Java Swing以及如何使用它来实现这样的应用程序。 首先,Swing是...
基于java的开发源码-Java swing仿qq聊天软件.zip 基于java的开发源码-Java swing仿qq聊天软件.zip 基于java的开发源码-Java swing仿qq聊天软件.zip 基于java的开发源码-Java swing仿qq聊天软件.zip 基于java的开发...
Swing是Java标准版(J2SE)的一部分,用于构建图形用户界面(GUI)的库,具有丰富的组件和可自定义的外观。 【描述】中提到,该系统运用了Java的多线程技术。在聊天应用中,多线程是至关重要的,因为它需要同时处理...
在“Java Swing漂亮界面 超酷 JavaSwing教程”中,我们主要会探讨如何利用Swing来设计美观且用户友好的界面。Swing组件的一大优点是它们是轻量级的,这意味着它们完全由Java代码实现,而不是依赖于操作系统提供的...
在"javaswing仿QQ"项目中,开发者利用Swing库创建了一个模仿腾讯QQ的桌面应用程序,旨在提供类似QQ的聊天体验。这个项目不仅关注UI设计,还实现了基本的聊天功能,甚至包括智能对话,这可能涉及到自然语言处理(NLP...
本项目"java swing高仿QQ截屏源码"是一个基于Java Swing开发的屏幕截图工具,它的目标是模仿QQ的截图功能,提供类似的功能和用户体验。QQ的截图工具以其简洁易用而著名,它允许用户快速选取屏幕上的任何区域进行截图...
在本项目中,"java swing 做的QQ聊天程序"是一个基于Java Swing实现的简易即时通讯应用,允许用户在局域网内进行聊天。它具备了基本的聊天功能,如注册、登录等,适合初学者学习和理解网络通信及GUI编程。 1. **...
java swing 仿QQ 聊天器 源代码
在"javaswing 模拟QQ聊天"这个项目中,我们看到一个学生或开发者尝试使用Java Swing来构建一个类似于QQ的聊天应用程序,这涉及到多线程通信,这是在进行实时交互应用时的关键技术。 1. **Java Swing基础知识**: -...
在这个"java swing 高仿QQ登录界面"项目中,开发者旨在创建一个与真实QQ登录界面相似的界面,让用户有接近真实的体验。2013年,这样的项目对于Java初学者来说是一份很好的实践教程,因为它涵盖了Swing中的许多关键...
《仿QQ2012 Java Swing 实现解析》 在Java编程领域,Swing库是构建桌面应用程序的重要工具,它提供了丰富的用户界面组件和强大的功能。本项目“仿qq2012 java swing”旨在模仿腾讯QQ2012的界面和部分功能,通过Java...
【标题】"仿QQ登陆界面 java.swing...以上就是基于Java Swing构建仿QQ登录界面涉及的主要知识点和可能的改进方向。对于初学者来说,这是一个很好的实践项目,可以帮助他们深入理解Swing库的使用,并提升GUI编程技能。
使用Java Swing开发的仿QQ功能,由于开发时间比较短,所以该代码作为初学者可以提供一些帮助与参考。 1、客户端展示和接收数据,服务器端与数据库进行交互处理。 2、使用Tcp的Socket。 3、实现新消息托盘图标闪烁。
在"java Swing实现的仿qq"项目中,我们将会探讨如何使用Swing来构建一个类似于腾讯QQ的客户端应用。 首先,我们需要理解Swing中的基本组件和布局管理器。例如,JFrame是窗口的基础,JLabel用于显示文本或图标,...
JavaSwing的QQ聊天系统是一个基于Java编程语言的桌面应用程序,它使用了Swing库来构建用户界面,模仿QQ的基本聊天功能。Swing是Java的标准GUI(图形用户界面)工具包,提供了丰富的组件和功能,使得开发者能够创建出...
在本项目中,我们利用JavaSwing库构建了一个简易的音乐播放器,它具备了基本的音乐播放功能,包括音乐列表展示、播放控制、歌曲切换等。JavaSwing是Java提供的一个图形用户界面(GUI)工具包,允许开发者创建丰富的...
Java Swing仿QQ聊天窗口泡泡风格源代码,现在微信聊天里的也是这种泡泡的风格,这样比以前QQ那种混杂式视觉上更清淅,本款源代码是用Java仿写QQ聊天泡泡窗口模式,其实这款代码是针对Android系统写的,源代码中有很...
【Java Swing实现的QQ】是一个基于Java图形用户界面(GUI)库Swing开发的应用程序,它旨在模拟并实现QQ的基本功能。Swing是Java Standard Edition(Java SE)的一部分,提供了丰富的组件库,用于构建桌面应用程序。...
Swing是Java编程语言中的一个图形用户界面(GUI)工具包,它是Java Foundation Classes (JFC)的一部分,用于构建桌面应用程序。本项目“Swing做的高仿QQ登陆界面”旨在为初学者提供一个学习Swing GUI设计和实现简单...