~~~
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
