Java圖形介面
java 有一個強大的的API(Application Programming Interface應用程式程式設計介面))類,利用這些API類我們可以完成許多功能,今天我們要做的是圖形介面的製作。
圖形介面要用什麼來實現呢?先介紹Swing元件,它的特點是可插入外觀元件,同時是“輕量級元件”(是不依賴於作業系統的語言,可以在任何平臺上執行,相反“重量級元件”即AWT元件,依賴於本地平臺)
在應用swing元件或者awt前,應匯入包
import javax.swing.*;
import java.awt.*;//*表示任何以其為字首的API類
-
常用的swing元件分為以下幾部分:
窗體容器元件類
常用面板:JPanel面板可以聚集一些元件類佈局,需要明確的是面板也是一種容器,一般情況我們通常定義多個JPanel面板物件,新增到一個JFrame類物件容器中。
元素元件類:用來顯示圖片或文字,接受輸入的
{
JLabel類:標籤元素元件類,可以用來顯示圖片,文字資訊
JButton類:按鈕元素元件類,用來顯示文字圖片,可以點選
JTextField類:文字輸入框元素元件類,用來接受使用者輸入的資訊,然後可以將其顯示出來
JPasswordField類:密碼輸入框元素元件類,用來接受使用者輸入的資訊,然後可以以特定的符號顯示出來,比如‘*’,達到密碼的安全性。
JRadioButton類:單選按鈕元件類,顯示一個圓形圖示,圓形圖示旁可以附加一些說明文字,當用戶選擇某個按鈕之後,按鈕組中的其他按鈕將被自動取消。
按鈕組使用ButtonGroup定義,然後將JRadioButton物件新增到按鈕組中。
JCheckBox類:複選框元素元件類,提供一個選擇框,然後在選擇框後還可以有相應的圖片文字資訊,如 【選擇框】 記住密碼
}
輔助類:幫助元件完成某一個特定的功能
{
Dimension類:封裝元件寬度高度類,可以通過元件物件.setPreferredSize(new Dimension(width,hight))來控制組件的大小,
ImageIcon類:圖片類,可以用來載入磁碟上的圖片。使用方法為ImageIcon image=new ImageIcon("圖片地址") 注:如F:\自學視訊\java教學視訊,要將\變為兩個才可以即F:\\自學視訊\\java教學視訊
FlowLayout類:流式佈局類(JPanel元件預設的佈局類:流式居中佈局),即從左至右,從上至下的佈局類
BorderLayout類:邊框佈局類(JFrame元件的預設佈局類),即分為東南西北
GridLayout類:網格佈局類,將容器劃分為網格,所以元件可以按行和列進行排列,在網格佈局中,每一個元件的大小都相同,例項化的寫法為:
GridLayout(int rows,int columns,int horizGap,int vertGap)
horizGap為網格之間的水平距離,vertGap為網格之間的垂直距離
}
另外還有一些拓展類,有些地方能夠起到很好的效果:
JTextPanel類 : 是一個可以編輯和顯示html,rtf和普通文字的富文字元件,能實現的功能較多,使用方法為JTextPane中插入文字和圖片_沂東舊客_新浪部落格
JComboBox類是一個元件,它結合了一個按鈕或可編輯欄位與下拉列表,使用方法為:
有了這些基礎知識,下面我們來講
-
具體的程式碼實現步驟:
import javax.swing.*;
import java.awt.*;//一定要將這兩個包匯入進去
public class DrawFrame{
public static void main(String args[]){
//例項化JFrame 物件
JFrame frame=new JFrame();
frame.setSize(400,700);//設定大小
frame.setTitle("圖形介面");//設定標題
frame.setDefaultCloseOperation(3);//介面關閉方式
frame.setLocationRelativeTo(null);//顯示的介面居中
frame.setResizable(false);//設定能否改變大小
frame.setVisible(true);//介面的可見性
}
}
以上是建立窗體的步驟。得到的結果是:
下面我們接著來介紹新增標籤類,圖示類的具體方法:
// 例項化元素元件類,然後將物件新增到窗體可見
//例項化ImageIcon類的物件,從磁碟中提取出圖片
javax.swing.ImageIcon img=new javax.swing.ImageIcon("F:\\圖形介面\\qq.jpg");
//例項化JLbel類的物件,用來顯示img
javax.swing.JLabel labImg=new javax.swing.JLabel(img);
//將JLabel類物件新增到視窗上
frame.add(labImg);
//使用JLbel類顯示文字
javax.swing.JLabel labName1=new javax.swing.JLabel("賬號:");
frame.add(labName1);
//例項化文字框
javax.swing.JTextField account=new javax.swing.JTextField();
//封裝元件的大小和高度 Dimentsion類的物件的例項化 dim物件可以重複利用
java.awt.Dimension dim=new java.awt.Dimension(310,30);
//設定元件的首先大小為Dimension類的物件
account.setPreferredSize(dim);
frame.add(account);
//顯示密碼及對應文字框 利用JLabel類和JPasswordField類
javax.swing.JLabel labName2=new javax.swing.JLabel("密碼:");
frame.add(labName2);
javax.swing.JPasswordField password =new jjavax.swing.JPasswordField();
password.setPreferredSize(dim);
frame.add(password);
//利用JCheckBox類顯示記住密碼 和自動登入視窗
javax.swing.JCheckBox checkbox1=new javax.swing.JCheckBox(" 記 住 密 碼");
java.awt.Dimension box=new java.awt.Dimension(150,150);
checkbox1.setPreferredSize(box);
frame.add(checkbox1);
javax.swing.JCheckBox checkbox2=new javax.swing.JCheckBox(" 自 動 登 錄");
checkbox2.setPreferredSize(box);
frame.add(checkbox2);
//利用JButton類 設定視窗登入
javax.swing.JButton button=new javax.swing.JButton("登入");
java.awt.Dimension dimbutton=new java.awt.Dimension(150,80);
button.setPreferredSize(dimbutton);
frame.add(button);
執行以上程式碼得到的結果是:
就這樣我們完成了圖形介面的繪製,當然這些記住密碼,自動登入的選項,密碼賬號的輸入,登入按鈕沒有任何的其他功能,要想其實現真正意義上的登入,敬請關注接下來會介紹的java 監聽器的使用方法。