📄 menueventclass.java
字号:
scale600.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
comparisonInfo.setText("600%");
}
});
final JRadioButton scale800 = new JRadioButton("800%");
scale800.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
comparisonInfo.setText("800%");
}
});
scale100.setSelected(true);
buttonGroup.add(scale100);
scaleComparison.add(scale100);
buttonGroup.add(scale200);
scaleComparison.add(scale200);
buttonGroup.add(scale400);
scaleComparison.add(scale400);
buttonGroup.add(scale600);
scaleComparison.add(scale600);
buttonGroup.add(scale800);
scaleComparison.add(scale800);
left.add(scale);
left.add(scaleComparison);
JPanel buttonArea = new JPanel();
buttonArea.setLayout(new GridLayout(7, 1));
JButton sure = new JButton("确定");
sure.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
defineSelf.setVisible(false);
if (scale100.isSelected()) {
scaleInch(DrawingBoard.picture, 1, 1);
} else if (scale200.isSelected()) {
scaleInch(DrawingBoard.picture, 2, 2);
} else if (scale400.isSelected()) {
scaleInch(DrawingBoard.picture, 4, 4);
} else if (scale600.isSelected()) {
scaleInch(DrawingBoard.picture, 6, 6);
} else if (scale800.isSelected()) {
scaleInch(DrawingBoard.picture, 8, 8);
}
}
});
JButton cancel = new JButton("取消");
cancel.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
defineSelf.setVisible(false);
}
});
buttonArea.add(new JLabel(""));
buttonArea.add(sure);
buttonArea.add(new JLabel(""));
buttonArea.add(cancel);
buttonArea.add(new JLabel(""));
defineSelf.setSize(250, 180);
defineSelf.setVisible(true);
defineSelf.add(left, BorderLayout.CENTER);
defineSelf.add(buttonArea, BorderLayout.EAST);
defineSelf.setResizable(false);
} else if (e.getActionCommand().equals("保存(S)")
|| e.getSource() == Panel.saveButton
|| e.getActionCommand().equals("复制到(O)...")) {
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);
if (e.getActionCommand().equals("复制到(O)...")) {
fileChooser1.showDialog(JFrameTest, "复制到");
} else {
fileChooser1.showSaveDialog(JFrameTest);
}
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();
}
} else if (e.getActionCommand().equals("另存为(A)...")) {
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(JFrameTest, "另存为");
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();
}
} else if (e.getActionCommand().equals("打印预览(V)")
|| e.getSource() == Panel.printViewButton) {
PrintPreviewDialog dialog = new PrintPreviewDialog(
new BookTestFrame().makeBook());
dialog.setVisible(true);
} else if (e.getActionCommand().equals("页面设置(U)...")) {
PrinterJob job = PrinterJob.getPrinterJob();
job.pageDialog(attributes);
} else if (e.getActionCommand().equals("打印(P)...")
|| e.getSource() == Panel.printButton) {
attributes = new HashPrintRequestAttributeSet();
try {
PrinterJob job = PrinterJob.getPrinterJob();
job.setPrintable(Panel.board);
if (job.printDialog())
job.print(attributes);
} catch (PrinterException ent) {
ent.printStackTrace();
}
} else if (e.getActionCommand().equals("发送(E)...")) {
try {
Runtime.getRuntime().exec(
"cmd /c start mailto:wmj1987615@sina.com");
} catch (Exception L) {
L.printStackTrace();
}
} else if (e.getActionCommand().equals("退出(X)")) {
System.exit(1);
} else if (e.getActionCommand().equals("文字工具栏(E)")) {
JDialog font = new JDialog(new JFrame(), "字体");
String fontName[] = GraphicsEnvironment
.getLocalGraphicsEnvironment()
.getAvailableFontFamilyNames();
final JComboBox fontCombo = new JComboBox(fontName);
fontCombo.setSelectedItem("宋体");
ArrayList<Integer> fontSize = new ArrayList<Integer>();
for (int i = 8; i <= 70; i = i + 2) {
fontSize.add(i);
}
final JComboBox fontSizeCombo = new JComboBox(fontSize.toArray());
JButton bold = new JButton(new ImageIcon(
"E:\\java练习\\java练习\\SmallPhoto\\src\\img\\加粗.jpg"));
JButton italic = new JButton(new ImageIcon(
"E:\\java练习\\java练习\\SmallPhoto\\src\\img\\斜体.jpg"));
JButton underLine = new JButton(new ImageIcon(
"E:\\java练习\\java练习\\SmallPhoto\\src\\img\\下划线.jpg"));
font.setLayout(new FlowLayout());
font.setSize(400, 70);
font.setResizable(false);
font.add(fontCombo);
font.add(fontSizeCombo);
font.add(bold);
font.add(italic);
font.add(underLine);
font.setVisible(true);
fontCombo.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
drawBoarFont = new Font((fontCombo.getSelectedItem())
.toString(), Font.BOLD, Integer
.parseInt((fontSizeCombo.getSelectedItem())
.toString()));
}
});
fontSizeCombo.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
drawBoarFont = new Font((fontCombo.getSelectedItem())
.toString(), Font.BOLD, Integer
.parseInt((fontSizeCombo.getSelectedItem())
.toString()));
}
});
bold.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
drawBoarFont = new Font((fontCombo.getSelectedItem())
.toString(), Font.BOLD, Integer
.parseInt((fontSizeCombo.getSelectedItem())
.toString()));
}
});
italic.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
drawBoarFont = new Font((fontCombo.getSelectedItem())
.toString(), Font.ITALIC, Integer
.parseInt((fontSizeCombo.getSelectedItem())
.toString()));
}
});
underLine.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
drawBoarFont = new Font((fontCombo.getSelectedItem())
.toString(), Font.ROMAN_BASELINE, Integer
.parseInt((fontSizeCombo.getSelectedItem())
.toString()));
}
});
} else if (e.getActionCommand().equals("清除图像(C)")) {
Panel.drawCanvas.clearBoard();
DrawingBoard.picture = null;
Graphics g = null;
Panel.drawCanvas.paintComponent(g);
} else if (e.getActionCommand().equals("不透明处理(D)")) {
if (opeao == true) {
Panel.drawCanvas.setOpaque(false);
opeao = false;
} else {
Panel.drawCanvas.setOpaque(true);
opeao = true;
}
} else if (e.getActionCommand().equals("撤销(Z)")) {
} else if (e.getActionCommand().equals("重做(Y)")) {
} else if (e.getActionCommand().equals("剪切(T)")) {
Clipboard clipboard = Toolkit.getDefaultToolkit()
.getSystemClipboard();
if (selectAll == "全选") {
ImageTransferable selection = new ImageTransferable(
FrameDesign.image);
clipboard.setContents(selection, null);
Panel.drawCanvas.clearBoard();
} else {
ImageTransferable selection = new ImageTransferable(
DrawingBoard.picture);
clipboard.setContents(selection, null);
}
} else if (e.getActionCommand().equals("复制(C)")
|| e.getSource() == Panel.copyButton) {
Clipboard clipboard = Toolkit.getDefaultToolkit()
.getSystemClipboard();
if (selectAll == "全选") {
ImageTransferable selection = new ImageTransferable(
FrameDesign.image);
clipboard.setContents(selection, null);
} else {
ImageTransferable selection = new ImageTransferable(
DrawingBoard.picture);
clipboard.setContents(selection, null);
}
} else if (e.getActionCommand().equals("粘贴(P)")
|| e.getSource() == Panel.pasteButton) {
Clipboard clipboard = Toolkit.getDefaultToolkit()
.getSystemClipboard();
DataFlavor flavor = DataFlavor.imageFlavor;
if (clipboard.isDataFlavorAvailable(flavor)) {
try {
DrawingBoard.picture = (Image) clipboard.getData(flavor);
Image img = DrawingBoard.picture;
ImageProcess.image = new BufferedImage(img.getWidth(null),
img.getHeight(null), BufferedImage.TYPE_INT_RGB);
ImageProcess.image.getGraphics().drawImage(img, 0, 0, null);
Graphics g = null;
Panel.drawCanvas.paintComponent(g);
} catch (UnsupportedFlavorException exception) {
JOptionPane.showMessageDialog(null, exception);
} catch (IOException exception) {
JOptionPane.showMessageDialog(null, exception);
}
}
} else if (e.getActionCommand().equals("清除选定内容(L)")) {
isClear=true;
new ClipRect(Panel.shapeColor, null, DrawingBoard.mouseX,
DrawingBoard.mouseY);
} else if (e.getActionCommand().equals("全选(A)")) {
selectAll = "全选";
GraphicsEnvironment environment = GraphicsEnvironment
.getLocalGraphicsEnvironment();
GraphicsDevice screen = environment.getDefaultScreenDevice();
try {
Robot robot = new Robot(screen);
FrameDesign.run(robot);
} catch (AWTException k) {
k.printStackTrace();
}
}
}
public static void scale(Image pic, int scale, boolean flag) {
int width = pic.getWidth(null); // 得到源图宽
int height = pic.getHeight(null); // 得到源图长
if (flag) {
// 放大
width = width * scale;
height = height * scale;
MenuEventClass.isFDOrSX = false;
} else {
width = width / scale;
height = height / scale;
MenuEventClass.isFDOrSX = true;
}
Image image = pic.getScaledInstance(width, height, Image.SCALE_DEFAULT);
DrawingBoard.picture = image;
Graphics g = null;
Panel.drawCanvas.paintComponent(g);
}
public static void scaleInch(Image pic, int scale, int scaleInch) {
int width = pic.getWidth(null); // 得到源图宽
int height = pic.getHeight(null); // 得到源图长
width = width * scale;
height = height * scaleInch;
Image image = pic.getScaledInstance(width, height, Image.SCALE_DEFAULT);
DrawingBoard.picture = image;
Graphics g = null;
Panel.drawCanvas.paintComponent(g);
}
public static void laShen(Image pic, float shuPing, float ChuiZi) {
float width = pic.getWidth(null); // 得到源图宽
float height = pic.getHeight(null); // 得到源图长
width = width * shuPing;
height = height * ChuiZi;
Image image = pic.getScaledInstance(Math.round(width), Math
.round(height), Image.SCALE_DEFAULT);
DrawingBoard.picture = image;
Graphics g = null;
Panel.drawCanvas.paintComponent(g);
}
public Book makeBook(boolean arg0, PageFormat arg1) {
return null;
}
protected static File imgFile;
protected static String imgPath;
protected static Boolean clear = false;
private static final Component colorEdit = null;
private HashPrintRequestAttributeSet attributes;
protected static boolean srcFlag = true;
protected static boolean opeao = true;
protected static boolean isClear = false;
protected static boolean isFDOrSX = true;
protected static String selectAll = "";
protected static boolean clearAll = false;
protected static Font drawBoarFont;
protected static String title;
protected static String revolve = "水平翻转";
protected static JDialog about;
private float shuiPingLaShen;
private float chuiZiLaShen;
private float shuiPingNiuQu;
private float chuiZiNiuQu;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -