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

📄 menueventclass.java

📁 windows画图板.类似于windows自带的画图程序!
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
import java.awt.AWTException;

import com.lowagie.text.Graphic;
import com.sunking.swing.print.BookOfPrint;
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.GraphicsDevice;
import java.awt.GraphicsEnvironment;
import java.awt.GridLayout;
import java.awt.Image;
import java.awt.print.Book;
import java.awt.print.PageFormat;
import java.awt.print.PrinterException;
import java.awt.print.PrinterJob;
import java.awt.Toolkit;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.UnsupportedFlavorException;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.Scanner;
import java.awt.Font;
import javax.imageio.ImageIO;
import javax.print.attribute.HashPrintRequestAttributeSet;
import javax.swing.filechooser.FileNameExtensionFilter;
import javax.swing.BorderFactory;
import javax.swing.ButtonGroup;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JColorChooser;
import javax.swing.JComboBox;
import javax.swing.JDialog;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.Timer;
import java.awt.Robot;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JTextField;
import javax.swing.border.Border;

public class MenuEventClass implements BookOfPrint, ActionListener {
	private static final Component JFrameTest = null;
	protected static Object fontSizeCombo;

	@SuppressWarnings("static-access")
	public void actionPerformed(ActionEvent e) {
		if (e.getActionCommand().equals("编辑颜色(E)...")
				|| e.getSource() == Panel.bgButton) {
			if (e.getSource() == Panel.bgButton)
				Panel.drawCanvas.setBackground(JColorChooser.showDialog(
						colorEdit, "编辑颜色", null));
			if (e.getActionCommand().equals("编辑颜色(E)..."))
				Panel.shapeColor = JColorChooser.showDialog(colorEdit, "编辑颜色",
						Color.BLACK);
		} else if (e.getActionCommand().equals("新建(N)")
				|| e.getSource() == Panel.newButton) {
			if (Panel.judgmentDraw == true) {
				JOptionPane optionPane = new JOptionPane();
				int conInfo = optionPane.showConfirmDialog(null, "将改动保存到命名?",
						"SmallPhoto", optionPane.YES_NO_CANCEL_OPTION);
				switch (conInfo) {
				case 0:
					JFileChooser fileChooser1 = new JFileChooser();
					/** ********************设置过滤文件************************** */
					String filterImg = "GIF";
					String filterImg0[] = { "JPEG", "JPG" };
					String filterImg1 = "PNG";
					String filterImgAll[] = { "GIF", "JPEG", "JPG", "PNG" };
					FileNameExtensionFilter filter = new FileNameExtensionFilter(
							"GIF计算同服务   (*.GIF)", filterImg);
					FileNameExtensionFilter filter1 = new FileNameExtensionFilter(
							"JPEG   (*.JPG,*.JPEG)", filterImg0);
					FileNameExtensionFilter filter2 = new FileNameExtensionFilter(
							"PNG便携网络图形   (*.png)", filterImg1);
					FileNameExtensionFilter filter3 = new FileNameExtensionFilter(
							"所有图像文件", filterImgAll);
					fileChooser1.addChoosableFileFilter(filter);
					fileChooser1.addChoosableFileFilter(filter1);
					fileChooser1.addChoosableFileFilter(filter2);
					fileChooser1.addChoosableFileFilter(filter3);
					fileChooser1.showDialog(null, "保存");
					GraphicsEnvironment environment = GraphicsEnvironment
							.getLocalGraphicsEnvironment();
					GraphicsDevice screen = environment
							.getDefaultScreenDevice();
					try {
						Robot robot = new Robot(screen);
						FrameDesign.run(robot);
					} catch (AWTException k) {
						k.printStackTrace();
					}
					try {
						if ((fileChooser1.getSelectedFile().toString())
								.endsWith(".jpg")) {
							ImageIO.write(FrameDesign.image, "jpg", new File(
									fileChooser1.getSelectedFile().toString()));
						} else if ((fileChooser1.getSelectedFile().toString())
								.endsWith(".gif")) {
							ImageIO.write(FrameDesign.image, "gif", new File(
									fileChooser1.getSelectedFile().toString()));
						} else if ((fileChooser1.getSelectedFile().toString())
								.endsWith(".png")) {
							ImageIO.write(FrameDesign.image, "png", new File(
									fileChooser1.getSelectedFile().toString()));
						} else if ((fileChooser1.getSelectedFile().toString())
								.endsWith(".jpeg")) {
							ImageIO.write(FrameDesign.image, "jpeg", new File(
									fileChooser1.getSelectedFile().toString()));
						}
						Panel.judgmentDraw = false;
					} catch (Exception f) {
						f.printStackTrace();
					}
					Panel.drawCanvas.clearBoard();
					DrawingBoard.picture = null;
					Graphics g = null;
					Panel.drawCanvas.paintComponent(g);
					FrameDesign.frameObject.setTitle("未命名-SmallPhoto");
					break;
				case 1:
					Panel.drawCanvas.clearBoard();
					DrawingBoard.picture = null;
					Panel.judgmentDraw = false;
					g = null;
					Panel.drawCanvas.paintComponent(g);
					FrameDesign.frameObject.setTitle("未命名-SmallPhoto");
					break;
				case 3:

				}
			} else {
				Panel.drawCanvas.clearBoard();
				DrawingBoard.picture = null;
				Graphics g = null;
				Panel.drawCanvas.paintComponent(g);
				FrameDesign.frameObject.setTitle("未命名-SmallPhoto");
			}
		} else if (e.getActionCommand().equals("打开(O)...")
				|| e.getSource() == Panel.openButton
				|| e.getActionCommand().equals("粘贴来源(F)...")) {
			JFileChooser fileChooser1 = new JFileChooser();
			/** ********************设置过滤文件************************** */
			String filterImg = "GIF";
			String filterImg0[] = { "JPEG", "JPG" };
			String filterImg1 = "PNG";
			String filterImgAll[] = { "GIF", "JPEG", "JPG", "PNG" };
			FileNameExtensionFilter filter = new FileNameExtensionFilter(
					"GIF计算同服务   (*.GIF)", filterImg);
			FileNameExtensionFilter filter1 = new FileNameExtensionFilter(
					"JPEG   (*.JPG,*.JPEG)", filterImg0);
			FileNameExtensionFilter filter2 = new FileNameExtensionFilter(
					"PNG便携网络图形   (*.png)", filterImg1);
			FileNameExtensionFilter filter3 = new FileNameExtensionFilter(
					"所有图像文件", filterImgAll);
			fileChooser1.addChoosableFileFilter(filter);
			fileChooser1.addChoosableFileFilter(filter1);
			fileChooser1.addChoosableFileFilter(filter2);
			fileChooser1.addChoosableFileFilter(filter3);
			Graphics g = null;
			fileChooser1.setCurrentDirectory(new File("."));
			if (e.getActionCommand().equals("粘贴来源(F)...")) {
				fileChooser1.showDialog(null, "粘贴来源");
			} else {
				fileChooser1.showOpenDialog(null);
			}
			if (Panel.judgmentDraw == true) {
				JOptionPane optionPane = new JOptionPane();
				int conInfo = optionPane.showConfirmDialog(null, "将改动保存到未命名?",
						"SmallPhoto", optionPane.YES_NO_CANCEL_OPTION);
				switch (conInfo) {
				case 0:
					fileChooser1.showDialog(null, "保存");
					GraphicsEnvironment environment = GraphicsEnvironment
							.getLocalGraphicsEnvironment();
					GraphicsDevice screen = environment
							.getDefaultScreenDevice();
					try {
						Robot robot = new Robot(screen);
						FrameDesign.run(robot);
					} catch (AWTException k) {
						k.printStackTrace();
					}
					try {
						File file = new File(fileChooser1.getSelectedFile()
								.toString());
						if (file.exists() == true) {
							final JOptionPane msg = new JOptionPane();
							int i = msg.showConfirmDialog(null, fileChooser1
									.getSelectedFile().toString()
									+ "要替换吗?", "保存为", msg.YES_NO_OPTION);
							if (i == msg.YES_OPTION) {
								if ((fileChooser1.getSelectedFile().toString())
										.endsWith(".jpg")) {
									ImageIO.write(FrameDesign.image, "jpg",
											new File(fileChooser1
													.getSelectedFile()
													.toString()));
								} else if ((fileChooser1.getSelectedFile()
										.toString()).endsWith(".gif")) {
									ImageIO.write(FrameDesign.image, "gif",
											new File(fileChooser1
													.getSelectedFile()
													.toString()));
								} else if ((fileChooser1.getSelectedFile()
										.toString()).endsWith(".png")) {
									ImageIO.write(FrameDesign.image, "png",
											new File(fileChooser1
													.getSelectedFile()
													.toString()));
								} else if ((fileChooser1.getSelectedFile()
										.toString()).endsWith(".jpeg")) {
									ImageIO.write(FrameDesign.image, "jpeg",
											new File(fileChooser1
													.getSelectedFile()
													.toString()));
								}
							} else {

							}
						}
					} catch (Exception f) {
						f.printStackTrace();
					}
					Panel.judgmentDraw = false;
					Panel.drawCanvas.clearBoard();
					DrawingBoard.picture = null;
					g = null;
					Panel.drawCanvas.paintComponent(g);
					FrameDesign.frameObject.setTitle("未命名-SmallPhoto");
					break;
				case 1:
					Panel.drawCanvas.clearBoard();
					DrawingBoard.picture = null;
					Panel.judgmentDraw = false;
					g = null;
					Panel.drawCanvas.paintComponent(g);
					FrameDesign.frameObject.setTitle("未命名-SmallPhoto");
					break;
				case 3:

				}
			}
			imgFile = new File(fileChooser1.getSelectedFile().toString());
			imgPath = fileChooser1.getSelectedFile().toString();
			try {
				DrawingBoard.picture = ImageIO.read(MenuEventClass.imgFile);
				ImageProcess.image = new BufferedImage(DrawingBoard.picture
						.getWidth(null), DrawingBoard.picture.getHeight(null),
						BufferedImage.TYPE_INT_RGB);
				ImageProcess.image.getGraphics().drawImage(
						DrawingBoard.picture, 0, 0, null);
			} catch (IOException f) {
				f.printStackTrace();
			}
			try {
				Image img = ImageIO.read(MenuEventClass.imgFile);
				ImageProcess.image = new BufferedImage(img.getWidth(null), img
						.getHeight(null), BufferedImage.TYPE_INT_RGB);
				ImageProcess.image.getGraphics().drawImage(img, 0, 0, null);
			} catch (IOException f) {
				f.printStackTrace();
			}
			String picPath = new String(MenuEventClass.imgPath);
			int location = picPath.lastIndexOf('\\') + 1;
			title = picPath.substring(location);
			Panel.judgmentDraw = false;
			FrameDesign.frameObject.setTitle(title + "-SmallPhoto");
			Panel.drawCanvas.paintComponent(g);
		} else if (e.getActionCommand().equals("关于SmallPhoto(C)")) {
			final JDialog about = new JDialog(new JFrame(), "关于SmallPhoto");
			about.setLayout(new GridLayout(3, 1));
			about.setSize(400, 250);
			final JPanel version = new JPanel();
			version.setLayout(new GridLayout(2, 1));
			JPanel banBen = new JPanel();
			banBen.add(new JLabel("          SmallPhot0", new ImageIcon(
					"E:\\java练习\\java练习\\SmallPhoto\\src\\img\\ICON.jpg"), 0));
			banBen.add(new JLabel("          版本:2008.11.30"));
			JButton memory = new JButton("内    存    监    视");
			memory.addActionListener(new ActionListener() {
				public void actionPerformed(ActionEvent e) {
					about.setVisible(false);
					String[] s = null;
					MemoryMonitor.main(s);
				}
			});
			memory.setBackground(Color.LIGHT_GRAY);
			version.add(banBen);
			version.add(memory);
			GregorianCalendar date = new GregorianCalendar();
			int year = date.get(Calendar.YEAR);
			int month = date.get(Calendar.MONTH) + 1;
			int ri = date.get(Calendar.DATE);
			int week = date.get(Calendar.DAY_OF_WEEK);
			Integer hourse = date.get(Calendar.HOUR);
			String 小时 = null;
			if ((hourse.toString()).length() < 2) {
				小时 = "0" + (hourse.toString());
			} else {
				小时 = hourse.toString();
			}

			Integer minute = date.get(Calendar.MINUTE);
			String 分 = null;
			if ((minute.toString()).length() < 2) {
				分 = "0" + (minute.toString());
			} else {
				分 = minute.toString();
			}
			Integer second = date.get(Calendar.SECOND);
			String 秒 = null;
			if ((second.toString()).length() < 2) {
				秒 = "0" + (second.toString());
			} else {
				秒 = second.toString();
			}
			String xingQi = null;
			switch (week) {
			case 1:
				xingQi = "星期日";
				break;
			case 2:
				xingQi = "星期一";
				break;
			case 3:
				xingQi = "星期二";
				break;
			case 4:
				xingQi = "星期三";
				break;
			case 5:
				xingQi = "星期四";
				break;
			case 6:
				xingQi = "星期五";
				break;
			case 7:
				xingQi = "星期六";
				break;
			}
			final JLabel dateLabel = new JLabel("                       今天是:"
					+ year + "年" + month + "月" + ri + "日" + "      " + xingQi
					+ "    " + 小时 + ":" + 分 + ":" + 秒);
			about
					.add(new JLabel(
							new ImageIcon(
									"E:\\java练习\\java练习\\SmallPhoto\\src\\img\\关于SmallPhoto.jpg")));
			about.add(version);
			about.add(dateLabel);
			about.setResizable(false);
			about.setVisible(true);
			class TimePrinter implements ActionListener {
				public void actionPerformed(ActionEvent event) {
					GregorianCalendar date = new GregorianCalendar();
					int year = date.get(Calendar.YEAR);
					int month = date.get(Calendar.MONTH) + 1;
					int ri = date.get(Calendar.DATE);
					int week = date.get(Calendar.DAY_OF_WEEK);
					Integer hourse = date.get(Calendar.HOUR);
					String 小时 = null;
					if ((hourse.toString()).length() < 2) {
						小时 = "0" + (hourse.toString());
					} else {
						小时 = hourse.toString();
					}

					Integer minute = date.get(Calendar.MINUTE);
					String 分 = null;
					if ((minute.toString()).length() < 2) {
						分 = "0" + (minute.toString());
					} else {
						分 = minute.toString();
					}
					Integer second = date.get(Calendar.SECOND);
					String 秒 = null;
					if ((second.toString()).length() < 2) {
						秒 = "0" + (second.toString());
					} else {
						秒 = second.toString();
					}
					String xingQi = null;
					switch (week) {
					case 1:
						xingQi = "星期日";
						break;
					case 2:
						xingQi = "星期一";
						break;
					case 3:
						xingQi = "星期二";
						break;
					case 4:
						xingQi = "星期三";
						break;
					case 5:
						xingQi = "星期四";
						break;
					case 6:
						xingQi = "星期五";
						break;
					case 7:
						xingQi = "星期六";
						break;
					}
					dateLabel.setText("                       今天是:" + year
							+ "年" + month + "月" + ri + "日" + "      " + xingQi
							+ "    " + 小时 + ":" + 分 + ":" + 秒);

⌨️ 快捷键说明

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