java---Swing界面開發總結

1、java的圖形界面html

1.awt    java.awtjava

jdk1.4以前推出的圖形界面,用c/c++編寫,跨平臺性很差c++

2.swing  javax.swing函數

jdk1.4時推出的圖形界面,跨平臺性好佈局

2、經常使用的組件htm

1.容器組件對象

JFrame    窗體類 最頂級的容器(默認佈局爲邊框佈局,不能本身互相添加)blog

JPanel    面板類 最靈活的容器(能夠本身互相添加)文檔

2.元素組件it

JLabel   標籤類

JTextField  文本輸入框類(能夠設置框內字符、輸入框長度)

JPasswordField 密碼輸入框類(框內字符會被特定字符代替)

JCheckBox  複選框類

JComboBox   下拉框類

JButton    按鈕類

容器和組件都是swing包下的類。javax.swing.JFrame

3、經常使用的佈局

1.佈局類只能用在容器中。設置佈局時需用setLayout()

BorderLayout  邊框佈局(將窗體分爲上下左右中五個區域,調用時分別.NORTH,.SOUTH,.WEST,.EAST,.CENTER,若未標明表示CENTER,未添加布局時默認爲邊框佈局加在中央)

FlowLayout    流式佈局(如同文本文檔同樣一行一行排列,排列滿換行,默認方向爲從左向右,能夠設置對齊方向)

GridLayout    網格佈局(能夠設置幾列幾行,間距)

這三種都是位於awt包下的類。java.awt.***Layout

4、簡單登陸界面的實現

1.新建一個xxx類(Login),在類中定義主函數。

2.在類中定義一個初始化界面的方法(initUI)

3.在初始化界面的方法中,實例化一個頂級容器(JFrame)類的對象。

4.設置JFrame對象的屬性值(標題,大小,顯示位置,關閉退出程序,禁止調整大小,可見,該步完成對一個窗體的建立)

5.實例化元素組件對象,將對象添加到窗體上

6.在主函數中實例化Login類的對象,用對象名調用初始化界面的方法。

注:setDefaultCloseOperation()括號中可選數字,3是關閉時退出程序。0是不關閉。1是隱藏,2是關閉時程序繼續工做。

setVisible(true)必須放在最後才能顯示全部組件。true爲可見。

setSize()大小爲像素點的大小。默認起點爲左上角。

5、代碼

1.簡單的登陸界面

能夠用流式佈局或者邊框佈局。

Java代碼  

package cn.wz.study0718;  
//定義一個登陸界面  
public class showFrameqq {  
     
          
    //  入口主函數  
           
    public static void main(String[] args) {  
        // 實例化showFrameqq類的對象  
        showFrameqq showqq = new showFrameqq();  
        //調用qq界面的方法  
        showqq.initGUI();  
     
    }  
    //定義一個qq界面的方法  
    public void initGUI(){  
        //實例化一個JFrame類的對象  
        javax.swing.JFrame jf = new javax.swing.JFrame();  
        //設置窗體的標題屬性  
        jf.setTitle("QQ登陸界面");  
        //設置窗體的大小屬性  
        jf.setSize(300,200);  
        //設置窗體的位置屬性  
        jf.setLocation(450,200);  
        //設置窗體關閉時退出程序  
        jf.setDefaultCloseOperation(3);  
        //設置禁止調整窗體的大小  
        jf.setResizable(false);  
              
        //實例化一個佈局類的對象  
        java.awt.FlowLayout fl = new java.awt.FlowLayout();   
        //設置窗體的佈局方式爲流式佈局  
        jf.setLayout(fl);  
        //實例化一個JLabel標籤類的對象  
        javax.swing.JLabel jlaName = new javax.swing.JLabel("                                          ");  
        //將jlaName對象添加到容器JFrame對象上  
        jf.add(jlaName);  
        //實例化一個JTextField對象  
        javax.swing.JTextField jteName = new javax.swing.JTextField("帳號",20);  
        //將jteName對象添加到容器JFrame對象上  
        jf.add(jteName);  
        //實例化一個JLabel對象  
        javax.swing.JLabel jlaName2 = new javax.swing.JLabel("註冊帳號");  
        //將jlaName2對象添加到容器JFrame對象上  
        jf.add(jlaName2);  
        //實例化一個JPasswordField對象  
        javax.swing.JPasswordField jpaName = new javax.swing.JPasswordField("請輸入密碼",20);  
        //將jpaName對象添加到容器JFrame對象上  
        jf.add(jpaName);  
        //實例化一個JLabel對象  
        javax.swing.JLabel jlaName3 = new javax.swing.JLabel("找回密碼");  
        //將jlaName3對象添加到容器JFrame對象上  
        jf.add(jlaName3);  
        //實例化一個JCheckBox對象  
        javax.swing.JCheckBox jchName = new javax.swing.JCheckBox("記住密碼");  
        //將jchName3對象添加到容器JFrame對象上  
        jf.add(jchName);  
        //實例化一個JCheckBox對象  
        javax.swing.JCheckBox jchName2 = new javax.swing.JCheckBox("自動登陸");  
        //將jchName3對象添加到容器JFrame對象上  
        jf.add(jchName2);  
        //實例化一個JCheckBox對象  
        javax.swing.JButton jbuName = new javax.swing.JButton("           登             錄          ");  
        //將jButton對象添加到容器JFrame對象上  
        jf.add(jbuName);  
              
        jf.setVisible(true);  
    }  
          
     
} 
   
package cn.wz.study0718;
//定義一個登陸界面
public class showFrameqq {
   
//  入口主函數
    
public static void main(String[] args) {
// 實例化showFrameqq類的對象
showFrameqq showqq = new showFrameqq();
//調用qq界面的方法
showqq.initGUI();
   
}
//定義一個qq界面的方法
public void initGUI(){
//實例化一個JFrame類的對象
javax.swing.JFrame jf = new javax.swing.JFrame();
//設置窗體的標題屬性
jf.setTitle("QQ登陸界面");
//設置窗體的大小屬性
jf.setSize(300,200);
//設置窗體的位置屬性
jf.setLocation(450,200);
//設置窗體關閉時退出程序
jf.setDefaultCloseOperation(3);
//設置禁止調整窗體的大小
jf.setResizable(false);
//實例化一個佈局類的對象
java.awt.FlowLayout fl = new java.awt.FlowLayout();
//設置窗體的佈局方式爲流式佈局
jf.setLayout(fl);
//實例化一個JLabel標籤類的對象
javax.swing.JLabel jlaName = new javax.swing.JLabel("                                          ");
//將jlaName對象添加到容器JFrame對象上
jf.add(jlaName);
//實例化一個JTextField對象
javax.swing.JTextField jteName = new javax.swing.JTextField("帳號",20);
//將jteName對象添加到容器JFrame對象上
jf.add(jteName);
//實例化一個JLabel對象
javax.swing.JLabel jlaName2 = new javax.swing.JLabel("註冊帳號");
//將jlaName2對象添加到容器JFrame對象上
jf.add(jlaName2);
//實例化一個JPasswordField對象
javax.swing.JPasswordField jpaName = new javax.swing.JPasswordField("請輸入密碼",20);
//將jpaName對象添加到容器JFrame對象上
jf.add(jpaName);
//實例化一個JLabel對象
javax.swing.JLabel jlaName3 = new javax.swing.JLabel("找回密碼");
//將jlaName3對象添加到容器JFrame對象上
jf.add(jlaName3);
//實例化一個JCheckBox對象
javax.swing.JCheckBox jchName = new javax.swing.JCheckBox("記住密碼");
//將jchName3對象添加到容器JFrame對象上
jf.add(jchName);
//實例化一個JCheckBox對象
javax.swing.JCheckBox jchName2 = new javax.swing.JCheckBox("自動登陸");
//將jchName3對象添加到容器JFrame對象上
jf.add(jchName2);
//實例化一個JCheckBox對象
javax.swing.JButton jbuName = new javax.swing.JButton("           登   錄          ");
//將jButton對象添加到容器JFrame對象上
jf.add(jbuName);
jf.setVisible(true);
}
   
}

  

2.簡單的計算器界面

分析:使用網格佈局。

Java代碼  

package cn.wz.study0718;  
//定義一個計算器界面  
public class showCalculaterFrame {  
     
    //入口主函數  
    public static void main(String[] args) {  
        //實例化一個showCalculaterFrame類的對象  
        showCalculaterFrame showCal = new showCalculaterFrame();  
        //調用計算器界面的方法  
        showCal.initGUI();  
     
    }  
    //定義一個計算器界面的方法  
    public void initGUI(){  
        //實例化一個JFrame類的對象  
        javax.swing.JFrame jf = new javax.swing.JFrame();  
        //設置窗體的標題屬性  
        jf.setTitle("計算器");  
        //設置窗體的大小屬性  
        jf.setSize(250,350);  
        //設置窗體的位置屬性  
        jf.setLocation(400,200);  
        //設置窗體關閉時退出程序  
        jf.setDefaultCloseOperation(3);  
        //設置禁止調整窗體的大小  
        jf.setResizable(false);  
              
        //實例化一個JTextField文本框類的對象  
        //javax.swing.JTextField jteName = new javax.swing.JTextField(20);  
        //將jteName添加到容器JFrame上  
        //jf.add(jteName);  
        //實例化一個佈局類對象  
        java.awt.GridLayout gr = new java.awt.GridLayout(5,4);  
        //設置窗體的佈局方式爲網格佈局  
        jf.setLayout(gr);  
        //實例化十九個個JButton對象、一個JTextField對象  
        javax.swing.JButton jb1 = new javax.swing.JButton("1");  
        javax.swing.JButton jb2 = new javax.swing.JButton("2");  
        javax.swing.JButton jb3 = new javax.swing.JButton("3");  
        javax.swing.JButton jb4 = new javax.swing.JButton("4");  
        javax.swing.JButton jb5 = new javax.swing.JButton("5");  
        javax.swing.JButton jb6 = new javax.swing.JButton("6");  
        javax.swing.JButton jb7 = new javax.swing.JButton("7");  
        javax.swing.JButton jb8 = new javax.swing.JButton("8");  
        javax.swing.JButton jb9 = new javax.swing.JButton("9");  
        javax.swing.JButton jb0 = new javax.swing.JButton("0");  
        javax.swing.JButton jba = new javax.swing.JButton("+");  
        javax.swing.JButton jbb = new javax.swing.JButton("-");  
        javax.swing.JButton jbc = new javax.swing.JButton("*");  
        javax.swing.JButton jbd = new javax.swing.JButton("/");  
        javax.swing.JButton jbe = new javax.swing.JButton("=");  
        javax.swing.JButton jbf = new javax.swing.JButton("AC");  
        javax.swing.JButton jbg = new javax.swing.JButton("sqrt");  
        javax.swing.JButton jbh = new javax.swing.JButton("1/x");  
        javax.swing.JButton jbi = new javax.swing.JButton(".");  
        javax.swing.JTextField jte = new javax.swing.JTextField();  
        //將JButton對象、JTextField對象添加到容器JFrame上  
        jf.add(jte);  
        jf.add(jbf);  
        jf.add(jbg);  
        jf.add(jbh);  
        jf.add(jb1);  
        jf.add(jb2);  
        jf.add(jb3);  
        jf.add(jba);  
        jf.add(jb4);  
        jf.add(jb5);  
        jf.add(jb6);  
        jf.add(jbb);  
        jf.add(jb7);  
        jf.add(jb8);  
        jf.add(jb9);  
        jf.add(jbc);  
        jf.add(jb0);  
        jf.add(jbi);  
        jf.add(jbe);  
        jf.add(jbd);  
              
        //設置窗體是否可見  
        jf.setVisible(true);  
              
              
              
    }  
     
}

  轉自:http://www.bdqn.cn/news/201307/10424.shtml

相關文章
相關標籤/搜索