❶ 請簡要說明java基於SWING的圖形用戶界面設計中的事件機制及處理事件的步驟 謝謝了,簡要
在編程語言中的事件就是當某組件的狀態發生改變的時候通知其它對象發生了這件事,我們在這里只討論圖形界面的組件,有可能是按鈕、文本框、菜單、多選等等。
對於通知其它對象的方法一般有兩種模式:
1)推模式:狀態改變的對象通知其它對象;
2)拉模式:其他對象不停的查看該對象狀態是否發生改變。
例如我去小賣部買煙,要一包紅塔山,結果小賣部沒貨了,如果我把我得電話給小賣部老闆,煙如果到了請給我打電話,這就是推模式。如果我每隔5分鍾來小賣部看一看煙是否到了,這就是拉模式。
Java採用的是推模式,所有監聽事件都基於觀察者設計模式,所以我們也可以自己給予觀察者開發出專用的監聽器。
我們JavaGUI程序開發,會經常使用到監聽事件,比如一個小計算器的程序,當我們點擊「計算」按鈕後,希望程序將兩個文本框中的數字相加,那麼就必需給這個按鈕添加事件:
1)按鈕的動作觸發事件介面是ActionListener介面(不同組件要實現不同功能需要有不同的介面),我們需要寫一個事件類,實現ActionListener介面,介面中需要我們實現的方法actionPerformed(ActionEvent e)代表了當按鈕事件被觸發後需要程序做些什麼,比如在這里用System.out.println("你好")在控制台列印你好,這一步就相當於我把電話寫在紙上。
2)調用JButton組件實例的addActionListener(ActionListener al)方法(其它事件也有相應的方法)將上面寫的事件類注冊到這個按鈕上,這就相當於我把寫著電話的紙條交給小賣部的老闆。
上述兩部工作完成後,這個按鈕的事件就添加完成了,程序運行,點擊按鈕,動作事件被觸發,控制台顯示「你好」。
實例:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
/**
* 一個簡單的按鈕事件教學實例
* @author 米強
*
*/
public class Test extends JFrame {
public Test() {
super("簡單的按鈕事件實例");
// 一個按鈕的實例化對象
JButton button = new JButton("按鈕");
// 構造一個事件類,該類實現了ActionListener動作介面
MyActionListener action = new MyActionListener();
// 為這個按鈕添加動作事件(匿名類等寫法在這里不做討論)
button.addActionListener(action);
// 將按鈕添加到窗體中
getContentPane().add(button);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(300, 200);
setLocationRelativeTo(null);
setVisible(true);
}
public static void main(String[] args) {
new Test();
}
}
/**
* 事件類,實現ActionListener介面
* @author 米強
*
*/
class MyActionListener implements ActionListener {
/**
* 動作事件出發後所執行的方法
*/
public void actionPerformed(ActionEvent e) {
// 在控制台列印「你好」
System.out.println("你好");
}
}
❷ 如何搭建 java swing圖形界面開發
這個問題很寬泛,建議查看具體的教程及書籍,網路文庫有一篇java swing圖文教程,一起帖在這里了:
http://wenku..com/link?url=--WWEt8bqsbFi_nIQB0P5kAv7
❸ Java Swing圖形界面開發需不需要單獨去學感覺開發界面好像很重要請問是不是啊
如果你對Java GUI編程感興趣,你自己都會去學的。
界面開發重不重要要看你開發的軟體情況,如果你是做產品,那麼就很重要,因為一套設計良好的界面能為用戶帶來更好的體驗從而加深用戶對你產品的好感;如果你只是做企業內部應用,那麼界面就不是那麼重要了。
關於Java界面編程方面的書有很多,我推薦你看看《Java用戶界面編程指南》,雖然是本很早的書了,但是它會讓你學會很多,包括界面設計思路,編程方法,還有不少通用的界面編程方法。
祝你好運 :)
❹ java swing圖形界面
不知道你創建圖形界面有沒有什麼特別的要求,如果是用swing的話,直接寫java類就可以了,和建立普通的java工程然後再寫java類並沒什麼特別的不同。下面我就舉一個簡單的swing圖形界面的例子。
首先新建一個項目,然後建個包,就是普通的java工程的構建方法。再建一個Test類,復制下面的代碼,保證包名正確,再運行就可以得到一個圖形用戶界面了。這個界面上的move按鈕可以響應上下左右鍵。
packagetest;
//包名換成你自己的包名
importjava.awt.event.KeyEvent;
importjava.awt.event.KeyListener;
importjavax.swing.JButton;
importjavax.swing.JFrame;
publicclassTestextendsJFrame{
/**
*
*/
=1L;
publicTest(){
finalJButtonbutton=newJButton("move");
button.setSize(70,30);
button.setLocation(100,100);
button.addKeyListener(newKeyListener(){
@Override
publicvoidkeyTyped(KeyEvente){
}
@Override
publicvoidkeyReleased(KeyEvente){
}
@Override
publicvoidkeyPressed(KeyEvente){
if(e.getKeyCode()==KeyEvent.VK_UP){
button.setLocation(button.getX(),button.getY()-1);
}elseif(e.getKeyCode()==KeyEvent.VK_DOWN){
button.setLocation(button.getX(),button.getY()+1);
}elseif(e.getKeyCode()==KeyEvent.VK_LEFT){
button.setLocation(button.getX()-1,button.getY());
}elseif(e.getKeyCode()==KeyEvent.VK_RIGHT){
button.setLocation(button.getX()+1,button.getY());
}
}
});
this.setLayout(null);
this.add(button);
this.setSize(300,200);
this.setLocationRelativeTo(null);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
publicstaticvoidmain(String[]args){
Testtest=newTest();
}
}
❺ JavaSwing圖形界面開發與案例詳解的內容簡介
全書共20章,其中第1~2章主要介紹有關Swing的基礎知識,包括Swing的基本概述、如何使用IDE開發Swing程序;第3~15章結合眾多實例和問題介紹最常用、最有用的組件及其應用方法,包括標簽和按鈕組件、布局管理器組件、面板組件、列表框組件、下拉列表框組件、進度條組件、時間組件、滑塊組件、分隔條組件、選取器組件、文本組件、窗口組件、對話框組件、JApplet組件、菜單組件、工具條組件、表格組件、樹組件以及組件的事件處理機制等;第16~19章主要講述有關Swing圖形開發的其他知識,包括觀感器、Swing線程與並發、模型與架構等。第20章通過一個綜合實例使讀者能夠在實際開發中理解和鞏固所學知識,從而提高綜合應用能力。
《JavaSwing圖形界面開發與案例詳解》幾乎涵蓋了目前JavaSwing圖形開發必備的所有常用知識,擁有豐富的實例,且這些實例均來自於工程實踐,《JavaSwing圖形界面開發與案例詳解》適合Java程序語言的初學者閱讀,也可供具有一定編程經驗的初級編程人員參考。
❻ JavaSwing圖形界面開發與案例詳解的作品目錄
第1章JavaSwing概述
1.1什麼是JavaSwing
1.1.1Swing的發展史
1.1.2Swing的功能
1.1.3Swing的特性
1.2.1avaSwing的包結構
1.3一個JavaSwing程序實例
1.4本章小結
1.5本章習題
第2章如何使用IDE開發Swing程序
2.1如何利用Eclipse開發Swing程序
2.2如何利用JBuilder開發Swing程序
2.3如何利用NetBeans開發Swing程序
2.4本章小結
2.5本章習題
第3章JavaSwirlg組件基礎
3.1Swing組件類的層次
3.2Window類
3.2.1頂層容器類和包含層次
3.2.2在頂層容器中添加組件
3.2.3在頂層容器中添加菜單欄
3.3JComponent類
3.4本章小結
3.5本章習題
第4章如何使用標簽和按鈕組件
4.1如何使用標簽
4.2如何使用按鈕
4.2.1如何使用普通按鈕
4.2.2如何使用單選按鈕
4.2.3如何使用復選框
4.2.4按鈕組件的實例應用
4.3本章小結
4.4本章習題
第5章如何使用布局管理器組件
5.1布局管理器概述
5.2布局管理器的種類
5.2.1BorderLayout
5.2.2FlowLayout
5.2.3GridLayout
5.2.4GridBagLayout
5.2.5CardLayout
5.2.6BoxLayout
5.2.7SpringLayout
5.2.8GroupLayout
5.3自定義布局管理器的創建
5.4本章小結
5.5本章習題
第6章如何使用面板組件
6.1如何使用JPanel
6.2如何使用JScrollPane
6.3如何使用JSplitPane
6.4如何使用JTabbedPane
6.5如何使用JIntemalFrame
6.6如何使用JLayeredPane
6.7如何使用JRootPane
6.8本章小結
6.9本章習題
第7章Swirlg事件處理機制
7.1Swing事件處理機制概述
7.2Swing中的監聽器
7.2.1事件處理的過程與步驟
7.2.2匿名類方式處理事件
7.2.3適配器類
7.2.4Swing所支持的事件監聽器
7.2.5窗口事件的處理
7.2.6動作事件的處理
7.2.7焦點事件的處理
7.3本章小結
7.4本章習題
第8章如何使用列表框和下拉列表框組件
8.1如何使用列表框JList
8.1.1使用數組方式創建列表框
8.1.2使用Vector方式創建列表框
8.1.3使用ListModel方式創建列表框
8.1.4列表框選取事件的處理
8.1.5列表框雙擊事件的處理
8.2如何使用下拉列表框JComboBox
8.2.1使用數組和Vector創建下拉列表框
8.2.2使用ComboBoxModel創建下拉列表框
8.2.3下拉列表框的事件處理
8.3本章小結
8.4本章習題
第9章如何使用進度條、時間、滑塊和分隔條組件
9.1如何使用進度條組件JProgressBar
9.2如何使用時間組件Timer
9.3如何使用滑塊組件JSlider
9.4如何使用分隔條組件JSeparator
9.5本章小結
9.6本章習題
第10章如何使用選取器組件
10.1如何使用文件選取器JFileChooser
10.1.1如何創建JFileChooser組件
10.1.2如何創建JFileChooser對話框
10.2如何使用顏色選取器JColorChooser
10.3本章小結
10.4本章習題
第11章如何使用文本組件
11.1文本組件概述
11.2如何使用普通文本組件
11.2.1如何使用JTextField
11.2.2如何使用JPasswordField
11.2.3如何使用JFormattedTextField
11.3如何使用文本區組件
11.4如何列印文本組件
11.5本章小結
11.6本章習題
第12章如何使用窗口、對話框和JApplet組件
12.1如何使用窗口組件
12.2如何使用對話框組件
12.3如何使用JApplet組件
12.4本章小結
12.5本章習題
第13章如何使用菜單和工具條組件
13.1如何使用菜單組件
13.1.1菜單組件的類層次
13.1.2如何創建菜單
13.1.3如何處理菜單事件
13.1.4如何響應鍵盤操作
13.1.5如何使用彈出式菜單
13.1.6如何使用菜單項的啟用和禁用功能
13.1.7如何創建復選框菜單項
13.1.8如何創建單選按鈕菜單項
13.1.9如何定義個性化菜單
13.1.10菜單組件的常用API
13.2如何使用工具條組件
13.2.1如何創建工具條
13.2.2如何定義個性化工具條
13.2.3工具條組件的常用API
13.3本章小結
13.4本章習題
第14章如何使用表格組件
14.1如何創建一個表格
14.2如何把表格加入容器
14.3如何設置表格列寬
14.4如何創建表格模型
14.5如何監聽數據變化
14.6如何使用選擇器
14.7如何使用編輯器和渲染器
14.8如何使用自定義渲染器
14.9如何為單元格指定文字說明
14.10如何為表頭指定文字說明
14.11如何使用排序和過濾
14.12如何使用組合框作為編輯器
14.13如何使用其他編輯器
14.14如何使用編輯器驗證文本
14.15如何列印表格
14.16本章小結
14.17本章習題
第15章如何使用樹組件
15.1如何創建樹
15.2如何創建數據模型
15.3如何處理節點事件
15.3.1如何處理TreeModelEvent事件
15.3.2如何處理TreeSelectionEvent事件
15.4如何定義個性化樹
15.5樹組件的常用API
15.6本章小結
15.7本章習題
第16章如何使用Swing觀感器
16.1如何設置程序的觀感
16.2如何自定義觀感器
16.3本章小結
16.4本章習題
第17章Swing與並發
17.1多線程問題
17.2初始線程
17.3事件分派線程
17.4工作線程
17.4.1簡單的背景任務
17.4.2擁有臨時結果的任務
17.4.3取消背景任務
17.4.4綁定屬性和狀態方法
17.5本章小結
17.6本章習題
第18章Swing模型架構
18.1傳統的MVC設計模式
18.2可分離的模型架構
18.3本章小結
18.4本章習題
第19章Swing的其他特性
19.1如何在Swing組件中使用HTML
19.2如何使用邊框
19.2.1如何使用Swing中的邊框
19.2.2如何創建自定義邊框
19.2.3邊框組件的常用API
19.3如何使用圖標
19.4如何使用動作
19.5如何支持輔助技術
19.6如何使用焦點子系統
19.7如何使用鍵綁定
19.8如何在對話框中使用Modality
19.9如何創建SplashScreen
19.10如何使用SystemTray
19.11如何使用Swing拖曳功能和數據傳輸
19.12本章小結
19.13本章習題
第20章Swirlg實現通訊錄系統
20.1通訊錄系統的軟體框架
20.2通訊錄系統的登錄系統
20.3通訊錄系統的主菜單系統
20.3.1資料庫模塊的設計
20.3.2信息界面模塊的設計
20.3.3功能模塊的設計
20.3.4其他模塊的設計
20.3.5TabbedPane容器框架的設計
20.3.6主菜單的設計
20.4本章小結
……
❼ java圖形界面設計實驗,求源代碼!
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Calculator01 extends JFrame implements ActionListener {
JPanel jp1,jp2;
JTextField jt1,jt2,jt3;
JButton btn_add,btn_sub,btn_clean;
public Calculator01() {
init();
}
public void init() {
setTitle("簡易計算器");
setLocationRelativeTo(null);
setSize(600, 100);
jp1 = new JPanel();
jp2 = new JPanel();
add(jp1, BorderLayout.NORTH);
add(jp2,BorderLayout.SOUTH);
jt1 = new JTextField(15);
jp1.add(jt1);
jt2 = new JTextField(15);
jp1.add(jt2);
jt3 = new JTextField(15);
jp1.add(jt3);
btn_add = new JButton("+");
btn_add.addActionListener(this);
jp2.add(btn_add);
btn_sub = new JButton("-");
btn_sub.addActionListener(this);
jp2.add(btn_sub);
btn_clean = new JButton("清除");
btn_clean.addActionListener(this);
jp2.add(btn_clean);
setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
if (e.getSource() == btn_clean)
{
jt1.setText("");
jt2.setText("");
jt3.setText("");
}
else
{
if (jt1.getText().equals("") || jt2.getText().equals(""))
{
JOptionPane.showMessageDialog(null, "請在前兩個框輸入數字");
}
else
{
double number1=Double.parseDouble(jt1.getText());
double number2=Double.parseDouble(jt2.getText());
double result=0;
if (e.getSource() == btn_add)
{
result = number1 + number2;
}
else
{
result = number1 - number2;
}
jt3.setText(""+result);
}
}
}
}
❽ 關於Java Swing 圖形界面的
0. JavaSwing 簡介
Java Swing 圖形界面開發簡介
1. JavaSwing 布局管理器
JavaSwing_1.1: FlowLayout(流式布局)
JavaSwing_1.2: GridLayout(網格布局)
JavaSwing_1.3: GridBagLayout(網格袋布局)
JavaSwing_1.4: BoxLayout(箱式布局)
JavaSwing_1.5: GroupLayout(分組布局)
JavaSwing_1.6: CardLayout(卡片布局)
JavaSwing_1.7: BorderLayout(邊界布局)
JavaSwing_1.8: SpringLayout(彈性布局)
JavaSwing_1.9: null(絕對布局)
2. JavaSwing 基本組件
JavaSwing_2.1: JLabel(標簽)
JavaSwing_2.2: JButton(按鈕)
JavaSwing_2.3: JRadioButton(單選按鈕)
JavaSwing_2.4: JCheckBox(復選框)
JavaSwing_2.5: JToggleButton(開關按鈕)
JavaSwing_2.6: JTextField(文本框)
JavaSwing_2.7: JPasswordField(密碼框)
JavaSwing_2.8: JTextArea(文本區域)
JavaSwing_2.9: JComboBox(下拉列表框)
JavaSwing_2.10: JList(列表框)
JavaSwing_2.11: JProgressBar(進度條)
JavaSwing_2.12: JSlider(滑塊)
3. JavaSwing 面板組件
JavaSwing_3.1: JPanel(面板)
JavaSwing_3.2: JScrollPane(滾動面板)
JavaSwing_3.3: JSplitPane(分隔面板)
JavaSwing_3.4: JTabbedPane(選項卡面板)
JavaSwing_3.5: JLayeredPane(層級面板)
4. JavaSwing 其他組件
JavaSwing_4.1: JFrame(窗口)
JavaSwing_4.2: JDialog、JOptionPane(對話框)
JavaSwing_4.3: JFileChooser(文件選擇器)
JavaSwing_4.4: JColorChooser(顏色選擇器)
JavaSwing_4.5: JMenuBar(菜單欄)
JavaSwing_4.6: JToolBar(工具欄)
JavaSwing_4.7: JPopupMenu(彈出菜單)
JavaSwing_4.8: JTable(表格)
JavaSwing_4.9: JTree(樹)
JavaSwing_4.10: JInternalFrame(內部窗口)
5. JavaSwing 相關特性
JavaSwing_5.1: 組件的位置和尺寸
JavaSwing_5.2: 組件邊框(Border)
JavaSwing_5.3: 事件處理
JavaSwing_5.4: 多線程並發與線程安全
JavaSwing_5.5: 拖拽功能
JavaSwing_5.6: 系統托盤(System Tray)
JavaSwing_5.7: 閃屏(Splash Screen)
擴展:Java AWT/Swing 其他相關
Java繪圖: 使用Graphics類繪制線段、矩形、橢圓/圓弧/扇形、圖片、文本
Java圖片操作 — 圖片的讀取、繪制、縮放、裁剪、保存
Java代碼截屏:使用 Java 代碼截取電腦屏幕並保存
Java模擬滑鼠鍵盤輸入事件 — Robot 類
Java操作桌面應用 — Desktop 類
Java操作系統剪貼板(Clipboard)實現復制和粘貼
❾ 用java swing來編寫一個答題器的圖形界面該怎麼編寫下面附上我的程序
你可以直接用Eclipse或者NetBeans的圖形界面,之後添加組件的響應就可以啦,很方便的。。。。
❿ JavaSwing圖形界面開發與案例詳解的作品序言
Java技術的強大生命力來自於它所蘊含的面向對象和設計模式思想,由此開發出來的程序,不僅具有非常美觀的藝術性,而且具有非常高的重用性,這種重用性使開發工作變得非常輕松。
Java的Swing技術,因Java強大的生命力而被賦予非常廣闊的展示舞台,Swing技術從編碼時起就能承載諸多Java設計理念,所以,您將在相對比較「繁瑣」的Swing代碼里體會Java的樂趣。「Swing組件」、「事件處理監聽器」。