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

📄 huatu_program.java

📁 实现了简单的画图功能。如画圆画线画矩形等等。。
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/**
 * @(#)Huatu_Program.java
 *
 *
 * @author 
 * @version 1.00 2008/12/22
 */
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Huatu_Program extends JFrame 
{  
    private int pointCount = 0;      
    private JButton tools[],colorBar[]; 
    private String names[] = {"橡皮擦","铅笔","曲线","直线","实心矩形","矩形","实心椭圆","椭圆","圆角矩形"};                                                                                                                                                                                                                    
    private ImageIcon items[];
	protected JToolBar toolsPanel;
	private DrawPanel drawingArea; 	
	Drawings[] itemList=new Drawings[5000];
	private int currentChoice=1,huabucolor_Choice;
	public int index = 0;
	public float stroke = 2.0f;
	private Color color=Color.black; 
	public int R,G,B;
	public int a,b,record = 1;
	public int[][] colorarray = {{192,192,192},{255,0,0},{255,255,0},{0,255,0},
    	                     {0,255,255},{0,0,255},{255,0,255},{255,255,128},
    	                     {0,255,128},{128,255,255},{128,128,255},{255,0,128},
    	                     {255,128,64}};;
	public JPanel f;
	public JLabel status;
	public JTextField text;

    public Huatu_Program() 
    {
    	super("画图");
    	
    	Container container = getContentPane();
        container.setLayout(new BorderLayout());
 
    	items = new ImageIcon[names.length];
    	
    	JMenuBar bar = new JMenuBar();                     
    	setJMenuBar( bar ); 
    	   	   	
    	JMenu fileMenu = new JMenu("文件(F)");
    	fileMenu.setMnemonic('F');
    	
    	JMenuItem newItem = new JMenuItem("新建(N)");
    	newItem.setMnemonic('N');
    	newItem.addActionListener(
    		new ActionListener()
    		{
    			public void actionPerformed(ActionEvent e)
    			{
    			}
    		});
    	fileMenu.add(newItem);
    	
    	JMenuItem openItem = new JMenuItem("打开(O)");
    	openItem.setMnemonic('O');
    	openItem.addActionListener(
    	     new ActionListener()
    	     {
    	     	public void actionPerformed(ActionEvent e)
    	     	{
    	     	}
    	     });
    	fileMenu.add(openItem);
    	
    	JMenuItem saveItem = new JMenuItem("保存(S)");
    	saveItem.setMnemonic('S');
    	saveItem.addActionListener(
    	     new ActionListener()
    	     {
    	     	public void actionPerformed(ActionEvent e)
    	     	{    	     		
    	     	}
    	     });
    	fileMenu.add(saveItem);
    	
    	fileMenu.addSeparator();
    	
    	JMenuItem exitItem = new JMenuItem("退出(X)");
    	exitItem.setMnemonic('X');
    	exitItem.addActionListener(
    	     new ActionListener()
    	     {
    	     	public void actionPerformed(ActionEvent e)
    	     	{
    	     		System.exit(0);
    	     	}
    	     });
    	fileMenu.add(exitItem);   	
    	bar.add(fileMenu);
    	
    	JMenu editMenu = new JMenu("编辑(E)");
    	editMenu.setMnemonic('E');
    	
    	JMenuItem cutItem = new JMenuItem("剪切(T)");
    	cutItem.setMnemonic('T');
    	cutItem.addActionListener(
    		new ActionListener()
    		{
    			public void actionPerformed(ActionEvent e)
    			{
    			}
    		});
    	editMenu.add(cutItem);
    	
    	JMenuItem copyItem = new JMenuItem("复制(C)");
    	copyItem.setMnemonic('C');
    	copyItem.addActionListener(
    		new ActionListener()
    		{
    			public void actionPerformed(ActionEvent e)
    			{
    			}
    		});
    	editMenu.add(copyItem);
    	
    	JMenuItem pasteItem = new JMenuItem("粘贴(P)");
    	pasteItem.setMnemonic('P');
    	pasteItem.addActionListener(
    		new ActionListener()
    		{
    			public void actionPerformed(ActionEvent e)
    			{
    			}	
    				
    			
    		});
    	editMenu.add(pasteItem);
    	bar.add(editMenu);
    	
    	JMenu lookMenu = new JMenu("查看(V)");
    	lookMenu.setMnemonic('V');
    	
    	JMenuItem toolsItem = new JMenuItem("工具箱(T)");
    	toolsItem.setMnemonic('T');
    	toolsItem.addActionListener(
    		new ActionListener()
    		{
    			public void actionPerformed(ActionEvent e)
    			{
    			}
    		});
    	lookMenu.add(toolsItem);
    	
    	JMenuItem colorboxItem = new JMenuItem("颜料盒(C)");
    	colorboxItem.setMnemonic('C');
    	colorboxItem.addActionListener(
    		new ActionListener()
    		{
    			public void actionPerformed(ActionEvent e)
    			{
    			}
    		});
        lookMenu.add(colorboxItem);
    	bar.add(lookMenu);
    	
    	JMenu imageMenu = new JMenu("图像(I)");
    	imageMenu.setMnemonic('I');
    	
    	JMenuItem reverlItem = new JMenuItem("翻转/旋转(R)");
    	reverlItem.setMnemonic('R');
    	reverlItem.addActionListener(
    		new ActionListener()
    		{
    			public void actionPerformed(ActionEvent e)
    			{
    			}
    		});
    	imageMenu.add(reverlItem);
    	
    	JMenuItem lashengItem = new JMenuItem("拉伸/扭曲(S)");
    	lashengItem.setMnemonic('S');
    	lashengItem.addActionListener(
    		new ActionListener()
    		{
    			public void actionPerformed(ActionEvent e)
    			{
    			}
    		});
    	imageMenu.add(lashengItem);
    	
    	JMenuItem fanseItem = new JMenuItem("反色(I)");
    	fanseItem.setMnemonic('I');
    	fanseItem.addActionListener(
    		new ActionListener()
    		{
    			public void actionPerformed(ActionEvent e)
    			{
    			}
    		});
    	imageMenu.add(fanseItem);
    	
    	JMenuItem shuxingItem = new JMenuItem("属性(A)");
    	shuxingItem.setMnemonic('A');
    	shuxingItem.addActionListener(
    		new ActionListener()
    		{
    			public void actionPerformed(ActionEvent e)
    			{
    			}
    		});
    	imageMenu.add(shuxingItem);
    	bar.add(imageMenu);
    	
    	JMenu colorMenu = new JMenu("颜色(C)");
    	colorMenu.setMnemonic('C');
    	
    	JMenuItem editColorItem = new JMenuItem("编辑颜色(E)");
    	editColorItem.setMnemonic('E');
    	editColorItem.addActionListener(
    		new ActionListener()
    		{
    			public void actionPerformed(ActionEvent e)
    			{
    				colorChoose();   				
    			}
    		});
    	colorMenu.add(editColorItem);
    	bar.add(colorMenu);  
    	
    			 JMenu setup = new JMenu("设置(S)");
		 setup.setMnemonic('S');
		 
		 JMenuItem huabiItem = new JMenuItem("设置画笔大小");
		 huabiItem.addActionListener(
		 	  new ActionListener()
		 	  {
		 	  	   public void actionPerformed(ActionEvent e)
		 	  	   {
		 	  	   	  setHuabi();
		 	  	   }
		 	  });
		 setup.add(huabiItem);
		 	  
		 JMenuItem huabuColor = new JMenuItem("设置画布颜色");
		 huabuColor.addActionListener(
		 	   new ActionListener()
		 	   {
		 	   	   public void actionPerformed(ActionEvent e)
		 	   	   {
		 	   	   	  colorChoose();
		 	   	   	  huabucolor_Choice = 10;		 	   	   	  
		 	   	   }
		 	   });
		setup.add(huabuColor);
		bar.add(setup);
    		
		JMenu helpMenu=new JMenu("帮助(H)");
	    helpMenu.setMnemonic('H');
		
		JMenuItem aboutItem=new JMenuItem("关于这个画图软件!");
		aboutItem.setMnemonic('A');
		aboutItem.addActionListener(
		      new ActionListener()
		      {
		          public void actionPerformed(ActionEvent e)
		          {
		              JOptionPane.showMessageDialog(null,
		                        "这是一个迷你画图软件!\nCopyright @ Rserved 2008 信息学院 软件工程 吴超前 ",
		                        " 画图板程序说明 ",
		                         JOptionPane.INFORMATION_MESSAGE );
		          }
		      });		              
		 helpMenu.add(aboutItem);
		 bar.add(helpMenu); 			   		 
	
		drawingArea=new DrawPanel();			
		f = new JPanel();
		f.setLayout(new BorderLayout());
		f.setBackground(new Color(245,206,203));
		status = new JLabel();	
		text = new JTextField(20);	
		tools = new JButton[names.length];
		colorBar = new JButton[13];				 	
		toolsPanel = new JToolBar("工具栏",JToolBar.VERTICAL);
		toolsPanel.setPreferredSize(new Dimension(50, 200));	
		container.add(toolsPanel,BorderLayout.WEST);
		container.add(drawingArea,BorderLayout.CENTER); 
		f.add(status,BorderLayout.WEST);
		f.add(text,BorderLayout.EAST);
		container.add(f,BorderLayout.SOUTH);
		status.setText("欢迎使用迷你画图软件! Copyright @ Rserved 2008 信息学院 软件工程 吴超前");  
		ButtonHandler handler = new ButtonHandler(); 
		colorBar_ButtonHandler handler1 = new colorBar_ButtonHandler();      
		
		for(int count = 0;count < tools.length;count ++)
		{
			items[count] = new ImageIcon(names[count]+".gif");
			tools[count] = new JButton(""+items[count]);
			tools[count].setSize(50,50);
			toolsPanel.add(tools[count]);				
		}
		
		toolsPanel.addSeparator();
		toolsPanel.addSeparator();
		
		for(int count = 0;count < colorBar.length;count ++)
		{
			colorBar[count] = new JButton("       ");
			colorBar[count].setSize(100,1);
			toolsPanel.add(colorBar[count]);
			toolsPanel.addSeparator();						
		}
		addColor();
		
		for(int count = 0;count < tools.length;count ++)
		{
			tools[count].addActionListener(handler);
		}
		for(int count = 0;count < colorBar.length;count ++)
		{
			colorBar[count].addActionListener( handler1);
		}										 					  	
		createNew();
    	setSize(600,600);
    	setVisible(true);
    	show();
    }
    
    public void addColor()
    {   	
    	for(int count = 0;count < colorarray.length;count ++)
    	{
    		colorBar[count].setBackground(new Color(colorarray[count][0],colorarray[count][1],colorarray[count][2])); 
    	}   	    	    	
    }
    
    public class ButtonHandler implements ActionListener
    {
    	public void actionPerformed( ActionEvent e )
    	{
    		for(int count = 0;count < names.length;count ++)
    		{
    			if(e.getSource() == tools[count])
    			{
    				currentChoice = count;
    				createNew();
    				repaint();
    			}   					    
		     }
	     }
	}
	
	public class colorBar_ButtonHandler implements ActionListener
	{
		public void actionPerformed( ActionEvent e )
		{
			for(int count = 0;count < colorBar.length;count ++)
			{
				if(e.getSource() == colorBar[count])
				{

⌨️ 快捷键说明

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