~~~
package kehuduan.view;
import java.io.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Login extends JFrame implements ActionListener{
JLabel jbl1;//上面的图片标签
JTabbedPane jtp;
JPanel jp2,jp3,jp4;//面板2,3,4
JLabel jp2_jbl1,jp2_jbl2,jp2_jbl3,jp2_jbl4;//文字标签
JButton jp2_jb1;//图片按钮
JTextField jp2_jtf;//文本框
JPasswordField jp2_jpf;//密码框
JCheckBox jp2_jcb1,jp2_jcb2;//复选框
JPanel jp1;//面板1--底部三个按钮的面板
JButton jp1_jb1,jp1_jb2,jp1_jb3;//底部三个按钮
public static void main(String[] args)
{
Login t=new Login();
}
public Login(){
jbl1=new JLabel(new ImageIcon("image/tou.gif"));//上面的图片标签
jp2=new JPanel(new GridLayout(3,3));//3*3的网格布局
jp2_jbl1=new JLabel("QQ号码",JLabel.CENTER);
jp2_jbl2=new JLabel("QQ密码",JLabel.CENTER);
jp2_jbl3=new JLabel("忘记密码",JLabel.CENTER);
jp2_jbl3.setForeground(Color.blue);//设置此组件的前景色
jp2_jbl4=new JLabel("申请密码保护",JLabel.CENTER);
jp2_jb1=new JButton(new ImageIcon("image/clear.gif"));//图片按钮
jp2_jtf=new JTextField();//文本框
jp2_jpf=new JPasswordField();//密码框
jp2_jcb1=new JCheckBox("隐身登录");
jp2_jcb2=new JCheckBox("记住密码");
jp2.add(jp2_jbl1);//1-1
jp2.add(jp2_jtf);//1-2
jp2.add(jp2_jb1);//1-3
jp2.add(jp2_jbl2);//2-1
jp2.add(jp2_jpf);//2-2
jp2.add(jp2_jbl3);//2-3
jp2.add(jp2_jcb1);//3-1
jp2.add(jp2_jcb2);//3-2
jp2.add(jp2_jbl4);//3-3
jtp=new JTabbedPane();//选项卡
jtp.add("QQ号码", jp2);//将面板2放入选项卡,并设置标题
jp3= new JPanel();
jtp.add("手机号码", jp3);//将面板3放入选项卡,并设置标题
jp4= new JPanel();
jtp.add("电子邮件", jp4);//将面板4放入选项卡,并设置标题
jp1=new JPanel();//底部3个按钮的面板--面板1
jp1_jb1=new JButton(new ImageIcon("image/denglu.gif"));
jp1_jb1.addActionListener(this);
jp1_jb2=new JButton(new ImageIcon("image/quxiao.gif"));
jp1_jb3=new JButton(new ImageIcon("image/xiangdao.gif"));
jp1.add(jp1_jb1);
jp1.add(jp1_jb2);
jp1.add(jp1_jb3);
this.add(jbl1,"North");//上-标签
this.add(jtp,"Center");//中-选项卡
this.add(jp1,"South");//下-面板
ImageIcon tp1=new ImageIcon("image/qq.gif");
this.setIconImage(tp1.getImage());//icon图片
this.setTitle("用户登录");
this.setSize(351,240);
this.setLocation(300,280);
this.setResizable(false);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
}
}
~~~

- 书写心得
- 基础回顾
- 异常的处理
- equils方法
- 集合类
- ArrayList的遍历和添加
- ArrayList的删除插入
- 实例:食品库存管理
- HashMap
- 集合类的区别和选择
- 泛型和反射机制
- 图形化用户界面(GUI)
- JFrame容器
- 边界布局管理器
- 流式布局管理器
- 网格布局管理器
- Jpanel面板
- 文本框和标签
- 单选按钮和复选按钮
- 下拉列表框和滚动条
- 拆分窗口
- 聊天窗口
- 用户登录界面
- 记事本界面
- 线程
- 创建线程的方法
- 线程的优先级
- 线程的睡眠
- 线程的让步与阻塞
- 买票问题
- 生产消费问题
- IO流
- 字符流
- 字节流
- 缓冲流
- 数据流传输
- 转换流
- 空字符串区别
- Print流
- Object
- IO流补充
- 绘图技术和事件处理机制
- 绘图基础-绘制图形
- 绘图基础-绘制图像
- 绘图基础-绘制文字
- 事件处理-事件监听
- 事件处理-控件事件
- 事件处理-键盘事件
- 事件处理-鼠标事件
- 事件处理-窗口事件
- 记事本
- 坦克大战
- 阶段1
- 阶段2
- 阶段3
- 阶段4
- 阶段5
- 阶段6
- 阶段7
- 阶段8
- 阶段9
- 阶段10
- 阶段11
- 阶段12
- 阶段13
- 阶段14
- SQL Server 2005
- 简易学生管理系统
- 阶段(1)-显示
- 阶段(2)-查询
- 阶段(3)-添加
- 阶段(4)-删除
- 阶段(5)-修改
- 简易餐饮管理系统
- 阶段-01
- 阶段-02
- 阶段-03
- 阶段-04
- Index.java
- Login.java
- Main.java
- MyFont.java
- ImagePanel.java
- Conn.java
- Moxing.java
- 网络编程基础
- 互发信息(1)-传输
- 互发信息(2)-互发
- 互发信息(3)-GUI
- 互发信息(4)-对象流
- 网络聊天工具
- 阶段--01--界面
- Server
- Index
- Client
- Login
- Chat
- List
