導航:首頁 > 編程語言 > java的GUI組件

java的GUI組件

發布時間:2024-10-01 00:29:22

java編程中,GUI界面的一般框架有什麼希望大神給寫個程序實例,程序內容包括布局的應用,多個

java GUI一般,通過AWT,SWING 實現

其餘比較流行的是SWT,但是它不是官方庫, 並且旦核不能跨平台

//注意:

Swing, 所以很多不涉及界面組件的一些類比如布局 等Swing也可以使用

但是組件,最好不要混用, 容易出現一些組件疊加,等顯示錯誤 比如JButton TextField等混用


//參考代碼

下面使用Swing組件來實嘩告現

importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;

//本類實現了ActionListener介面.一個ActionListener可以響應JMenuItem和JButton的動作
//本類實現FocusListener介面,一個FocusListener可以響應JTextField,JButton等
//JButton響應多個事件介面
,FocusListener{
privateJTextFieldjtf1;
privateJTextFieldjtf2;
privateJTextFieldjtf3;
privateJButtonjb1;

publicMyGuiFrame(){
//----------窗口屬性亂遲明的設置----------
setTitle("窗口應用程序");//窗口標題
setSize(380,120);//窗口大小
setLocationRelativeTo(null);//窗口居於屏幕中央
setDefaultCloseOperation(EXIT_ON_CLOSE);//點擊關閉窗口後退出jvm虛擬機
getContentPane().setLayout(newBorderLayout(5,3));//邊界布局,水平間距5,垂直間距3

//菜單欄組件初始化
initMenu();

//主要面板的初始化
initPanel();
}

privatevoidinitPanel(){
JPaneljp=newJPanel(newFlowLayout(FlowLayout.CENTER));//流式布局
jtf1=newJTextField(8);
jtf1.addFocusListener(this);//添加焦點響應
JLabeljl=newJLabel("+");
jtf2=newJTextField(8);
jtf2.addFocusListener(this);
jb1=newJButton("=");
jb1.addActionListener(this);//添加動作響應
jb1.addFocusListener(this);//添加焦點響應

jtf3=newJTextField(8);
jtf3.setEditable(false);

jp.add(jtf1);
jp.add(jl);
jp.add(jtf2);
jp.add(jb1);
jp.add(jtf3);
getContentPane().add(jp,BorderLayout.CENTER);

}

privatevoidinitMenu(){//菜單欄的初始化和設置
JMenuBarjmb=newJMenuBar();
JMenujm1=newJMenu("系統");
JMenuItemjmi101=newJMenuItem("退出");
jmi101.addActionListener(this);//添加動作響應
JMenujm2=newJMenu("幫助");
JMenuItemjmi201=newJMenuItem("功能說明");
jmi201.addActionListener(this);
jm1.add(jmi101);
jm2.add(jmi201);
jmb.add(jm1);
jmb.add(jm2);
setJMenuBar(jmb);//設置菜單欄
}

//main方法,創建對象窗口,並且設置可見
publicstaticvoidmain(String[]args){
newMyGuiFrame().setVisible(true);
}

//動作響應處理
publicvoidactionPerformed(ActionEvente){
Stringcmd=e.getActionCommand();//根據命令來區分不同的操作
if(cmd.equals("退出")){
System.exit(0);
}
if(cmd.equals("功能說明")){
JOptionPane.showMessageDialog(this,"加法");
}
if(cmd.equals("=")){

Strings1=jtf1.getText().trim();
Strings2=jtf2.getText().trim();
if(s1.equals("")){
s1="0";
}
if(s2.equals("")){
s2="0";
}
doublenum1=Double.parseDouble(s1);//從字元串轉小數
doublenum2=Double.parseDouble(s2);
jtf3.setText((num1+num2)+"");//數字類型轉字元串類型

}
}

//焦點響應處理
publicvoidfocusGained(FocusEvente){//獲得焦點
JComponentcmp=(JComponent)e.getComponent();//根據事件來源組件來區分不同的操作
if(cmp==jtf1||cmp==jtf2){
cmp.setBorder(BorderFactory.createLineBorder(Color.BLUE));//設置邊框
}
if(cmp==jb1){
jb1.setForeground(Color.RED);//設置文字顏色
}
}

publicvoidfocusLost(FocusEvente){//失去焦點
JComponentcmp=(JComponent)e.getComponent();
if(cmp==jtf1||cmp==jtf2){
cmp.setBorder(BorderFactory.createLineBorder(Color.GRAY));
}
if(cmp==jb1){
jb1.setForeground(Color.BLACK);
}
}

}


運行效果如圖

② 進行java基本的gui設計需要用到的包

1. Java GUI設計主要依賴於java.awt包,這個包提供了創建圖形用戶界面的基礎類。
2. java.awt包中包含了用於構建用戶界面和繪制圖形圖像的各種類。
3. 在進行Java基本的GUI設計時,需要使用java.awt包中的類來定義窗口、按鈕、文本框等界面元素。

閱讀全文

與java的GUI組件相關的資料

熱點內容
linux伺服器加固 瀏覽:507
加密狗重復輸入口令 瀏覽:11
和目下載的視頻在那個文件夾 瀏覽:883
資金量抓股指標源碼 瀏覽:657
有什麼app能賺錢 瀏覽:488
安卓手機側屏怎麼搞 瀏覽:847
安卓機怎麼製作60幀視頻 瀏覽:936
qq設置郵箱接收伺服器地址 瀏覽:171
定時關機的dos命令 瀏覽:959
如何把rar解壓成wav 瀏覽:536
什麼是命令控制伺服器 瀏覽:365
我的世界命令方塊為什麼不好使用 瀏覽:962
數據結構中的加密演算法 瀏覽:988
百錢百雞c語言演算法 瀏覽:853
怎麼查看代理伺服器日誌 瀏覽:572
壓縮性脊椎骨折 瀏覽:274
pdf加密選不中 瀏覽:29
哪個捕魚app能交易 瀏覽:824
github網站源碼 瀏覽:487
php高級工程師名片 瀏覽:176