成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

JAVA基礎-GUI

瀏覽:39日期:2022-08-31 13:04:52

Java也提供圖像化編程

圖形化

GUI(圖形用戶界面)

GUI

1 Graphical User Interface(圖形用戶接口)

2 用圖形的方式,來顯示計算機操作的界面,這樣更方便更直觀

CLI

1 Command line User Interface (命令行用戶接口)

2 就是常見的Dos命令行操作

3 需要記憶一些常用的命令,操作不直觀

Java為GUI提供的對象都存在java.Awt和javax.Swing兩個包中

Awt和Swing

java.Awt:Abstract Window ToolKit(抽象窗口 工具包),需要調用本地系統方法實現功能。屬重量級控件

javax.Swing:在AWT的基礎上,建立的一套圖形界面系統,其中提供了更多的組件,而且完全由Java實現。增強了移植性,屬

輕量級控件

繼承關系圖

JAVA基礎-GUI

Container:為容器,是一個特殊的組件,該組件中可以通過add方法添加其他組件進來

布局管理器

容器中的組件的排放方式,就是布局

常見的布局管理器:

FlowLayout(流式布局管理器)從左到右的順序排列Panel默認的布局管理器

BorderLayout(邊界布局管理器)東,南,西,北,中Frame默認的布局管理器

GridLayout(網格布局管理器)規則的矩陣

CardLayout(卡片布局管理器)選項卡

GridBagLayout(網格包布局管理器)非規則的矩陣

建立一個簡單的窗體

Container常用子類:Window Panel(面板,不能單獨存在)

Window常用子類:Frame Dialog

簡單的窗體創建過程:

Frame f = new Frame('my window');f.setLayout(new FlowLayout());f.setSize(500,400);//設置窗體大小f.setLocation(300,200);//設置窗體出現在屏幕的位置f.setVisible(true); //設置窗口可見性

事件監聽

事件監聽機制組成

事件源(組件):就是awt包或者swing包中的那些圖形界面組件

事件(Event):每一個事件源都有自己特有的對應事件和共性事件

監聽器(Listener):將可以觸發某一個事件的動作(不只一個動作)都已經封裝到了監聽器中

事件處理(引發事件后處理方式)

事件監聽機制流程圖

JAVA基礎-GUI

事件監聽機制

1 確定事件源(容器或組件)

2 通過事件源對象的addXXXListener()方法將偵聽器注冊到該事件源上

3 該方法中接收XXXListener的子類對象,或者XXXListener的子類XXXAdapter的子類對象

4 一般用匿名內部類來表示

5 在覆蓋方法的時候,方法的參數一般是XXXEvent類型的變量接收

6 事件觸發后會把事件打包成對象傳遞給該變量(其中包括事件源對象。通過getSource()或者getComponent()獲取)

import java.awt.*;import java.awt.event.*;import java.io.*;class Test {private Frame f;private TextField tf;private Button but;private TextArea ta;private Dialog d;private Label lab;private Button okBut;Test() {init();}public void init() {f = new Frame('my window');f.setBounds(300,100,600,500);f.setLayout(new FlowLayout());tf = new TextField(60);but = new Button('轉到');ta = new TextArea(25,70);d = new Dialog(f,'提示信息-self',true);d.setBounds(400,200,240,150);d.setLayout(new FlowLayout());lab = new Label();okBut = new Button('確定');d.add(lab);d.add(okBut);f.add(tf);f.add(but);f.add(ta);myEvent();f.setVisible(true);}private void myEvent() {okBut.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {d.setVisible(false);}});d.addWindowListener(new WindowAdapter() {public void windowClosing(WindowEvent e) {d.setVisible(false);}});tf.addKeyListener(new KeyAdapter() {public void keyPressed(KeyEvent e) {if(e.getKeyCode()==KeyEvent.VK_ENTER)showDir();}});but.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {showDir();}});f.addWindowListener(new WindowAdapter() {public void windowClosing(WindowEvent e) {System.exit(0);}});}private void showDir() {String dirPath = tf.getText();File dir = new File(dirPath);if(dir.exists() && dir.isDirectory()) {ta.setText('');String[] names = dir.list();for(String name : names) {ta.append(name+'rn');}} else {String info = '輸入信息錯誤,請重輸';lab.setText(info);d.setVisible(true);}}public static void main(String[] args) {new Test();}}

菜單

概述

MenuBar,Menu,MenuItem先創建菜單條,再創建菜單,每一個菜單 中建立菜單項也可以菜單添加到菜單中,作為子菜單通過setMenuBar()方法,將菜單添加到Frame中

菜單繼承體系

JAVA基礎-GUI

代碼示例

import java.awt.*;import java.awt.event.*;class Test {private Frame f;private MenuBar mb;private Menu m,subMenu;private MenuItem closeItem,subItem;Test(){init();} public void init(){f = new Frame('my window');f.setBounds(300,100,500,600);f.setLayout(new FlowLayout());mb = new MenuBar();m = new Menu('文件');subMenu = new Menu('子菜單');subItem = new MenuItem('子條目');closeItem = new MenuItem('退出');subMenu.add(subItem);m.add(subMenu);m.add(closeItem);mb.add(m);f.setMenuBar(mb);myEvent();f.setVisible(true);}private void myEvent() {closeItem.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {System.exit(0);}});f.addWindowListener(new WindowAdapter() {public void windowClosing(WindowEvent e) {System.exit(0);}});}public static void main(String[] args) {new Test();}}

可執行Jar包

1 將多個類封裝到了一個包(package)中。

2 定義一個jar包的配置信息。

3 定義一個文件a.txt,文件內容內容為:Main-Class:(空格)包名.類名(回車)

4 打jar包。jar -cvfm my.jar a.txt 包名

5 通過winrar程序進行驗證,查看該jar的配置文件中是否有自定義的配置信息

6 通過工具?文件夾選項?文件類型?jar類型文件,通過高級,定義該jar類型文件的打開動作的關聯程序jdkbinjavaw.exe -jar

package mymenu;import java.awt.*;import java.awt.event.*;import java.io.*;public class Test {private Frame f;private MenuBar bar;private TextArea ta;private Menu fileMenu;private MenuItem openItem,saveItem,closeItem;private FileDialog openDia,saveDia;private File file;Test() {init();}public void init() {f = new Frame('my window');f.setBounds(300,100,650,600);bar = new MenuBar();ta = new TextArea();fileMenu = new Menu('文件');openItem = new MenuItem('打開');saveItem = new MenuItem('保存');closeItem = new MenuItem('退出');fileMenu.add(openItem);fileMenu.add(saveItem);fileMenu.add(closeItem);bar.add(fileMenu);f.setMenuBar(bar);openDia = new FileDialog(f,'我要打開',FileDialog.LOAD);saveDia = new FileDialog(f,'我要保存',FileDialog.SAVE);f.add(ta);myEvent();f.setVisible(true);}private void myEvent() {saveItem.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {if(file==null) {saveDia.setVisible(true);String dirPath = saveDia.getDirectory();String fileName = saveDia.getFile();if(dirPath==null || fileName==null)return ;file = new File(dirPath,fileName);}try {BufferedWriter bufw = new BufferedWriter(new FileWriter(file));String text = ta.getText();bufw.write(text);//bufw.flush();bufw.close();} catch (IOException ex) {throw new RuntimeException();}}});openItem.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {openDia.setVisible(true);String dirPath = openDia.getDirectory();String fileName = openDia.getFile();if(dirPath==null || fileName==null)return ;ta.setText('');file = new File(dirPath,fileName);try {BufferedReader bufr = new BufferedReader(new FileReader(file));String line = null;while((line = bufr.readLine()) != null) {ta.append(line+'rn');}bufr.close();} catch (IOException ex) {throw new RuntimeException('讀取失敗');}}});closeItem.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {System.exit(0);}});f.addWindowListener(new WindowAdapter() {public void windowClosing(WindowEvent e) {System.exit(0);}});}public static void main(String[] args) {new Test();}}

以上就是JAVA基礎-GUI的詳細內容,更多關于JAVA GUI的資料請關注好吧啦網其它相關文章!

標簽: Java
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
激情亚洲综合在线| 欧美福利视频| 日本亚洲欧美天堂免费| 悠悠色在线精品| 亚洲日本在线看| 亚洲视频一区二区在线| 综合电影一区二区三区| 国产精品国产三级国产aⅴ原创| 精品国产百合女同互慰| 日韩一区二区麻豆国产| 欧美激情 亚洲a∨综合| 好看的日韩av电影| 影音欧美亚洲| 国产精品久久久久9999高清| 亚洲免费中文| 欧美在线观看视频在线| 7777精品伊人久久久大香线蕉| 日韩一卡二卡三卡国产欧美| 精品国产免费久久| **欧美大码日韩| 午夜精品一区二区三区免费视频| 奇米影视一区二区三区小说| 国产剧情av麻豆香蕉精品| 91麻豆成人久久精品二区三区| 极品裸体白嫩激情啪啪国产精品| 国产日韩欧美高清免费| 色综合 综合色| 欧美一区二区三区四区久久| 久久精品夜色噜噜亚洲aⅴ| 亚洲人成在线观看一区二区| 图片区日韩欧美亚洲| 国产精品一级片在线观看| 91啪九色porn原创视频在线观看| 亚洲日本免费| 欧美色欧美亚洲另类二区| 亚洲精品在线免费播放| 一区二区三区四区五区视频在线观看| 五月天中文字幕一区二区| 懂色av一区二区夜夜嗨| 亚洲国产免费看| 制服丝袜亚洲播放| 亚洲免费观看在线视频| 狠狠色综合色综合网络| 欧美日韩一区二区高清| 在线视频亚洲一区| 国产色产综合产在线视频| 亚洲va在线va天堂| 99精品热视频| 久久久久欧美精品| 久久精品欧美日韩精品| 日韩高清在线不卡| 韩国亚洲精品| 在线播放中文字幕一区| 亚洲女厕所小便bbb| 国产精品18久久久久久久久久久久| 激情久久五月| 欧美一区二区三区电影| 欧美亚洲动漫精品| 国产精品沙发午睡系列990531| 久久国产精品第一页| 欧美视频二区| 777精品伊人久久久久大香线蕉| 亚洲一区久久| 久久精品男人天堂av| 国内精品嫩模私拍在线| 午夜宅男久久久| 国产女人18水真多18精品一级做 | 中文字幕日韩精品一区| 极品美女销魂一区二区三区 | 欧美一级夜夜爽| 日韩激情一二三区| 精品999网站| 精品国产sm最大网站免费看| 久久精品国产亚洲高清剧情介绍| 亚洲国内欧美| 国产精品视频免费| 成人av免费观看| 欧美肥大bbwbbw高潮| 日欧美一区二区| 国产日韩精品一区观看 | 97精品国产97久久久久久久久久久久| 色综合久久久久久久久久久| |精品福利一区二区三区| 欧美一区二区三区久久精品茉莉花| 欧美精品少妇一区二区三区| 蜜臀久久久久久久| 色婷婷激情综合| 日韩成人一级片| 麻豆精品网站| 亚洲一区二区精品3399| 国产日韩精品视频一区二区三区| 国产精品久久久久桃色tv| 91蝌蚪国产九色| 久久影院视频免费| 成人网在线免费视频| 日韩欧美一区电影| 成人免费视频播放| 久久综合九色综合欧美亚洲| 成人午夜在线播放| 久久久99精品久久| 91色在线porny| 国产精品无码永久免费888| 欧美日韩亚洲一区二区三区四区| 国产精品免费视频一区| 伊人蜜桃色噜噜激情综合| 一区二区三区中文在线观看| 国产欧美日韩综合精品二区| 亚洲成人在线免费| 欧美网站大全在线观看| 国产九色sp调教91| 久久人人97超碰com| 欧美精品三级| 亚洲视频狠狠干| 美女精品一区| 久久91精品国产91久久小草 | 久久99精品视频| 欧美一区二区视频观看视频 | 欧美一级久久久| 91影视在线播放| 最新日韩av在线| 久久国产主播| 国产成人精品免费看| 国产日产精品一区| 国产一区二区三区奇米久涩| 七七婷婷婷婷精品国产| 日韩一级二级三级| 国产精品xnxxcom| 婷婷国产v国产偷v亚洲高清| 欧美性生活大片视频| voyeur盗摄精品| 国产精品久久午夜夜伦鲁鲁| 香蕉av777xxx色综合一区| 韩国一区二区视频| 欧美激情综合网| 久久狠狠婷婷| 成人97人人超碰人人99| 亚洲乱码国产乱码精品精小说| 色婷婷久久久亚洲一区二区三区| 国产精品高潮呻吟久久| 久久在线视频| 99久久久久免费精品国产| 一区二区三区日韩精品| 欧美肥胖老妇做爰| 99av国产精品欲麻豆| 久久精品一二三| 老司机精品视频网站| 99久久精品国产麻豆演员表| 亚洲午夜精品一区二区三区他趣| 欧美一区二区免费视频| 亚洲精品日韩久久| 国产精品亚洲第一| 亚洲自拍另类综合| 精品国产免费久久| 色噜噜久久综合| 国产一区在线免费观看| 久草在线在线精品观看| **性色生活片久久毛片| 日韩色视频在线观看| 免费日韩精品中文字幕视频在线| av电影天堂一区二区在线| 日韩综合一区二区| 国产精品久线在线观看| 51精品秘密在线观看| 日韩一级精品| 亚洲欧美日韩一区二区三区在线观看| 欧美喷潮久久久xxxxx| 国产亚洲精品久久久久婷婷瑜伽| 成人免费观看男女羞羞视频| 五月天亚洲精品| 国产欧美一区二区精品性色| 欧美人与禽zozo性伦| 一区二区三区视频在线播放| 91网站在线播放| 国产精选一区二区三区| 视频一区在线播放| 中文字幕亚洲一区二区av在线| 日韩一区二区在线观看视频 | av在线综合网| 国产九九视频一区二区三区| 日韩在线一区二区三区| 亚洲精品国产无天堂网2021| 欧美国产欧美亚州国产日韩mv天天看完整| 欧美精品九九99久久| 色猫猫国产区一区二在线视频| 国产欧美日韩视频一区二区三区| 国内久久视频| 欧美成人精品| 亚洲一区二区四区蜜桃| 中文字幕一区二区日韩精品绯色| 久久久影院官网| 久久伊人蜜桃av一区二区| 91精品国产综合久久久久久漫画 | 欧美中文字幕久久| 在线观看亚洲一区| 久久中文在线| 在线区一区二视频| 欧美性色黄大片| aaa欧美色吧激情视频| 成人免费黄色大片| voyeur盗摄精品|