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

📄 painterdemo.java

📁 直线dda算法,直线bresenham算法,圆的中点算法,圆的bresenham算法,椭圆重点算法的java演示
💻 JAVA
字号:
import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*; 
import javax.swing.event.*; 

public class PainterDemo extends JFrame{ 
     
    JToggleButton[] button=new JToggleButton[5];  //按钮组 
    PainterPanel painter=new PainterPanel(); //绘图面板
    
    static int WindowWidth = 1024;
    static int WindowHeight = 768;
     
    public PainterDemo(){ 
        super("图形学作课程设计-简单图形的生成"); //调用父类构造函数 
         
        String[] buttonName={"直线DDA法", "直线Bresenham算法", "圆的中点算法", "圆的Bresenham算法"
        		, "椭圆的中点算法"}; //按钮文字 
        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(WindowWidth,WindowHeight);  //设置窗口尺寸 
//      setResizable(false);
        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();
        new PainterOutput();
    }

	public static int getWindowWitdth() {
		return WindowWidth;
	}

	public static int getWindowHeight() {
		return WindowHeight;
	} 
} 

⌨️ 快捷键说明

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