Java编程——画图程序

package newpackage1;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

public class PainterDemo extends JFrame{
    
    JToggleButton[] button=new JToggleButton[3];  //按钮组
    PainterPanel painter=new PainterPanel(); //绘图面板
    
    public PainterDemo(){
        super("Java画图程序"); //调用父类构造函数
        
        String[] buttonName={"直线","椭圆","矩形"}; //按钮文字
        DrawShapeListener buttonListener=new DrawShapeListener(); //按钮事件

        JToolBar toolBar=new JToolBar(); //实例化工具栏
        ButtonGroup buttonGroup=new ButtonGroup(); //实例化按钮组
        for (int i=0;i<button.length;i++){
            button[i]=new JToggleButton(buttonName[i]); //实例化按钮
            button[i].addActionListener(buttonListener); //增加按钮事件处理
            buttonGroup.add(button[i]); //增加按钮到按钮组
            toolBar.add(button[i]);     //增加按钮到工具栏
        }

        Container container=getContentPane(); //得到窗口容器
        container.add(toolBar,BorderLayout.NORTH); //增加组件到容器上
        container.add(painter,BorderLayout.CENTER);            
        
        setSize(300,200);  //设置窗口尺寸
        setVisible(true);  //设置窗口为可视
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  //关闭窗口时退出程序        
    }
    
    class DrawShapeListener implements ActionListener{  //按钮事件处理
        public void actionPerformed(ActionEvent e){
            for (int i=0;i<button.length;i++){ 
                if (e.getSource()==button[i]){  //判断来自于哪个按钮
                    painter.drawShape(i); //绘制图形
                }                
            }            
        }
    }
            
    public static void main(String[] args){
        new PainterDemo();
    }
}

 

 

 

posted on 2017-12-11 22:53  小星_log  阅读(562)  评论(0编辑  收藏  举报