import java.awt.Button;
站在用戶的角度思考問題,與客戶深入溝通,找到博湖網站設計與博湖網站推廣的解決方案,憑借多年的經驗,讓設計與互聯網技術結合,創造個性化、用戶體驗好的作品,建站類型包括:成都做網站、成都網站建設、企業官網、英文網站、手機端網站、網站推廣、國際域名空間、雅安服務器托管、企業郵箱。業務覆蓋博湖地區。
import java.awt.Color;
import java.awt.Frame;
import java.awt.GridLayout;
import java.awt.Label;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class awttest
{
TextField id,pw;
TextField printid,printpw;
public awttest(){
Frame f=new Frame("用戶登錄");
f.setLayout(new GridLayout(4,2));
id=new TextField("輸入用戶名",10);
pw=new TextField(10);
pw.setEchoChar('*');
f.add(new Label("用戶名:",Label.CENTER));
f.add(id);
f.add(new Label("密碼:",Label.CENTER));
f.add(pw);
Button b1=new Button("登陸");
Button b2=new Button("取消");
f.add(b1);
f.add(b2);
String str1=id.getText();
String str2=pw.getText();
printid=new TextField(str1,10);
printpw=new TextField(str2,10);
f.add(printid);
f.add(printpw);
f.pack();
printid.setBackground(new Color(220,0,0));
printpw.setBackground(new Color(220,0,0));
f.setSize(250,120);
f.setVisible(true);
b1.addActionListener(new ActionListener() { // 點擊“顯示窗口”菜單后將窗口顯示出來
public void actionPerformed(ActionEvent e) {
printid.setText(id.getText());
printpw.setText(pw.getText());
}
});
f.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent args)
{
System.exit(0);
}
}
);
}
public static void main(String[] args){
new awttest();
}
}
OK!!可以運行
一: 首先弄清題目的意思
A.需要的主要組件列表:
1. ?創建一個窗口,窗口標題叫Information
2. ?3個標簽, 用于顯示文字 Name Number Class
3. ?3個文本框, 用于填寫信息
4. ?1個按鈕, ?文字是確認
5. ?1個文本域
B.業務邏輯
1. 當點擊按鈕確認的時候, 把 文本框的信息顯示到文本域
C.設計的主要技術
JLabel , JButton, JTextField ...等, 都是swing的組件 , ?所以應該使用swing進行創建
二: ?確定使用的布局
swing雖然重寫了大部分的組件, 但是布局, 依舊沿襲awt技術
分析圖片上的布局:
至少有2種方法可以實現,?
方法一: 絕對布局 , 優點: ?配合可視化GUI拖曳, 可以完美的實現圖上的組件的位置
但是缺點也是致命的, 不同的操作系統平臺下, 可能會出現位置的移動,
只適合開發平臺, 移植效果差 . ?所以不推薦使用
方法二: 靈活的表格布局, 配合流式布局 , 所有操作系統下,顯示效果都比較統一.?
三: 效果圖
四: 參考代碼
import?java.awt.*;
import?java.awt.event.*;
import?javax.swing.*;
public?class?FrameDemo?extends?JFrame?{
//申明需要的組件
private?final?JTextField?jtf1,jtf2,jtf3;
private?final?JTextArea?jta;
public?FrameDemo()?{
setTitle("Information");//設置窗口標題
setSize(320,?360);//設置窗口大小
setLocationRelativeTo(null);//設置窗口居中
setDefaultCloseOperation(EXIT_ON_CLOSE);//設置關閉時退出虛擬機
getContentPane().setLayout(new?FlowLayout());//設置窗口布局為流式布局
JPanel?jp?=?new?JPanel(new?GridLayout(4,?2));//設置jp面板為表格布局4行2列
//第一行
JPanel?jp01?=?new?JPanel();
JLabel?jl1?=?new?JLabel("Name:");
jp01.add(jl1);
JPanel?jp1?=?new?JPanel();
jtf1?=?new?JTextField(8);
jp1.add(jtf1);
//第二行
JPanel?jp02?=?new?JPanel();
JLabel?jl2?=?new?JLabel("Number:");
jp02.add(jl2);
JPanel?jp2?=?new?JPanel();
jtf2?=?new?JTextField(8);
jp2.add(jtf2);
//第三行
JPanel?jp03?=?new?JPanel();
JLabel?jl3?=?new?JLabel("Class:");
jp03.add(jl3);
JPanel?jp3?=?new?JPanel();
jtf3?=?new?JTextField(8);
jp3.add(jtf3);
//第四行
JPanel?jp04?=?new?JPanel();
JLabel?jl4?=?new?JLabel("");
jp04.add(jl4);
JPanel?jp4?=?new?JPanel();
JButton?jb?=?new?JButton("確認");
jp4.add(jb);
jp.add(jp01);
jp.add(jp1);
jp.add(jp02);
jp.add(jp2);
jp.add(jp03);
jp.add(jp3);
jp.add(jp04);
jp.add(jp4);
getContentPane().add(jp);
jta?=?new?JTextArea();
jta.setColumns(20);//設置文本域的大小
jta.setEditable(false);//設置文本域不可編輯
jta.setBackground(jp.getBackground());//設置文本域的背景色和面板一樣
getContentPane().add(jta);
jb.addActionListener(new?ActionListener()?{//給按鈕添加事件
public?void?actionPerformed(ActionEvent?e)?{//點擊按鈕,顯示信息到文本域
String?name?=?jtf1.getText();
String?number?=?jtf2.getText();
String?clazz?=?jtf3.getText();
jta.setText("You?name?is?"+name+"?number?is?"+number+"?class?is?"+clazz);
}
});
}
public?static?void?main(String[]?args)?{
new?FrameDemo().setVisible(true);//創建窗口,被設置為可見
}
}
五: 拓展
雖然圖形界面的實現方法是多樣的, ?我們一定要根據具體情況, 選擇一個比較優化的 合理的, 符合業務邏輯的實現方法
準備工作:
1、下載JDK;
2、下載Eclipse;
3、下載相應的EMF、GEF、VE;
注意:三個插件的版本要和Eclipse的版本配套才能正確使用,至于配套的說明請參考下載頁面的說明
開始安裝:
1、安裝JDK;
這個比較容易,標準的Windows安裝程序,下一步,再下一步即可,安裝完成后,也不需要重啟。
2、安裝Eclipse;
Eclipse是綠色軟件,不需要安裝,只需要解壓縮,然后即可運行。
為了說明方便,我把它解壓縮到C盤根目錄下,得到C:\eclipse目錄,運行C:\eclipse\eclipse.exe即可。
注意:下面的安裝,需要先關閉eclipse程序。
3、安裝EMF、GEF、VE;
對于Eclipse來說,這些都是它的插件,所以,安裝方法都是一樣的。插件下載地址
A、在C:\eclipse目錄下,建立四個子目錄:C:\eclipse\emf、C:\eclipse\gef、C:\eclipse\ve、C:\eclipse\links;
B、把下載的EMF、GEF、VE都解壓縮到相應的目錄中,即:把EMF壓縮包解壓縮到C:\eclipse\emf中,得到C:\eclipse\emf\eclipse目錄,以此類推,完成GEF、VE的解壓縮;
C、在C:\eclipse\links目錄下,新建一個文本文件,名字可隨便取,如:link.txt。
然后在link.txt文件中,加入以下三行文字:
path=emf
path=gef
path=VE
注意:這里用的是相對路徑,也可以把EMF、GEF、VE解壓縮到其它地方,再用絕對路徑即可。
再注意:絕對路徑是用 “/” 或者 “\\” 分隔,而不是“\”
補充知識:為什么ve需要emf和gef:
Visual Editor 所利用的最為明顯的工具是 GEF,即圖形化編輯框架(Graphical Editing
Framework)。GEF 建立于本地 Eclipse 圖形化工具集 SWT
之上,以使得開發一個圖形化編輯器或者所見即所得文本編輯器更為容易。如果您熟悉 SWT (或者
AWT/Swing,在這方面它們是類似的)中的圖形原語,那么您會知道繪制和處理任意的形狀(比如矩形、箭頭和橢圓)是比較困難的,更不用說管理它們之間的關系以及它們所代表的數據模型了。
GEF 被劃分為兩個部分:第一部分是 Draw2D 插件,這是一個輕量級的繪圖和呈現包,用于幫助您繪制圖形。第二部分是 GEF 插件,除了其他工具以外,這一部分中還增加了選擇和創建工具、工具選項板,以及用于在數據模型和視圖之間進行映射的控制器框架。
GEF
是一個模型無關的框架,但是作為 Visual Editor (以及其他生成代碼的圖形化工具)的一部分,它在后臺使用 Eclipse
建模框架(Eclipse Modeling Framework, EMF),以在模型、Java 類和圖形化表示之間進行映射,其中模型是使用
XML 元數據交換(XML Metadata Interchange, XMI)在內部存儲的。EMF
的重要特性之一是它確保所有這些映射都是一對一的;所以盡管 XMI
可以被認為是模型的標準表示,但是在代碼和圖形之間來回切換并不會丟失任何信息。這就是為什么 Visual Editor
只需要保存模型的一種表示(即 Java 源代碼),以及開發人員可以自由地在圖形化編輯器之外編輯該源代碼的原因。
4、安裝完畢,再次運行Eclipse,它啟動時會自動查找links目錄下所有的文本文件,并加載其中path指向的所有插件,這里當然包括VE。
A、如果不能確定是否已經加載,可選擇菜單Help-Software Updates-Manage Configuration,打開Product Configuration窗體,在其左邊的樹形欄里,可以看到已加載的插件。
B、如果加載沒有成功,可以試試用Eclipse -clear來運行程序。
C、如果加載仍沒有成功,可以試試刪除C:\eclipse\configuration下的內容,僅保留config.ini文件。然后再用Eclipse來運行程序。
================================================================
啟動eclipse平臺。剛開始,你可能覺得eclipse并沒有什么變化。先別急,請新建一個項目,點擊"文件"菜單下的"新建"子菜單,選擇并建立一個新的"java項目"。然后在工具欄上的"新建Java類" 圖標上,點擊右邊的小箭頭,將展開如下圖的菜單:
在此菜單上,多了一個"Visual Calss"的子菜單,這就是進入Visual Editor的入口之一。點擊"Visual Class",就會彈出創建GUI程序的對話框,選擇完畢后,就會進入可視化編輯畫面:
用VE寫個Hello:
1、新建一個項目;
File-New-Project...,選擇“Java Project”,然后Next,輸入一個項目名字:Hello,其它全部默認,最后回車,或者點擊“Finish”完成。
2、設置SWT庫;
A、選擇項目Hello,右鍵菜單,打開Properties對話框。
B、選擇左邊樹形中的Java Build Path,在其設置頁中,選擇Libraries頁,點擊“Add Library...”;
C、在打開的Add Library對話框里,選擇Standard Widget Toolkit(SWT),Next;
D、在打開的SWT Library Options對話框中,勾選上“Include support for JFace library”,Finish即可。
E、回到Properties對話框,OK即可。
3、新建Hellworld.java文件;
A、選擇項目Hello,右鍵菜單,New-Other...(或者點擊工具欄里新建圖標),打開Select a wizard對話框,選擇Java/Visual Class,Next;
B、在打開的Java Visual Class對話框中,
在Package里,輸入:com.cnblogs.pan;
在Name里,輸入:Helloworld;
在Style里,選擇SWT/Shell;
勾選上public static void main(String[] args);
最后Finish。
4、到了這一步,應該就可以看到窗體了,那些控件都在Palette里,點開就能看到了。
A、在窗體上右擊,選擇Set Layout,再選擇null;(此處為個人習慣)
B、從Palette里,選中一個Button,并在窗體任意位置畫一個Button,在下面的Properties窗口里,設置其text為ClickMe;
C、選中該按鈕,右擊選擇Events-Add Event,在打開的對話框中,選擇左邊的widgetSelected,Finish。
D、這時,光標會自動定位到程序相應的位置,我們在程序里加入下面語句:
public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
System.out.println("widgetSelected()");
MessageDialog.openInformation(null, "Hello", "Hello World!");//加入這條語句
}
E、保存程序,點擊菜單Run-Run As-Java Application,呵呵,跟全世界打個招呼吧!
新聞標題:java可視化界面代碼 java圖形化界面代碼
文章分享:http://m.kartarina.com/article14/hgsjde.html
成都網站建設公司_創新互聯,為您提供虛擬主機、云服務器、做網站、建站公司、網站建設、手機網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯