1. 程式人生 > >Java圖形介面

Java圖形介面

java 有一個強大的的API(Application Programming Interface應用程式程式設計介面))類,利用這些API類我們可以完成許多功能,今天我們要做的是圖形介面的製作。

圖形介面要用什麼來實現呢?先介紹Swing元件,它的特點是可插入外觀元件,同時是“輕量級元件”(是不依賴於作業系統的語言,可以在任何平臺上執行,相反“重量級元件”即AWT元件,依賴於本地平臺)

在應用swing元件或者awt前,應匯入包

import javax.swing.*;
import java.awt.*;//*表示任何以其為字首的API類
  • 常用的swing元件分為以下幾部分:

窗體容器元件類

:JFrame類 頂級容器

常用面板: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 監聽器的使用方法。