多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內(nèi)最全IT社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > 互聯(lián)網(wǎng) > JAVA學(xué)習(xí)第五十八課 ― GUI

JAVA學(xué)習(xí)第五十八課 ― GUI

來源:程序員人生   發(fā)布時間:2014-11-13 09:00:45 閱讀次數(shù):2112次

GUI

Graghical User Interface(圖形用戶接口)

java為GUI提供的對象都存在java.awt和java.swing包中


Java的GUI做的的確干不過C++等,不打算浪費過量的時間在這上面

1個簡單的窗體演示

public static void main(String[] args){ Frame f = new Frame("新窗體"); f.setLocation(400, 200);//設(shè)置窗體的位置 f.setSize(500, 400);//設(shè)置窗口大小 //f.setBounds(400, 200, 500, 400);功能相當(dāng)于上面兩句 f.setLayout(new FlowLayout());//設(shè)置 流式 布局 Button bt = new Button("1個按鈕"); f.add(bt); f.setVisible(true);//顯示窗口 }

顯示出窗體后發(fā)現(xiàn)沒法關(guān)閉窗體,就用到了事件監(jiān)聽機制

其組成:事件源(組件)、事件(Event)、監(jiān)聽器(Listener)、事件處理(引發(fā)事件后處理方式)

 

public static void main(String[] args){ Frame f = new Frame("新窗體"); f.setLocation(400, 200);//設(shè)置窗體的位置 f.setSize(500, 400);//設(shè)置窗口大小 //f.setBounds(400, 200, 500, 400);功能相當(dāng)于上面兩句 f.setLayout(new FlowLayout());//設(shè)置 流式 布局 Button bt = new Button("1個按鈕"); f.add(bt); //由于關(guān)不掉這1事件, 要注冊1個監(jiān)聽器 //窗體適配器類WindowAdapter,已覆蓋了所有方法,便捷于創(chuàng)建監(jiān)聽器 f.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e){ System.exit(0); } });//添加窗體監(jiān)聽 f.setVisible(true);//顯示窗口 }

用戶對組件操作,就是1個事件,那末產(chǎn)生事件的組件就是事件源。

ActionListener演示:

public static void main(String[] args){ Frame f = new Frame("新窗體"); f.setLocation(400, 200);//設(shè)置窗體的位置 f.setSize(500, 400);//設(shè)置窗口大小 //f.setBounds(400, 200, 500, 400);功能相當(dāng)于上面兩句 f.setLayout(new FlowLayout());//設(shè)置 流式 布局 Button bt = new Button("1個按鈕"); f.add(bt); //由于關(guān)不掉這1事件, 要注冊1個監(jiān)聽器 //窗體適配器類WindowAdapter,已覆蓋了所有方法,便捷于創(chuàng)建監(jiān)聽器 f.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e){ System.exit(0); } });//添加窗體監(jiān)聽 //在按鈕上添加1個監(jiān)聽事件:點擊1下退出 bt.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { //System.out.println("按了"); System.exit(0); } }); f.setVisible(true);//顯示窗口 }

鍵盤和鼠標監(jiān)聽事件

import java.awt.Button; import java.awt.FlowLayout; import java.awt.Frame; import java.awt.TextField; 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 Main { private Frame f; private TextField tf;//文本框 private Button bt; public Main(){ init(); } private void init(){ f = new Frame("鼠標和鍵盤監(jiān)聽"); bt = new Button("按鈕"); f.setBounds(400, 200, 500, 400); f.setLayout(new FlowLayout()); tf = new TextField(40);//指定列數(shù) f.add(tf); f.add(bt); myEvent(); f.setVisible(true); } private void myEvent(){ //給文本框添加鍵盤監(jiān)聽 tf.addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent e) {//按下 //System.out.println("key Pressed : "+e.getKeyChar()+" : "+e.getKeyCode()+" : "+e.getKeyText(e.getKeyCode()));//按下即打印 /* int code = e.getKeyCode(); if(!(code>=KeyEvent.VK_0 && code <= KeyEvent.VK_9))//判斷 { System.out.println("必須數(shù)字"); e.consume();//使用,不會依照默許的事件處理方式 } if(e.getKeyCode()==KeyEvent.VK_ENTER){//按下回車 System.out.println("enter....."); } */ if(e.isControlDown() && e.getKeyCode()==KeyEvent.VK_ENTER){//按下Ctrl+回車 System.out.println("Crtl enter....."); } } }); //在窗體上添加退出監(jiān)聽器 f.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e){ System.exit(0); } }); //在按鈕上添加鼠標監(jiān)聽器 bt.addMouseListener(new MouseAdapter() { private int count = 1;//計數(shù)器 public void mouseEntered(MouseEvent e) {//鼠標碰到即觸發(fā) tf.setText("mouse enter : "+count++);//信息添加到文本框 } public void mouseClicked(MouseEvent e) {//點擊 if(e.getClickCount()==2){//得到點擊次數(shù),雙擊 System.out.println("mouseClicked Double click"); } /*else if(e.getClickCount()==1){ System.out.println("mouseClicked only click"); }*/ } }); } public static void main(String[] args){ new Main(); } }

關(guān)于Swing包中的,需要在Ecplice安裝插件。


生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 美国一级毛片在线观看 | 2022在线精品视频网站 | 最近免费中文字幕大全高清mv | 偷拍自拍校园春色 | 免费成人视屏 | 亚洲区在线播放 | 日韩伦理福利免费 | 欧美肥老太太 | 日韩高清一区二区 | 国内精品一区二区三区东京 | 亚洲天堂二区 | 欧美另类69xxxx | 中文字幕在线不卡精品视频99 | 午夜手机视频 | 插久久 | 俺去俺来也www色官网免费的 | 欧美人与性动交α欧美精品 | 不卡一级aaa全黄毛片 | 国产成人精品免费视频大全办公室 | 欧美男男激情videos高清不卡 | 国产91嫩草精品 | 国产精品欧美日韩精品 | 国产成人一级 | jyzz日本| 国人精品视频在线观看 | 亚洲精品国产一区二区三 | xxx日本护士www| 高清完整视频在线播放 | 香蕉tv亚洲专区在线观看 | 亚洲国产欧美久久香综合 | 国产精品福利视频手机免费观看 | 国产欧美日韩图片一区二区 | 痴女在线播放免费视频 | 最近中文字幕高清中文字幕网1 | 爱爱免费网站 | 久久大香伊焦在人线免费 | 欧美日韩第一页 | 99国产国人青青视频在线观看 | 秋霞理论最新三级理论最 | a毛片免费看 | 欧美日本韩国 |