国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

用java模擬寫字板程序

2019-11-17 04:01:14
字體:
來源:轉載
供稿:網友
源程序代碼:

view plaincopy to clipboardPRint?
import java.awt.Color;   
import java.awt.Container;   
import java.awt.FlowLayout;   
import java.awt.Graphics;   
import java.awt.event.MouseEvent;   
import java.awt.event.MouseListener;   
import java.awt.event.MouseMotionAdapter;   
  
import javax.swing.ButtonGroup;   
import javax.swing.JButton;   
import javax.swing.JFrame;   
import javax.swing.JRadioButton;   
  
//####################################   
//可能有時候程序運行后什么也沒有,你需要鼠標在屏幕上移動下才能出現按鈕,   
//至于為什么,本鳥不懂~~以后有待研究   
//######################################   
public class testEventMouse extends JFrame{  //主類,繼承JFrame類,因為要用到paint()方法,所以   
    //必須繼承一個Frame類,否則我這個初學者還沒學到其他可以調用paint()的方法   
    Container contentPanel; //內容格引用   
    JButton b1,b2,b3,b4,b5;//這是五個按鈕   
    JRadioButton backGroundRadio,foreGroundRadio;  //定義兩個單選框   
    ButtonGroup radioGroup;  //單選按鈕組   
    int xValue,yValue;  //保留鼠標位置(x,y)   
    JFrame jf=this;//把當前對象賦值給jf,因為我后來調代碼的時候發現,背景色是內容格或者說是其它組件   
    //來管理的,Frame框架類是不管理背景色的;但是我之所以要獲取JFrame的對象,是因為前景色只有框架類   
    //能夠管理,其它的組件沒有資格來管理;后面做事件處理的話,你會發現   
       
    public testEventMouse(){ //構造函數   
        super("08計本 曹鋒--模擬寫字板");   
        b1=new JButton("Black");//實現五個按鈕   
        b2=new JButton("Blue");   
        b3=new JButton("Red");   
        b4=new JButton("White");   
        b5=new JButton("Yellow");   
        contentPanel=this.getContentPane();//獲取內容格   
        contentPanel.setLayout(new FlowLayout());//設置內容格的布局管理器   
           
        backGroundRadio=new JRadioButton("backGround"); //實例化復選框   
        foreGroundRadio=new JRadioButton("foreGround");   
           
        contentPanel.add(backGroundRadio);//添加到內容格里面去   
        contentPanel.add(foreGroundRadio);   
           
        contentPanel.add(b1);//添加按鈕   
        contentPanel.add(b2);   
        contentPanel.add(b3);   
        contentPanel.add(b4);   
        contentPanel.add(b5);   
           
        MouseListenerHandler mou=new MouseListenerHandler(); //實現一個事件監聽類   
        b1.addMouseListener(mou); //注冊為五個按鈕的監聽者   
        b2.addMouseListener(mou);   
        b3.addMouseListener(mou);   
        b4.addMouseListener(mou);   
        b5.addMouseListener(mou);   
           
        radioGroup=new ButtonGroup(); //實例單選按鈕組   
        radioGroup.add(backGroundRadio);//將兩個radio按鈕構成一個組   
        radioGroup.add(foreGroundRadio);   
           
           
        addMouseMotionListener(  //匿名類   
                new MouseMotionAdapter(){  //因為是當前一個對象調用,所以搞了個適配器玩玩   
                    public void mouseDragged(MouseEvent e){   
                        xValue=e.getX();   
                        yValue=e.getY();   
                        repaint();  //調用paint()方法   
                    }   
                }   
                );   
        setSize(1000,500);  //要搞就要搞大的   
        setVisible(true);  //設置可見   
    }   
       
    public class MouseListenerHandler implements MouseListener{  //鼠標事件監聽類   
        public void mousePressed(MouseEvent e){  //其實只有一個有用的,就是鼠標點擊事件   
                                                 //因為要監聽的對象比較多,所以用適配器不好   
            if(e.getSource()==b1){   //用getSouce()獲取對象   
                if(backGroundRadio.isSelected())   
                    contentPanel.setBackground(Color.BLACK);//重點來了,用內容格來設置背景色   
                else                                 //#####################   
                    jf.setForeground(Color.BLACK);   //用Frame框架來設置前景色   
            }   
            if(e.getSource()==b2){   
                if(backGroundRadio.isSelected())   
                    contentPanel.setBackground(Color.BLUE);   
                else  
                    jf.setForeground(Color.BLUE);   
            }   
            if(e.getSource()==b3){   
                if(backGroundRadio.isSelected())   
                    contentPanel.setBackground(Color.RED);   
                else  
                    jf.setForeground(Color.RED);   
            }   
            if(e.getSource()==b4){   
                if(backGroundRadio.isSelected())   
                    contentPanel.setBackground(Color.WHITE);   
                else  
                    jf.setForeground(Color.WHITE);   
            }   
            if(e.getSource()==b5){   
                if(backGroundRadio.isSelected())   
                    contentPanel.setBackground(Color.YELLOW);   
                else  
                    jf.setForeground(Color.YELLOW);   
            }      
        }   
        public void mouseClicked(MouseEvent e) {    //下面東西沒用,但是作為接口方法,空實現下     
        }   
        public void mouseEntered(MouseEvent e) {           
        }   
        public void mouseExited(MouseEvent e) {        
        }   
        public void mouseReleased(MouseEvent e) {          
        }   
}   
       
       
    public void paint(Graphics g){  //畫些小圓,來迷惑人的肉眼,呵呵   
        g.fillOval(xValue, yValue, 4, 4); //畫圓   
    }   
       
    public static void main(String args[]){   
        new testEventMouse(); //匿名類   
    }   
}  
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 平和县| 康乐县| 万载县| 洛宁县| 翁牛特旗| 广宁县| 青川县| 宁明县| 宁武县| 福泉市| 和硕县| 清远市| 南漳县| 弥渡县| 山西省| 瓦房店市| 阜康市| 苗栗县| 马边| 永年县| 富川| 荃湾区| 望奎县| 宜州市| 永兴县| 内江市| 北宁市| 玛沁县| 赣州市| 吐鲁番市| 新安县| 仁寿县| 航空| 怀远县| 屯昌县| 临武县| 亚东县| 定边县| 阳西县| 合作市| 平湖市|