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

📄 paintboard.java

📁 自己课程设计做的 用JAVA的画板程序
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
	
	/**
	 * 保存文件事件
	 */
	class Act_SaveFile implements ActionListener{
		public void actionPerformed(ActionEvent e_ji2){
			 if (filechooser1 == null) {
	                filechooser1 = new JFileChooser();
	                filechooser1.setFileFilter(fileFilter);
	                filechooser1.setMultiSelectionEnabled(false);
	                filechooser1.setAcceptAllFileFilterUsed(false);
	                filechooser1.setCurrentDirectory(new File("./"));
	            }
	            int retVal = filechooser1.showSaveDialog(canvases[canvas_control]);
	            if (retVal != JFileChooser.APPROVE_OPTION)
	                return;
	            File file = filechooser1.getSelectedFile();
	            if (!file.getName().toLowerCase().endsWith(".jwd")) {
	            	//获取待打开的文件名
	    			String filename = filechooser1.getSelectedFile().getName();
	    			canvasTabbedPane.setTitleAt(tb-1, filename);
	    			filename = filename+ ".jwd";
	    			//获取待打开的文件所在的目录,将目录保存至数组,这样在保存文件的时候,能够将文件名保存到目录中
	    			directory[canvas_control] = filechooser1.getCurrentDirectory().toString();
	    			try {	    				
	    				canvases[canvas_control].SaveFile(directory[canvas_control] + "/" + filename);
	    				canvases[canvas_control].SaveJpg();
	    				ImageToJpeg.toJpeg(new File("ss.jpg"), canvases[canvas_control].offScreenImg);
	    			} catch (Exception e) {
	    				e.printStackTrace();
	    			}
	            }		
	            
		}
	}
	
	/**
	 * 退出画板事件
	 */
	class Act_ExitEditor implements ActionListener{
		public void actionPerformed(ActionEvent e_ji3){
			//退出画板
			exitPaintBoard();
		}
	}
	
	/**
	 * 显示帮助Help事件
	 */
	class Act_Help implements ActionListener{
		public void actionPerformed(ActionEvent e_ji9){
			helpFrame.pack();
			helpFrame.setVisible(true);
			helpFrame.requestFocus();
			helpFrame.setLocation(200, 0);
		}
	}
	
	//恢复
	class Act_Redo implements ActionListener {
		public void actionPerformed(ActionEvent e_ji10) {
			canvases[canvas_control].redo();
		}
	}
	
	//撤销
	class Act_UndoAs implements ActionListener{
		public void actionPerformed(ActionEvent e_ji9){
			canvases[canvas_control].undo();
		}
	}
	


	class Act_Line implements ActionListener {
		public void actionPerformed(ActionEvent e_ji11) {
			lineButton.setSelected(true);
			canvases[canvas_control].setCommand(Command.LINE);
			statusTextArea.setText("The current draw tool: " + canvases[canvas_control].getCommandString(Command.LINE));
		}
	}
	
	
	class Act_Circle implements ActionListener{
		public void actionPerformed(ActionEvent e_ji9){
			circleButton.setSelected(true);
			canvases[canvas_control].setCommand(Command.CIRCLE);
			canvases[canvas_control].fill = fill;
			statusTextArea.setText("The current draw tool: " + canvases[canvas_control].getCommandString(Command.CIRCLE));
		}
	}
		
	class Act_Rectangle implements ActionListener {
		public void actionPerformed(ActionEvent e_ji10) {
			rectangleButton.setSelected(true);
			canvases[canvas_control].setCommand(Command.RECTANGLE);
			canvases[canvas_control].fill = fill;
			statusTextArea.setText("The current draw tool: " + canvases[canvas_control].getCommandString(Command.RECTANGLE));
		}
	}
	
	class Item_FillChanged implements ChangeListener{
		public void stateChanged(ChangeEvent e){
			JRadioButton b = (JRadioButton)e.getSource();
			if(b.isSelected()){
				if(b.getText().equals("Fill")){
					fill = true;
					canvases[canvas_control].fill = true;
				}
					
				else{
					fill = false;
					canvases[canvas_control].fill = false;
				}
				
			}
		}
	}

	
	
	class Act_Eraser implements ActionListener{
		public void actionPerformed(ActionEvent e_ji9){
			eraserButton.setSelected(true);
			canvases[canvas_control].setCommand(Command.ERASER);
		}
	}	
	
	
	
	/**
	 * 动画显示事件
	 */
	class Act_timer implements ActionListener {
		public void actionPerformed(ActionEvent e_time) {
			//Flash显示,一共就4个图片文件,按顺序显示
			if (timerControl > 4){
				timerControl = 0;
			}
			flashLabel.setIcon(new ImageIcon(loadImage("image/Juggler" + timerControl
					+ ".gif")));
			timerControl++;
		}
	}

	/**
	 * 停止动画事件
	 */
	class Act_StopFlash implements ActionListener {
		public void actionPerformed(ActionEvent E_stop) {
			//Flash控制。停止动画
			timer.stop();
			startFlashMenuItem.setEnabled(true);
			stopFlashMenuItem.setEnabled(false);
		}
	}

	/**
	 * 启动动画事件
	 */
	class Act_StartFlash implements ActionListener {
		public void actionPerformed(ActionEvent E_start) {
			//Flash控制。启动动画
			timer.start();
			startFlashMenuItem.setEnabled(false);
			stopFlashMenuItem.setEnabled(true);
		}
	}
		
	/**
	 * 文件过滤器,只支持编辑".jwd"文件
	 */
	class Filter extends FileFilter{
		//覆盖FileFilter的accept方法
		public boolean accept(File file1){
			 if (file1.isDirectory())
	                return true;
			 if (file1.getName().endsWith(".jwd"))
	                return true;
	            return false;			
		}
		
		public String getDescription(){
			return ("*.jwd");
		}
	}
	
	//格式为jpg的文件过滤器
    private FileFilter jdrawFilter = new FileFilter() {
        public boolean accept(java.io.File f) {
            if (f.isDirectory())
                return true;
            if (f.getName().endsWith(".jpg"))
                return true;
            return false;
        }
        public String getDescription() {
            return "(*.jpg)";
        }
        
    };
    
	
	/**
	 * 从jar包中读取图片文件
	 * @param name
	 * @return	返回一个图片对象
	 */
	private java.awt.Image loadImage(String name) {
		try {
			java.net.URL url = getClass().getResource(name);
			//根据URL中内容新建一个图片文件
			return createImage((java.awt.image.ImageProducer) url.getContent());
		} catch (Exception ex) {
			return null;
		}
	}
	

	class Act_Selected implements ActionListener{
		public void actionPerformed(ActionEvent e){
			canvases[canvas_control].setCommand(Command.SELECT);
		}
	}
	
	class Act_UnSelected implements ActionListener{
		public void actionPerformed(ActionEvent e){	
			canvases[canvas_control].setn_GraphSelect(0);
			canvases[canvas_control].setCommand(Command.UNSELECTED);
		
		}
	}
	
	
	class Act_Clear implements ActionListener{
		public void actionPerformed(ActionEvent e){
			canvases[canvas_control].clearBoard();
		}
	}
	
	class Act_Pencil implements ActionListener{
		public void actionPerformed(ActionEvent e){
			canvases[canvas_control].setCommand(Command.PENCIL);
			statusTextArea.setText("The current draw tool: " + canvases[canvas_control].getCommandString(Command.PENCIL));
		}
	}
	
	class Act_Palette implements ActionListener{
		public void actionPerformed(ActionEvent e){
			Color tempColor = JColorChooser.showDialog(dialogFrame, "调色板", pencilColor);
			if(tempColor!=null){
				pencilColor = tempColor;
				canvases[canvas_control].setForegroundColor(pencilColor);
				fgButton.setBackground(pencilColor);
			}
		}
	}
	
	//插入文本
	class Act_TextInsert implements ActionListener {
		public void actionPerformed(ActionEvent e_ji11) {
			canvases[canvas_control].setCommand(Command.TEXTINSERT);
		}
	}
	
	
	class Act_Deleted implements ActionListener{
		public void actionPerformed(ActionEvent e){
			canvases[canvas_control].setCommand(Command.DELETE);
			canvases[canvas_control].setSelectDel();
		}
	}
 
    private void fgButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_fgButtonActionPerformed
        Color color = JColorChooser.showDialog(this, 
                "请选择绘制图形的颜色", canvases[canvas_control].getForeground());
        if (color != null) {
            canvases[canvas_control].setForeground(color);
            canvases[canvas_control].setForegroundColor(color);
            fgButton.setBackground(color);
        }
    }//GEN-LAST:event_fgButtonActionPerformed

    private void bgButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bgButtonActionPerformed
        java.awt.Color color = javax.swing.JColorChooser.showDialog(this, 
                "请选择图形的背景色", canvases[canvas_control].getBackground());
        if (color != null) {
            canvases[canvas_control].setBackground(color);
            canvases[canvas_control].setBackgroundColor(color);
            bgButton.setBackground(color);
        }
    }//GEN-LAST:event_bgButtonActionPerformed
    
    private void brButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bgButtonActionPerformed
        java.awt.Color color = javax.swing.JColorChooser.showDialog(this, 
                "Change Board Background Color", canvases[canvas_control].getBackground());
        if (color != null) {
            canvases[canvas_control].setBrushColor(color);
            brButton.setBackground(color);
        }
    }

    private void eraserComboActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_eraserComboActionPerformed
    	eraserButton.setSelected(true);
    	canvases[canvas_control].setEraserIndex(eraserCombo.getSelectedIndex());
    }//GEN-LAST:event_eraserComboActionPerformed

    private void weightComboActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_weightComboActionPerformed
        canvases[canvas_control].setStrokeIndex(weightCombo.getSelectedIndex());
    }//GEN-LAST:event_weightComboActionPerformed

    class Act_SaveAs implements ActionListener{
		public void actionPerformed(ActionEvent e_ji9){
			 if (filechooser2 == null) {
				 filechooser2 = new JFileChooser();
				 filechooser2.setFileFilter(jdrawFilter);
				 filechooser2.setMultiSelectionEnabled(false);
				 filechooser2.setAcceptAllFileFilterUsed(false);
				 filechooser2.setCurrentDirectory(new File("./"));
	            }
	            int retVal = filechooser2.showSaveDialog(canvases[canvas_control]);
	            if (retVal != JFileChooser.APPROVE_OPTION)
	                return;
	            File file = filechooser2.getSelectedFile();
	            if (!file.getName().toLowerCase().endsWith(".jpg")) {
	            	//获取待打开的文件名
	    			String filename = filechooser2.getSelectedFile().getName();
	    			canvasTabbedPane.setTitleAt(tb-1, filename);
	    			filename = filename+ ".jpg";
	    			//获取待打开的文件所在的目录,将目录保存至数组,这样在保存文件的时候,能够将文件名保存到目录中
	    			directory[canvas_control] = filechooser2.getCurrentDirectory().toString();
	    			try {	    				
	    				canvases[canvas_control].SaveJpg();
	    				ImageToJpeg.toJpeg(new File(directory[canvas_control] + "/" + filename), canvases[canvas_control].offScreenImg);
	    			} catch (Exception e) {
	    				e.printStackTrace();
	    			}
	            }		
		}
	}
	
	public static void main(String args[]) {
		new PaintBoard();
	}
	
	

}

⌨️ 快捷键说明

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