界面设计 java_Java界面设计
一、Java的圖形界面類
Java給我們提供了兩套圖形界面包:
一套是AWT組件(java.awt),它在實現的時候直接調用了系統底層的繪圖函數,這樣就導致這套組件在不同平臺上需要獨立去做開發。
另一套是SWING組件(javax.swing),它是在基于AWT組件的基礎上,采用Java代碼構建的一套新的組件,又叫輕量級組件。
二、實現界面所需要的API類
我們以登錄界面為例,闡述實現界面需要的API類:
1.容器組件類
首先是容器組件類,它能添加容器組件或者元素組件,javax.swing.JFrame就是一個窗體容器組件類。我們可以用setSize,setLocation,setDefaultCloseOperation,setTitle等該類自帶的方法去設置它的屬性,舉例如下:
javax.swing.JFrame frame=new javax.swing.JFrame();//實例化一個窗口 //設置窗體的屬性值 frame.setTitle("login");//設置窗口的標題為login frame.setSize(300,420);//設置窗口的大小為300*420像素 frame.setLocationRelativeTo(null);//設置窗口的位置在界面正中心 frame.setDefaultCloseOperation(3);//設置單擊關閉按鈕以后界面不再運行 //實例化流式布局,居中對齊 java.awt.FlowLayout f1=new java.awt.FlowLayout();
//設置窗體對象布局為流式布局 frame.setLayout(f1);
frame.setVisible(true);//顯示窗口為可見(這句話放在實例化界面函數的最后一句)
2.元素組件類
接下來就是元素組件類,我們可以用JLabel類來添加標簽元素類,顯示文字或者圖片信息;用JTextField類實現文本的輸入;用JPasswordField類實現密碼的輸入(輸入文本但是不顯示);用JCheckBox類實現復選框;用JButton類實現按鈕的實例化,并可以顯示文字或圖片信息。接下來我們用一段代碼解釋這些類以及它所能使用的方法:
javax.swing.JLabel name=new javax.swing.JLabel("賬號:");
//實例化文本對象“賬號:”(括號中寫上文本名) frame.add(name);//添加文本對象到窗體,這句話不加則該對象不會顯示
javax.swing.JTextField textname=new javax.swing.JTextField();
//實例化文本輸入框對象 java.awt.Dimension dim=new java.awt.Dimension(210,30);
//實例化一個關于設置元素大小的Dimension類對象并添加 textname.setPreferredSize(dim);
//設置文本輸入框的大小為210*30像素,注意到:這里是用的setPreferredSize函數,因為對于非容器組件,只能用這個方法去設置大小 frame.add(textname);//添加該對象
javax.swing.JLabel password=new javax.swing.JLabel("密碼:");
//實例化文本對象"密碼:" frame.add(password);//添加該對象
javax.swing.JPasswordField pass=new javax.swing.JPasswordField()
//實例化密碼輸入框 pass.setPreferredSize(dim);
//設置密碼輸入框的大小(與之前的文本輸入框相同所以用的同一個dimension類對象。 frame.add(pass);//添加該對象
javax.swing.JCheckBox b1=new javax.swing.JCheckBox();
//實例化復選框 frame.add(b1);//添加該對象
javax.swing.JLabel remember=new javax.swing.JLabel("記住密碼");
//實例化文本對象"記住密碼" frame.add(remember);//添加該對象
javax.swing.JCheckBox b2=new javax.swing.JCheckBox();
//實例化復選框 frame.add(b2);//添加該對象
javax.swing.JLabel autologin=new javax.swing.JLabel("自動登錄");
//實例化文本對象"自動登錄" frame.add(autologin);//添加該對象
javax.swing.JButton bu=new javax.swing.JButton("登錄");
//實例化按鈕 java.awt.Dimension dim1=new java.awt.Dimension(210,60);
bu.setPreferredSize(dim1);
//實例化一個新的Dimension類對象并且設置它的大小為210*60像素 frame.add(bu);//添加該對象
如果我們需要設置一大串按鈕,是不需要一個一個實例化并添加的,可以利用循環來添加一系列的按鈕,這樣可以減少代碼冗余,以計算器按鍵設置為例,示例如下:
String [] t={"CE","C","←","/","7","8","9","*","4","5","6","","1","2","3","+","±","0",".","="};
//設置你需要定義的一系列按鈕上的文字
//設置按鈕for(int i=0;i
{javax.swing.JButton CE=new javax.swing.JButton(t[i]);
//實例化按鈕,按鈕上的文字在String類數組中已定義好java.awt.Dimension dim2=new java.awt.Dimension(100,60);
CE.setPreferredSize(dim2);
//定義一個新的Dimension對象,并設置按鈕大小frame.add(CE);
//添加按鈕}
那么登錄界面實現以后我們要怎么讓它在按下登錄按鈕以后有所反應呢?請看下一篇文章:事件監聽機制
總結
以上是生活随笔為你收集整理的界面设计 java_Java界面设计的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 川蜈蚣的功效与作用、禁忌和食用方法
- 下一篇: 白扣的功效与作用、禁忌和食用方法