登陆界面的开发 总结和感想

:D :idea: 登陆界面开发的学习让我感觉是目前为止最有趣的一课,有很大的自我设计空间,可以设计出自己想要的任何样子 看到自己设计的界面很有成就感,或者说不仅仅是一个程序的完成 更像自己完成了一个很大的项目 。那份喜悦是无以言表的。
下面我就给大家展示一下我自己设计的QQ登陆界面,
首先是主函数的代码:
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;

public class JFrameTest {
// 程序入口
public static void main(String[] args) {
JFrameTest tf = new JFrameTest();
tf.showFrame();

}

// 显示一个窗口的办法
public void showFrame() {

ImageIcon icon = new ImageIcon(
"images/get (12).jpg");
ImageIcon icon2 = new ImageIcon("images/qe.jpg");
ImageIcon icon1 = new ImageIcon(
"images/mima.jpg");
ImageIcon icon3 = new ImageIcon(
"images/beijing.jpg");
// 构造一个窗体对象
JFrame frame = new JFrame();
// 设置标题
frame.setTitle("QQ");
//
java.awt.FlowLayout f1=new java.awt.FlowLayout();
frame.setLayout(f1);
// 设置窗体的大小
frame.setSize(380, 300);
frame.setLayout(null);
String[] array = { "123456", "234567", "34567890" };
JComboBox co_name = new JComboBox(array);
co_name.addItem("567890");
co_name.setEditable(true);
// public JComboBoxApp(){

// }
JPasswordField ps_name = new JPasswordField();

JLabel la_name = new JLabel(icon);
JLabel la_name1 = new JLabel(icon1);
JLabel la_name2 = new JLabel(icon2);
JLabel la_name3 = new JLabel(icon3);
JLabel la1_name = new JLabel("找回密码");
JLabel la2_name = new JLabel("注册账户");
JCheckBox ch_name = new JCheckBox("记住密码");
ch_name.setOpaque(false);
JCheckBox ch_name1 = new JCheckBox("自动登录");
ch_name1.setOpaque(false);
JCheckBox ch_name2 = new JCheckBox();
// 设置按钮
JButton bu_login = new JButton("登陆");

// ActionListener al = new JFrameTestListener(jf,jteName,jtePwd);
// addActionListener (ActionListener 1) void-compone;
// bu_login.addActionListener(al);
bu_login.setActionCommand("登陆");// 强制所按按钮的名称 不用则为 默认值
co_name.setActionCommand("输入账号");//对输入账号的事件监听
ps_name .setActionCommand("输入密码");//对输入密码的事件监听
JFrameTestListener abc = new JFrameTestListener();
JFrameTestListener efg = new JFrameTestListener();
JFrameTestListener abcd = new JFrameTestListener();
ps_name.setBounds(80, 140, 150, 30);
la_name.setBounds(8, 97, 70, 70);
la_name1.setBounds(320, 220, 35, 35);
la_name2.setBounds(10, 220, 35, 35);
la_name3.setBounds(0, 0, 376, 100);
co_name.setBounds(80, 100, 150, 30);
bu_login.setBounds(100, 220, 130, 33);
la1_name.setBounds(250, 140, 90, 30);
la2_name.setBounds(250, 100, 60, 30);
ch_name.setBounds(80, 170, 80, 30);
ch_name1.setBounds(170, 170, 80, 30);
ch_name2.setBounds(50, 145, 20, 20);
bu_login.addActionListener(abc);
co_name.addActionListener(efg);
ps_name .addActionListener(abcd);
frame.add(ps_name);
frame.add(la_name1);
frame.add(la_name2);
//frame.add(la_name3);
frame.add(bu_login);
frame.add(co_name);
frame.add(la2_name);
frame.add(la1_name);
frame.add(la_name);
frame.add(ch_name);
frame.add(ch_name1);
frame.add(ch_name2);
frame.setDefaultCloseOperation(3);

//调用给窗体添加背景图片的方法
addBackgroudImage(frame);

// 显示窗口
frame.setVisible(true);

}

/**
* 自定义设置窗体背景图片的方法 添加背景图片的方法
*/
public void addBackgroudImage(JFrame frame){
//实例化一个ImageIcon的对象
ImageIcon image = new ImageIcon("images/bk.jpg");
//实例化一个JLabel的对象,设置JLabel显示backgroundImage图片
JLabel jlaBackground = new JLabel(image);
//设置标签组件显示的起始位置和标签的大小
jlaBackground.setBounds(0, 0, image.getIconWidth(), image.getIconHeight());
// 面板对象 向该面板对象添加一个标签 ,将标签添加到LayeredPanel上的最上层
frame.getLayeredPane().add(jlaBackground,new Integer(Integer.MIN_VALUE));
//获取窗体上的内容面板
JPanel contentPanel = (JPanel)frame.getContentPane();
contentPanel.setOpaque(false);//设置contentPanel位透明

}

}
下面就是类的代码
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
//import java.awt.event.ActionListener;

import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
public class JFrameTestListener implements ActionListener {



public void actionPerformed(ActionEvent a) {
String s=a.getActionCommand();
//输出点击的按钮
System.out.println("你点击了"+s+"按钮");}

这是我简单QQ界面的代码 大家可以给我一些意见 也可以参考一下 :wink:

你可能感兴趣的:(登陆界面的开发 总结和感想)