zoukankan      html  css  js  c++  java
  • 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();
        }
    }

  • 相关阅读:
    Net使用RdKafka引发异常RdKafka.Internal.LibRdKafka 的类型初始值设定项引发异常
    mysql数据与Hadoop之间导入导出之Sqoop实例
    如何将mysql数据导入Hadoop之Sqoop安装
    常见的几种Flume日志收集场景实战
    Restful服务应不应该在URI中加入版本号
    sudo
    shell实现SSH自动登陆
    使用465端口加密发邮件
    linux下c++如何输入不回显
    tmp
  • 原文地址:https://www.cnblogs.com/liao-pxsoftware15/p/8025456.html
Copyright © 2011-2022 走看看