java之 22天 GUI 圖形介面程式設計(一)
import java.awt.Button; import java.awt.FlowLayout; import java.awt.Frame; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; /** * GUI(圖形使用者介面) * Graphical User Interface(圖形使用者介面) * 用圖形的方式,來顯示計算機操作的介面,這樣更方便更直觀. * * CLI * Command Line User Interface(命令列使用者介面) * 就是常用的Dos命令列操作. * 需要記憶一些常用的命令.操作更直觀. * * 舉例: * 比如:建立資料夾,或者刪除資料夾等 * md haha del haha * * * Java的GUI提供的物件都存在 java.Awt 和 javax.Swing 兩個包中. * * java.Awt:Abstract Window ToolKit(抽象 視窗工具包) * 需要呼叫本地系統方法實現功能.屬重量級控制元件 (跨平臺不夠強) * * java.Swing:在AWT的基礎上,建立的一套圖形介面系統,器重提供了更多的元件, * 而且完全由java實現,增強了移植性,屬於輕量級控制元件.(跨平臺很好) * * java.swt: IBM 公司開發 Eclipse 用的元件工具 可以Eclipse網站下載後就可以使用了. * * * 佈局管理器 * 1)容器中的元件的排放方式,就是佈局. * 2)常見的佈局管理器 * FlowLayout(流式佈局管理器) * 從左到右的順序排列 * Panel預設的佈局管理器 * BorderLayout(辯解佈局管理器) * 東 南 西 北 中 * Frame 預設的佈局管理器 * 不指定佈局方式,預設 滿屏覆蓋,在新增一個 也是 滿屏覆蓋 * GridLayout (網格佈局管理器) * 規則的矩陣 * CardLayout (卡片佈局管理器) * 選項卡 * GridBagLayout(網格包佈局管理器) * 非規則的矩陣 * * 事件監聽機制組成 * 事件源: * 事件:Event * 監聽器:Listener * 時間處理:(引發事件後處理方式) * * 事件源:就是awt包或者swing包中的那些影象介面元件. * 事件:每個事件源都有自己特定的對應時間和共性時間. * 監聽器:可以出發某一個事件的動作都已經封裝到監聽器中. */ public class GuiDemo { public static void main(String[] args) { Frame f=new Frame("my awt"); f.setSize(500,400); f.setLocation(300,200); f.setLayout(new FlowLayout()); Button b=new Button("我是一個按鈕"); f.add(b); f.addWindowListener(new MyWin()); f.setVisible(true); System.out.println("Hello world!"); } } //因為介面WindowLinstener中的所有方法都被子類 WindowAdapter實現了,. //並且覆蓋了其中的所有方法,那麼我們只能繼承 WindowAdapter 覆蓋我們的方法即可 class MyWin extends WindowAdapter{ @Override public void windowClosing(WindowEvent e) { // TODO Auto-generated method stub //System.out.println("Window closing"+e.toString()); System.out.println("我關了"); System.exit(0); } @Override public void windowActivated(WindowEvent e) { //每次獲得焦點 就會觸發 System.out.println("我活了"); //super.windowActivated(e); } @Override public void windowOpened(WindowEvent e) { // TODO Auto-generated method stub System.out.println("我開了"); //super.windowOpened(e); } }
簡單Frame
import java.awt.Button; import java.awt.FlowLayout; import java.awt.Frame; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; public class FrameDemo { //定義該影象中所需要的元件的引用 private Frame f; private Button but; FrameDemo(){ init(); } public void init(){ f=new Frame("my freame"); f.setBounds(300,100,600,500); f.setLayout(new FlowLayout()); //採用流式佈局 but=new Button("my button"); //將元件新增到 frame中 f.add(but); //載入一下窗體上的事件. myEvent(); //顯示窗體 f.setVisible(true); } private void myEvent(){ f.addWindowListener(new WindowAdapter(){ @Override public void windowClosing(WindowEvent e) { // TODO Auto-generated method stub //super.windowClosing(e); System.exit(0); } }); //讓按鈕具備退出程式的功能 /* * 按鈕就是事件源 * 那麼選擇那個監聽器呢? * 通過關閉窗體例項瞭解到,下個要知道那個元件具備什麼樣的特有監聽器, * 需要檢視該元件物件的功能. */ //新增一個活動監聽 but.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub System.out.println("退出, 按鈕乾的"); System.exit(0); } }); } public static void main(String[] args) { FrameDemo f=new FrameDemo(); } }
鍵盤和滑鼠事件
import java.awt.Button; import java.awt.FlowLayout; import java.awt.Frame; import java.awt.TextField; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; public class MouseAndKeyEvent { private Frame f; private Button but; private TextField tf; public MouseAndKeyEvent() { init(); } private void init(){ f=new Frame("me frame"); f.setBounds(300, 200, 600, 500); f.setLayout(new FlowLayout()); tf=new TextField(20); but=new Button("my Botton"); f.add(tf); f.add(but); event(); f.setVisible(true); } private void event(){ f.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { // TODO Auto-generated method stub System.exit(0); } }); tf.addKeyListener(new KeyAdapter() { public void keyPressed(KeyEvent e){ int code=e.getKeyCode(); if(!(code>=KeyEvent.VK_0 && code<=KeyEvent.VK_9)){ System.out.println(code+"....非法的輸入"); e.consume(); //不執行加入文字框. } } }); but.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub System.out.println("actionPerformed 活動一次"); } }); but.addMouseListener(new MouseAdapter() { private int count=0; private int clickCount=1; public void mouseEntered(MouseEvent e){ System.out.println("滑鼠進入到改元件"+count++); } public void mouseClicked(MouseEvent e){ if(e.getClickCount()==2){ System.out.println("雙擊動作"); }else System.out.println("點選動作"+clickCount++); } }); //新增 鍵盤事件 but.addKeyListener(new KeyAdapter() { public void keyPressed(KeyEvent e){ System.out.println(e.getKeyChar()+"..."+e.getKeyCode()); System.out.println(KeyEvent.getKeyText(e.getKeyCode())+"..."+e.getKeyCode()); //enter 就退出 /*if(e.getKeyCode()==KeyEvent.VK_ENTER) System. exit(0);*/ //ctrl + Enter 傳送訊息 if(e.isControlDown() && e.getKeyCode()==KeyEvent.VK_ENTER){ System.out.println("我要傳送訊息!"); } } }); } public static void main(String[] args) { // TODO Auto-generated method stub new MouseAndKeyEvent(); } }
相關推薦
java之 22天 GUI 圖形介面程式設計(一)
GUI(圖形使用者介面) import java.awt.Button; import java.awt.FlowLayout; import java.awt.Frame; import java.awt.event.WindowAdapter; import java
Java基礎總結之GUI圖形介面程式設計
GUI和CLI: GUI:(Graphical User Interface)圖形使用者介面:用圖形的方式顯示計算機的操作介面。 CLI:(Command Line User Interface)命令列使用者介面:常見的Dos命令列操作。 awt和swing: awt:(Abstra
java gui圖形介面程式設計
轉載學習轉自:https://blog.csdn.net/u012891055/article/details/50095365看了下網上的gui教程都沒有什麼比較好的,不管是java、安卓還是ios,設計UI都應該先從佈局上來考慮,而不是看一點寫一點。如果你一來就想著用絕對
java gui圖形介面程式設計(幾乎包含所有常用的控制元件及佈局)
看了下網上的gui教程都沒有什麼比較好的,不管是java、安卓還是ios,設計UI都應該先從佈局上來考慮,而不是看一點寫一點。如果你一來就想著用絕對佈局,我只能說這種思想很危險,磚慢慢搬吧。 這個是中期考試的時候邊學邊做的一個東西,做一個eclipse的搜尋gui,類似下圖
**JAVA** GUI圖形介面程式設計-swing的使用
>中間容器的巢狀使用 中間容器的使用 對窗體、窗格、面板的理解。 窗體Frame是包括放大、關閉按鈕的整個視覺化介面 窗格Pane是一種對面的分割工具,能夠將潔面按照不同的要求分割成各種形狀 面板Panel是一種用來儲存空間的空間,向下放入控制元件,向上新增
Java圖形介面程式設計(一)
初步認識swing awt AWT(abstract Window Toolkit)是java釋出的第一個圖形介面庫。AWT通過呼叫系統本地的庫,來建立和顯示控制元件。 AWT 的元件都是使用
Java----AWT元件開發和Swing介面程式設計(一)
一、AWT元件開發 1、AWT入門 AWT是抽象視窗工具箱的縮寫,它為編寫圖形使用者介面提供了使用者介面,通過這個介面就可以繼承很多方法,省去了很多工作。AWT還能使應用程式更好地同用戶進行互動。 AWT中的容器是一種特殊
第58節:Java中的圖形介面程式設計-GUI
歡迎到我的簡書檢視我的文集 前言: GUI是圖形使用者介面,在Java中,圖形使用者介面我們用GUI表示,而GUI的完整英文為: Graphical User Interface(圖形使用者介面), 所謂圖形使用者介面就是以圖形的方式來顯示你計算機的操作介面, 我們計算機中操作的介面就是 我
java圖形介面程式設計換面板
前言 總所周知,java圖形介面效果不是特別理想,於是在網上找了一些非常好看的面板 面板地址:面板地址 使用 下載了一款名為weblaf的面板,使用也很簡單,匯入jar包後,在main方法中,JFrame定義之前呼叫install();方法即可。 public
Java內容梳理(21)API學習(9)GUI圖形介面
1、GUI介紹 GUI程式設計:使用者圖形介面,軟體介面程式設計 Java中的GUI程式設計技術:AWT;Swing(AWT的擴充套件);SWT;JavaFx 2、Swing程式設計 元件: 組成軟體介面的零件;包括容器,控制元件,主題 控制元件: 與使用者發
Matlab學習筆記 (一)GUI使用者圖形介面程式設計
1. 查詢同一型別的所有控制元件: findobj(gcf, 'type','axes') %查詢所有座標軸,gcf表示當前圖形介面 2. 不顯示座標軸: set(handles.axes1,'xTick',[]); set(handles.axes1,'ytick',[
黑馬程式設計師 java基礎24天 GUI程式設計學習總結
---------------------- ASP.Net+Unity開發、.Net培訓、期待與您交流! --------------------- 一.圖形使用者介面 GUI:Graphical User Interface(圖形使用者介面) CLI:Comman
JavaSwing圖形介面程式設計之訊息提示框(二)
package three.day.frame; import java.awt.BorderLayout; import java.awt.Container; import java.awt.GridLayout; import java.awt.event
JavaSwing圖形介面程式設計之畫圖程式
package three.day.frame; import java.awt.*; import java.awt.event.*; import java.awt.geom.*; import java.io.*; import java.util.*; impo
Python3圖形介面程式設計
#匯入模組 import tkinter #建立一個對話方塊 import tkinter.simpledialog as dl #建立一個資訊展示框 import tkinter.messagebox as mb import random #建立控制元件 top = tkinter.Tk
java第22天----編碼問題,網路通訊,TCP,
文章目錄編碼問題解決亂碼網路通訊七層協議獲取主機UDPTCP 昨天知識總結 1.轉換流 2.多個輸入源輸出源的組合 3.更換輸入源輸出源 4.列印流 位元組列印流 字元列印流 5.序列流,資料流,記憶體流 6.Properties 7.序列化流 編碼問
如何在CentOS7下安裝GUI圖形介面
1、如何在CentOS7下安裝GUI圖形介面 當你安裝CentOS7伺服器版本的時候,系統預設是不會安裝GUI的圖形介面程式,這個需要手動安裝CentOS7 Gnome GUI包。 2、在系統下使用命令安裝gnome圖形介面程式 在安裝Gnome
Java之抽象(abstract)類、介面(interface)的用法總結
導讀: 1、什麼是抽象類(abstract)? 2、如何定義抽象類(abstract)? 3、抽象類(abstract)的作用? 4、何為介面?介面和類的區別? 5、怎麼區分抽象類和介面? 1、抽象類的定義: Java中宣告一個類時,可以不給出該類的所有
圖形介面程式設計(六) 分組容器和卡片容器(1)
——本節介紹瞭如何使用分組容器(GroupBox)以及一個分組RadioButton的例項 1 分組容器 GroupBox容器使用起來就和一個基本的Panel容器一樣,它不具備佈局管理功能,僅僅是一個可以容納其它控制元件的容器。 Grou
Python 基於Tkinter的GUI圖形介面學習
用Tkinter畫圖首先要建立一個根掛件,可以用Tk()產生 然後要產生不同型別的小掛件,有標籤Label,按鈕Button,介面Entry 之類的,具體的檢視網上的詳細文件。 比如說用widget = Label(None, text = 'hello')產生了一個