📄 menueventclass.java
字号:
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 + -