⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 awtdemo.java

📁 主要是对于JAVA的编程的基本语言 希望能够帮得上你。
💻 JAVA
字号:
package awt;

import java.awt.Button;
import java.awt.Canvas;
import java.awt.Checkbox;
import java.awt.CheckboxGroup;
import java.awt.Choice;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Label;
import java.awt.List;
import java.awt.Menu;
import java.awt.MenuBar;
import java.awt.MenuItem;
import java.awt.TextArea;
import java.awt.TextField;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

/**
 * Title: AWTdemo类<br>
 * Description: AWT演示程序<br>
 * Copyright:(c)2007 www.luzhou.net<br>
 * Company: 泸州职业技术学院电信系
 */

public class AWTDemo extends Frame {
	
	/*
	 * 声明部分
	 */
    MenuBar menubar;
    Menu file,open;
    MenuItem quit,openImage,openText;
    Button yesButton;
    Button noButton;
    List bookList;
    Choice modelChoice;
    CheckboxGroup labsGroup;
    Checkbox[] labBoxes;
    Checkbox married;
    TextField nameField;
    TextArea outputArea;   
    MainCanvas m_MainCanvas;
    Image image;
    
    int curX,curY;

    /*
     * 构造方法
     */
    public AWTDemo() {
        super("AWT组件示例程序");
        initialize();
    }
    
    private void initialize(){        
    	/*
    	 * 设计用户界面
    	 */   
    	
    	//创建图像
    	image=Toolkit.getDefaultToolkit().createImage("awt/pukki.png");
    	
        //创建菜单栏
        menubar = new MenuBar();
        this.setMenuBar(menubar);

        // 创建'file'菜单
        file = new Menu("文件");
        open=new Menu("打开");
        quit=new MenuItem("退出");
        openText=new MenuItem("打开文本文件");
        openImage=new MenuItem("打开图像文件");
        file.add(open);
        open.add(openImage);
        open.add(openText);
        file.addSeparator();
        file.add(quit);

        //将'file'菜单添加到菜单栏menubar
        menubar.add(file);

        //创建一些按钮
        this.add(new Label("单击一个按钮:"));
        yesButton = new Button("是");
        noButton = new Button("否");
        this.add(yesButton);
        this.add(noButton);

        //创建一个List对象,false表明单选(列表框)         
        this.add(new Label("选择一本书:"));
        bookList = new List(4, true);
        bookList.add("编译原理");
        bookList.add("操作系统");
        bookList.add("Java编程");
        bookList.add("计算机英语");
        this.add(bookList);

        //创建一个choice对象(下拉组合框)
        this.add(new Label("选择一种模型:"));
        modelChoice = new Choice();
        modelChoice.addItem("对象模型");
        modelChoice.addItem("动态模型");
        modelChoice.addItem("功能模型");
        this.add(modelChoice);

        //创建一个CheckboxGroup对象(单选按钮组)
        this.add(new Label("选择一个实验室:"));
        labsGroup = new CheckboxGroup();
        labBoxes = new Checkbox[2];
        labBoxes[0] = new Checkbox("电信系动漫实验室", labsGroup, true);
        labBoxes[1] = new Checkbox("电信系软件实验室", labsGroup, false);
        this.add(labBoxes[0]);
        this.add(labBoxes[1]);
        
        //创建一个Checkbox对象(复选框)        
        married=new Checkbox("已婚", false);
        this.add(married);
        
        //创建画布
    	m_MainCanvas=new MainCanvas();
    	m_MainCanvas.setSize(250,250);
    	this.add(m_MainCanvas);

        //创建一个TextField对象(文本框)
        this.add(new Label("输入你的姓名:"));
        nameField = new TextField(20);
        this.add(nameField);     
    	
        //创建一个TextArea对象
        this.add(new Label("输出区域:"));
        outputArea = new TextArea(10, 30);
        this.add(outputArea);   	
        
      //设置窗口属性
        this.setLayout(new FlowLayout());
        this.setSize((int)Toolkit.getDefaultToolkit().getScreenSize().getWidth(), 
        		(int)Toolkit.getDefaultToolkit().getScreenSize().getHeight());
	    this.setVisible(true);	   
	    
	    /*
	     * 注册监听器,编写事件代码
	     */
	    
	    //按钮单击事件
	    yesButton.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent arg0) {
				 outputArea.append("你单击了【是】按钮。\n");				
			}	    	
	    });
	    
	    noButton.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent arg0) {
				 outputArea.append("你单击了【否】按钮。\n");				
			}	    	
	    });
	    
	    yesButton.addKeyListener(new KeyAdapter(){
			@Override
			public void keyPressed(KeyEvent e) {				
				if(e.getKeyCode()==10){
					outputArea.append("你按下了【是】按钮。\n");	
				}
			}	    	
	    });
	    
	    //窗口关闭事件
	    this.addWindowListener(new WindowAdapter(){
			public void windowClosing(WindowEvent e) {
				System.exit(0);
			}
	    });
	    
	    //画布鼠标事件
	    m_MainCanvas.addMouseListener(new MouseListener(){
			public void mouseClicked(MouseEvent e) {				
				outputArea.append("mouseClicked\n");
			}

			public void mouseEntered(MouseEvent e) {				
				outputArea.append("mouseEntered\n");
			}

			public void mouseExited(MouseEvent e) {			
				outputArea.append("mouseExited\n");
			}

			public void mousePressed(MouseEvent e) {				
				outputArea.append("mousePressed\n");
			}

			public void mouseReleased(MouseEvent e) {				
				outputArea.append("mouseReleased\n");
			}	    	
	    });
	    
	    //画布鼠标移动事件
	    m_MainCanvas.addMouseMotionListener(new MouseMotionListener(){
			public void mouseDragged(MouseEvent e) {				
				 outputArea.append("鼠标拖动: (" + e.getX() + ", " + e.getY() + ")\n");
			}

			public void mouseMoved(MouseEvent e) {
				curX=e.getX();
				curY=e.getY();
				outputArea.append("鼠标移动: (" + e.getX() + ", " + e.getY() + ")\n");
				m_MainCanvas.repaint();
			}	    	
	    });
	    
	    //open菜单项单击事件
	    open.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e) {				
				 outputArea.append("你选择【文件】->【打开】\n");
			}	    	
	    });
	    
	    //quit菜单项单击事件
	    quit.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e) {				
				 System.exit(0);
			}			
	    });
	    
	    //nameField文本框按键事件
	    nameField.addKeyListener(new KeyAdapter(){
			public void keyPressed(KeyEvent e) {
				if(e.getKeyCode()==10){
					outputArea.append("你好, "+nameField.getText()+"\n");
				}
			}	    	
	    });
	    
	    //bookList列表框双击事件
	    bookList.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e) {							
//				String sum="";
//				for(int i=0;i<bookList.getSelectedItems().length;i++)
//				{
//					sum=sum+bookList.getSelectedItems()[i];					
//				}
//				outputArea.append("你选择了"+sum+"\n");
				StringBuffer sum=new StringBuffer();
				for(int i=0;i<bookList.getSelectedItems().length;i++){
					sum.append(bookList.getSelectedItems()[i]);
				}
				outputArea.append("你选择了"+sum.toString()+"\n");							 
			}	    	
	    });
	    
	    //choice下拉列表框单击事件
	    modelChoice.addItemListener(new ItemListener(){
			public void itemStateChanged(ItemEvent e) {				
				outputArea.append("你选择了"+modelChoice.getSelectedItem()+"\n");
			}	    	
	    });
	    
	    //单选按钮单击事件
	    labBoxes[0].addItemListener(new ItemListener(){
			public void itemStateChanged(ItemEvent e) {			
				outputArea.append("你选择了"+labBoxes[0].getLabel()+"\n");
			}	    	
	    });
	    
	    labBoxes[1].addItemListener(new ItemListener(){
			public void itemStateChanged(ItemEvent e) {			
				outputArea.append("你选择了"+labBoxes[1].getLabel()+"\n");
			}	    	
	    });
	    
	    //复选框married单击事件
	    married.addItemListener(new ItemListener(){
			public void itemStateChanged(ItemEvent e) {
				if(married.getState()){
					outputArea.append("你已婚。"+"\n");
				}else{
					outputArea.append("你单身。"+"\n");
				}
			}	    	
	    });	   	   
    }   

    /*
     * 主方法
     */    
    public static void main(String args[]) {
	    new AWTDemo();	    
    }
    
    //内部类
    class MainCanvas extends Canvas {
    	public void paint(Graphics g) {
    		g.setColor(Color.YELLOW);
    		g.fillRect(0, 0, this.getWidth()-1, this.getHeight()-1);
    		g.setColor(Color.RED);
    		g.drawString("画布", (this.getWidth() - g.getFontMetrics().stringWidth("Canvas"))/2,10);
    		g.setFont(new Font("Gorgia", Font.PLAIN, 12));
    		g.drawLine(10,10, 100,100);
    		g.fillRect(9,9,3,3);
    		g.drawString("(10,10)", 13, 10);
    		g.fillRect(49,49,3,3);
    		g.drawString("(50,50)", 53, 50);
    		g.fillRect(99,99,3,3);
    		g.drawString("(100,100)", 103, 100);
    		g.drawImage(image,50,50,150,150,this);
    		if(curX>50 && curX<200 && curY>50 && curY<200){
    			g.setColor(Color.RED);
    			g.drawRect(50, 50, 150, 150);   
    		}
    	}
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -