From 776f7d530872415ad83e71ea61009a5f057221fd Mon Sep 17 00:00:00 2001 From: jane <229272367@qq.com> Date: Tue, 17 Dec 2024 23:52:34 +0800 Subject: [PATCH 1/7] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=BA=86=E7=94=BB?= =?UTF-8?q?=E6=9D=BF=E7=9A=84=E7=BC=A9=E6=94=BE=E5=8A=9F=E8=83=BD=EF=BC=8C?= =?UTF-8?q?=E4=BD=86=E8=BF=98=E5=AD=98=E5=9C=A8bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PaintingBoard.iml | 1 + src/Codes/tools/DrawPanel.java | 37 +++++++++++-- src/Codes/tools/MyFrame.java | 26 ++++++++-- src/Codes/tools/MyMenu.java | 87 ++++++++++++------------------- src/Codes/tools/MyZoom.java | 95 ++++++++++++++++++++++++++++++++++ 5 files changed, 186 insertions(+), 60 deletions(-) create mode 100644 src/Codes/tools/MyZoom.java diff --git a/PaintingBoard.iml b/PaintingBoard.iml index c90834f..615e3ef 100644 --- a/PaintingBoard.iml +++ b/PaintingBoard.iml @@ -7,5 +7,6 @@ + \ No newline at end of file diff --git a/src/Codes/tools/DrawPanel.java b/src/Codes/tools/DrawPanel.java index 6445fe6..c61ecd0 100644 --- a/src/Codes/tools/DrawPanel.java +++ b/src/Codes/tools/DrawPanel.java @@ -8,6 +8,7 @@ import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.MouseMotionAdapter; +import java.awt.geom.AffineTransform; import java.io.Serial; import java.util.Objects; @@ -20,6 +21,8 @@ public class DrawPanel extends JPanel { @Serial private static final long serialVersionUID = 1L; + private double zoomLevel = 1.0; + private double offsetX = 0, offsetY = 0; public DrawPanel() { // 设置光标类型,为十字形 @@ -31,10 +34,17 @@ public DrawPanel() { this.addMouseMotionListener(new MouseMotion()); } + public void setZoomAndOffset(double zoom, double offsetX, double offsetY) { + this.zoomLevel = zoom; + this.offsetX = offsetX; + this.offsetY = offsetY; + repaint(); + } + // 重写paintComponent方法,使得画板每次刷新时可将之前的所有图形重新画出来。 @Override public void paintComponent(Graphics g) { - super.paintComponent(g); + /*super.paintComponent(g); Graphics2D g2d = (Graphics2D) g; // 定义画板 int j = 0; @@ -42,7 +52,26 @@ public void paintComponent(Graphics g) { draw(g2d, itemList[j]); j++; + }*/ + super.paintComponent(g); + Graphics2D g2d = (Graphics2D) g; // 定义画板 + + // 保存当前变换 + AffineTransform originalTransform = g2d.getTransform(); + + // 应用缩放和平移 + g2d.translate(offsetX, offsetY); + g2d.scale(zoomLevel, zoomLevel); + + // 绘制所有图形 + for (int j = 0; j <= index; j++) { + if (itemList[j] != null) { + draw(g2d, itemList[j]); + } } + + // 恢复原始变换 + g2d.setTransform(originalTransform); } void draw(Graphics2D g2d, AbstractShape abstractShape) { @@ -57,7 +86,6 @@ public void undo() { if (index > 0) { // 确保有图形可以撤销 index--; // 回退到上一个图形 // 如果当前选择的是铅笔、橡皮擦或刷子等工具(绘制多个点的图形) - if (itemList[index] != null) { System.out.println(itemList[index].currentChoice); if (itemList[index].currentChoice == 3 || itemList[index].currentChoice == 16 @@ -224,5 +252,8 @@ public void mouseMoved(MouseEvent e) { statusBar.setText("坐标:[" + e.getX() + "," + e.getY() + "]像素"); } } - + public void setZoomLevel(double zoomLevel) { + this.zoomLevel = zoomLevel; + repaint(); // 重新绘制面板 + } } diff --git a/src/Codes/tools/MyFrame.java b/src/Codes/tools/MyFrame.java index 269d6d5..950db5a 100644 --- a/src/Codes/tools/MyFrame.java +++ b/src/Codes/tools/MyFrame.java @@ -3,8 +3,10 @@ import Codes.shape.*; import javax.swing.*; +import javax.swing.event.ChangeEvent; import java.awt.*; import java.awt.event.*; +import java.awt.geom.AffineTransform; import java.io.Serial; import java.util.Objects; @@ -17,8 +19,12 @@ public class MyFrame extends JFrame { * 保存文件的标志 */ public static int saved = 0; - - + /** + * 画布缩放标志 + */ + static int height; + static int width; + static double offSetX, offSetY, zoomlvl; /** * 铅笔或橡皮擦图形的存储长度 */ @@ -78,6 +84,11 @@ public class MyFrame extends JFrame { */ public static MySlide slider; + /** + * 缩放区域滑动条 + */ + public static MyZoom zoom; + public MyFrame() { init(); } @@ -120,8 +131,17 @@ private void init() { // 创建各种基本图形的按钮 drawingArea = new DrawPanel(); this.add(drawingArea, BorderLayout.CENTER); + + zoom=new MyZoom(drawingArea); statusBar = new JLabel(); - this.add(statusBar, BorderLayout.SOUTH); + JPanel southPanel = new JPanel(); + southPanel.setLayout(new BoxLayout(southPanel, BoxLayout.X_AXIS)); + + southPanel.add(statusBar); + southPanel.add(Box.createHorizontalStrut(30)); // 添加间距 + southPanel.add(zoom); + + add(southPanel, BorderLayout.SOUTH); statusBar.setText("坐标"); /* diff --git a/src/Codes/tools/MyMenu.java b/src/Codes/tools/MyMenu.java index 08e940d..af24835 100644 --- a/src/Codes/tools/MyMenu.java +++ b/src/Codes/tools/MyMenu.java @@ -4,6 +4,8 @@ import javax.imageio.ImageIO; import javax.swing.*; +import javax.swing.event.ChangeEvent; +import javax.swing.event.ChangeListener; import javax.swing.filechooser.FileFilter; import java.awt.*; import java.awt.event.InputEvent; @@ -29,10 +31,7 @@ public MyMenu(MyFrame frame) { void addMenu(MyFrame frame) { - /* - ** 顶部菜单条 - */ - + // 顶部菜单条 JMenuBar jMenuBar = new JMenuBar(); JMenuItem[] strokeItems = new JMenuItem[strokes.length]; // 实例化菜单对象 @@ -220,59 +219,39 @@ void openFile() { JOptionPane.showMessageDialog(fileChooser, "无效的文件名", "无效的文件名", JOptionPane.ERROR_MESSAGE); } - /* - BufferedImage image; -try { - image = ImageIO.read(fileName); - if (image == null) { - JOptionPane.showMessageDialog(MyFrame.this, "无法读取图片!"); - return; - } - - // 获取图片原始尺寸 - int imgWidth = image.getWidth(); - int imgHeight = image.getHeight(); - - // 设置画布大小为图片大小 - drawingArea.setPreferredSize(new Dimension(imgWidth, imgHeight)); - drawingArea.revalidate(); - drawingArea.repaint(); - - // 如果需要缩放图片适应画布(可选) - int canvasWidth = drawingArea.getWidth(); - int canvasHeight = drawingArea.getHeight(); - if (canvasWidth > 0 && canvasHeight > 0) { - // 按比例缩放图片 - Image scaledImage = image.getScaledInstance(canvasWidth, canvasHeight, Image.SCALE_SMOOTH); - BufferedImage resizedImage = new BufferedImage(canvasWidth, canvasHeight, BufferedImage.TYPE_INT_ARGB); - Graphics2D g2d = resizedImage.createGraphics(); - g2d.drawImage(scaledImage, 0, 0, null); - g2d.dispose(); - image = resizedImage; - } - - // 更新画布显示图片 - index = 0; - currentChoice = 0; - drawingArea.createNewGraphics(); - itemList[index].image = image; - itemList[index].board = drawingArea; - drawingArea.repaint(); - index++; - currentChoice = 3; - drawingArea.createNewGraphics(); - ColorChanger colorChanger=new ColorChanger(drawingArea); - colorChanger.processImage(image); -} catch (IOException e) { - e.printStackTrace(); -} - * */ - BufferedImage image; - try { index = 0; currentChoice = 0; - image = ImageIO.read(fileName); + BufferedImage image = ImageIO.read(fileName); + + if (image == null) { + JOptionPane.showMessageDialog(Start.wds, "无法读取图片!"); + return; + } + + // 获取图片原始尺寸 + int imgWidth = image.getWidth(); + int imgHeight = image.getHeight(); + + // 设置画布大小为图片大小 + drawingArea.setPreferredSize(new Dimension(imgWidth, imgHeight)); + drawingArea.revalidate(); + drawingArea.repaint(); + + // 如果需要缩放图片适应画布(可选) + int canvasWidth = drawingArea.getWidth(); + int canvasHeight = drawingArea.getHeight(); + if (canvasWidth > 0 && canvasHeight > 0) { + // 按比例缩放图片 + Image scaledImage = image.getScaledInstance(canvasWidth, canvasHeight, Image.SCALE_SMOOTH); + BufferedImage resizedImage = new BufferedImage(canvasWidth, canvasHeight, BufferedImage.TYPE_INT_ARGB); + Graphics2D g2d = resizedImage.createGraphics(); + g2d.drawImage(scaledImage, 0, 0, null); + g2d.dispose(); + image = resizedImage; + } + + // 更新画布显示图片 drawingArea.createNewGraphics(); itemList[index].image = image; itemList[index].board = drawingArea; diff --git a/src/Codes/tools/MyZoom.java b/src/Codes/tools/MyZoom.java new file mode 100644 index 0000000..e3bc186 --- /dev/null +++ b/src/Codes/tools/MyZoom.java @@ -0,0 +1,95 @@ +package Codes.tools; + +import Codes.tools.DrawPanel; + +import javax.swing.*; +import javax.swing.event.ChangeEvent; +import javax.swing.event.ChangeListener; +import java.awt.*; +import java.util.Hashtable; + +public class MyZoom extends JPanel { + + private double zoomLevel = 1.0; // 当前缩放比例 + private DrawPanel drawingArea; // 绘图区域 + private JSlider zoomSlider; // 缩放滑动条 + private JLabel zoomValueLabel; // 显示缩放值的标签 + + public MyZoom(DrawPanel drawingArea) { + this.drawingArea = drawingArea; + initComponents(); + } + + private void initComponents() { + // 设置布局 + setLayout(new FlowLayout(FlowLayout.CENTER, 10, 5)); + + // 创建缩放滑动条 + zoomSlider = new JSlider(JSlider.HORIZONTAL, 10, 40, 10); // 最小值 10,最大值 40,初始值 10 + zoomSlider.setMajorTickSpacing(10); // 大刻度间隔 + zoomSlider.setMinorTickSpacing(1); // 小刻度间隔 + zoomSlider.setPaintTicks(false); // 显示刻度 + zoomSlider.setPaintLabels(false); // 显示刻度标签 + zoomSlider.setPreferredSize(new Dimension(200, 50)); // 设置滑动条大小 + + // 自定义刻度标签 + Hashtable labelTable = new Hashtable<>(); + for (int i = 10; i <= 40; i += 1) { + labelTable.put(i, new JLabel(String.format("%.1f", i / 10.0))); + } + zoomSlider.setLabelTable(labelTable); + + // 创建缩放值标签 + zoomValueLabel = new JLabel("1.0"); + zoomValueLabel.setFont(new Font("宋体", Font.PLAIN, 14)); + + // 添加滑动条和标签到面板 + add(new JLabel("缩放程度:")); + add(zoomSlider); + add(zoomValueLabel); + + // 添加滑动条值变化监听器 + zoomSlider.addChangeListener(new ChangeListener() { + @Override + public void stateChanged(ChangeEvent e) { + // 获取滑动条的值 + int sliderValue = zoomSlider.getValue(); + zoomLevel = sliderValue / 10.0; // 将整数值转换为小数值 + + // 更新缩放值标签 + zoomValueLabel.setText(String.format("%.1f", zoomLevel)); + + // 更新绘图区域的缩放比例 + updateZoom(); + } + }); + } + + private void updateZoom() { + // 获取绘图区域的大小 + int width = drawingArea.getWidth(); + int height = drawingArea.getHeight(); + + // 计算缩放后的偏移量 + double offSetX = width / 2; + double offSetY = height / 2; + + // 调整偏移量以保持缩放中心 + if (offSetX < (width / zoomLevel) / 2) { + offSetX = (width / zoomLevel) / 2; + } + if (offSetX > width - ((width / zoomLevel) / 2)) { + offSetX = width - ((width / zoomLevel) / 2); + } + if (offSetY < (height / zoomLevel) / 2) { + offSetY = (height / zoomLevel) / 2; + } + if (offSetY > height - ((height / zoomLevel) / 2)) { + offSetY = height - ((height / zoomLevel) / 2); + } + + // 更新绘图区域的缩放比例 + drawingArea.setZoomLevel(zoomLevel); + drawingArea.repaint(); // 重新绘制绘图区域 + } +} From 93a386b3757a77aaf7d11adac0b5403c30c1ffe7 Mon Sep 17 00:00:00 2001 From: Tiffanylyt <3543922075@qq.com> Date: Fri, 27 Dec 2024 19:29:11 +0800 Subject: [PATCH 2/7] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=83=8C=E6=99=AF?= =?UTF-8?q?=E9=80=89=E6=8B=A9=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Codes/tools/DrawPanel.java | 25 ++++++++------ src/Codes/tools/MyMenu.java | 61 +++++++++++++++++++++++++++++++++- 2 files changed, 75 insertions(+), 11 deletions(-) diff --git a/src/Codes/tools/DrawPanel.java b/src/Codes/tools/DrawPanel.java index c61ecd0..3877c29 100644 --- a/src/Codes/tools/DrawPanel.java +++ b/src/Codes/tools/DrawPanel.java @@ -23,6 +23,7 @@ public class DrawPanel extends JPanel { private static final long serialVersionUID = 1L; private double zoomLevel = 1.0; private double offsetX = 0, offsetY = 0; + private Image backgroundImage; public DrawPanel() { // 设置光标类型,为十字形 @@ -33,6 +34,15 @@ public DrawPanel() { this.addMouseListener(new MouseAction()); this.addMouseMotionListener(new MouseMotion()); } + public void setBackgroundImage(Image image) { + this.backgroundImage = image; + repaint(); // 重新绘制面板 + } + + public void clearBackgroundImage() { + this.backgroundImage = null; + repaint(); // 重新绘制面板 + } public void setZoomAndOffset(double zoom, double offsetX, double offsetY) { this.zoomLevel = zoom; @@ -44,18 +54,14 @@ public void setZoomAndOffset(double zoom, double offsetX, double offsetY) { // 重写paintComponent方法,使得画板每次刷新时可将之前的所有图形重新画出来。 @Override public void paintComponent(Graphics g) { - /*super.paintComponent(g); - Graphics2D g2d = (Graphics2D) g; // 定义画板 - int j = 0; - - while (j <= index) { - draw(g2d, itemList[j]); - j++; - - }*/ super.paintComponent(g); Graphics2D g2d = (Graphics2D) g; // 定义画板 + // 绘制背景图像 + if (backgroundImage != null) { + g2d.drawImage(backgroundImage, 0, 0, getWidth(), getHeight(), this); + } + // 保存当前变换 AffineTransform originalTransform = g2d.getTransform(); @@ -73,7 +79,6 @@ public void paintComponent(Graphics g) { // 恢复原始变换 g2d.setTransform(originalTransform); } - void draw(Graphics2D g2d, AbstractShape abstractShape) { // 将画笔传入到各个子类中,用来完成各自的绘图 abstractShape.draw(g2d); diff --git a/src/Codes/tools/MyMenu.java b/src/Codes/tools/MyMenu.java index af24835..a9d8802 100644 --- a/src/Codes/tools/MyMenu.java +++ b/src/Codes/tools/MyMenu.java @@ -24,8 +24,9 @@ public class MyMenu { private final String[] strokes = {"/image/stroke1.png", "/image/stroke2.png", "/image/stroke3.png", "/image/stroke4.png"}; - + //private DrawPanel drawPanel; public MyMenu(MyFrame frame) { + addMenu(frame); } @@ -40,6 +41,7 @@ void addMenu(MyFrame frame) { JMenu setMenu = new JMenu("设置"); JMenu helpMenu = new JMenu("帮助"); JMenu strokeMenu = new JMenu("粗细"); + JMenu BGMenu =new JMenu("背景"); // 实例化菜单项,并通过ImageIcon对象添加图片 定义文件菜单的菜单项 JMenuItem fileItemNew = new JMenuItem("新建", new ImageIcon(getClass().getResource("/image/new.png"))); JMenuItem fileItemOpen = new JMenuItem("打开", new ImageIcon(getClass().getResource("/image/open.png"))); @@ -50,6 +52,62 @@ void addMenu(MyFrame frame) { JMenuItem setItemUndo = new JMenuItem("撤销", new ImageIcon(getClass().getResource("/image/undo.png"))); JMenuItem helpItemUse = new JMenuItem("使用手册"); JMenuItem helpItemInfo = new JMenuItem("关于画图"); + + //背景选择 + JMenuItem black = new JMenuItem("黑夜模式"); + black.addActionListener(e -> { + // 将画布背景设置为黑色 + drawingArea.clearBackgroundImage(); + drawingArea.setBackground(Color.BLACK); // 设置画布背景为黑色 + drawingArea.repaint(); // 刷新界面 + }); + JMenuItem origin = new JMenuItem("原始模式"); + origin.addActionListener(e -> { + drawingArea.clearBackgroundImage(); + drawingArea.setBackground(Color.WHITE); + drawingArea.repaint(); // 刷新界面 + }); + JMenuItem green = new JMenuItem("护眼模式"); + green.addActionListener(e -> { + drawingArea.clearBackgroundImage(); + // 将浮点数 RGB 值转换为整数 + int r = (int) Math.round(199.00); + int g = (int) Math.round(237.00); + int b = (int) Math.round(204.00); + + // 创建颜色对象 + Color eyeProtectionColor = new Color(r, g, b); + + // 设置背景颜色 + drawingArea.setBackground(eyeProtectionColor); + drawingArea.repaint(); // 刷新界面 + }); + JMenuItem grid = new JMenuItem("网格纸"); + grid.addActionListener(e -> { + // 加载图片 + ImageIcon gridIcon = new ImageIcon(getClass().getResource("/image/grid.png")); + Image gridImage = gridIcon.getImage(); + + // 设置自定义背景面板 + drawingArea.setBackgroundImage(gridImage); // 假设 DrawPanel 中有 setBackgroundImage 方法 + drawingArea.repaint(); + }); + JMenuItem graph = new JMenuItem("坐标纸"); + graph.addActionListener(e -> { + // 加载图片 + ImageIcon gridIcon = new ImageIcon(getClass().getResource("/image/graph.png")); + Image gridImage = gridIcon.getImage(); + + // 设置自定义背景面板 + drawingArea.setBackgroundImage(gridImage); // 假设 DrawPanel 中有 setBackgroundImage 方法 + drawingArea.repaint(); + }); + + BGMenu.add(black); + BGMenu.add(origin); + BGMenu.add(green); + BGMenu.add(grid); + BGMenu.add(graph); for (int i = 0; i < 4; i++) { strokeItems[i] = new JMenuItem("", new ImageIcon(getClass().getResource(strokes[i]))); strokeMenu.add(strokeItems[i]); @@ -102,6 +160,7 @@ void addMenu(MyFrame frame) { jMenuBar.add(fileMenu); jMenuBar.add(setMenu); jMenuBar.add(helpMenu); + jMenuBar.add(BGMenu); // 添加菜单条 frame.setJMenuBar(jMenuBar); From 724ee30df9226fffb2e955a381bc7a78282e394b Mon Sep 17 00:00:00 2001 From: jane <229272367@qq.com> Date: Fri, 27 Dec 2024 21:39:33 +0800 Subject: [PATCH 3/7] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=9A=84=E7=94=BB?= =?UTF-8?q?=E6=9D=BF=E7=9A=84UI=EF=BC=8C=E5=BA=95=E9=83=A8=E8=8F=9C?= =?UTF-8?q?=E5=8D=95=E6=A0=8F=EF=BC=8C=E4=BF=AE=E5=A4=8D=E4=BA=86=E6=95=B0?= =?UTF-8?q?=E4=B8=AAbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Codes/tools/ColorPanel.java | 18 ++--- src/Codes/tools/DrawPanel.java | 18 +++-- src/Codes/tools/MyFrame.java | 89 ++++++++++++++-------- src/Codes/tools/MySlide.java | 5 +- src/Codes/tools/MyZoom.java | 126 +++++++++++++++++++++++++++++++- 5 files changed, 206 insertions(+), 50 deletions(-) diff --git a/src/Codes/tools/ColorPanel.java b/src/Codes/tools/ColorPanel.java index 93d8b9f..68c5118 100644 --- a/src/Codes/tools/ColorPanel.java +++ b/src/Codes/tools/ColorPanel.java @@ -23,12 +23,12 @@ public class ColorPanel extends JPanel { * 调色板 * 颜色数组,用来设置按钮的背景颜色 */ - private final Color[] colors = {new Color(255, 255, 255), new Color(0, 0, 0), new Color(128, 128, 128), - new Color(195, 195, 195), new Color(67, 0, 0, 255), new Color(185, 122, 87), new Color(255, 0, 0), - new Color(255, 174, 201), new Color(255, 128, 0), new Color(0, 255, 0), new Color(255, 255, 0), - new Color(34, 117, 76), new Color(128, 128, 0), new Color(0, 0, 255), new Color(0, 158, 158), - new Color(255, 107, 39), new Color(56, 141, 246), new Color(163, 73, 164), new Color(200, 191, 231), - new Color(87, 195, 169), new Color(8, 193, 194), new Color(24, 76, 64), new Color(168, 95, 223), + private final Color[] colors = {new Color(0, 0, 0), new Color(255, 255, 255), new Color(80, 79, 79), + new Color(128, 128, 128), new Color(67, 0, 0, 255), new Color(177, 96, 49), new Color(255, 0, 0), + new Color(255, 174, 201), new Color(255, 107, 39), new Color(255, 128, 0), new Color(255, 255, 0), + new Color(230, 218, 152), new Color(239, 233, 151), new Color(107, 251, 107), new Color(29, 29, 255), + new Color(0, 0, 255), new Color(26, 124, 232), new Color(104, 118, 198), new Color(163, 195, 241), + new Color(49, 75, 110), new Color(8, 193, 194), new Color(128, 44, 189), new Color(177, 121, 223), new Color(199, 73, 4)}; public ColorPanel() { @@ -39,7 +39,7 @@ private void addColorPanel() { // 主面板添加左边面板 this.setPreferredSize(new Dimension(60, 60)); this.setLayout(null); - this.setBackground(new Color(195, 195, 195)); + this.setBackground(new Color(239, 238, 238)); // 左边面板添加子面板 JPanel panelDownChild = new JPanel(); @@ -76,7 +76,7 @@ private void addColorPanel() { // 右面板 JPanel right = new JPanel(); - right.setBackground(new Color(195, 195, 195)); + right.setBackground(new Color(239, 238, 238)); right.setLayout(new FlowLayout(FlowLayout.LEFT, 0, 0)); right.setPreferredSize(new Dimension(60, 240)); @@ -119,7 +119,7 @@ private void addColorPanel() { JButton jbt = (JButton) e.getSource(); // 拿到被选中按钮的背景颜色 Color c = jbt.getBackground(); - // 把背景颜色复制给WIndowStart中的颜色属性 + // 把背景颜色复制给WindowStart中的颜色属性 MyFrame.color = c; MyFrame.itemList[MyFrame.index].color = c; diff --git a/src/Codes/tools/DrawPanel.java b/src/Codes/tools/DrawPanel.java index 3877c29..b6be0dd 100644 --- a/src/Codes/tools/DrawPanel.java +++ b/src/Codes/tools/DrawPanel.java @@ -119,6 +119,7 @@ public void createNewGraphics() { * MOVE_CURSOR:移动光标类型。 CROSSHAIR_CURSOR:十字光标 CUSTOM_CURSOR 自定类型 WAIT_CURSOR * 等待光标类型 */ + canvasLabel.setText("画布大小: "+width+" × "+height+"像素"); if (currentChoice == 3) { try { // 定义鼠标进入画板时的样式 @@ -181,7 +182,10 @@ public void createNewGraphics() { itemList[index].color = color; itemList[index].width = stroke; itemList[index].currentChoice = currentChoice; - //System.out.println(index); + itemList[index].x1 = -30; + itemList[index].y1 = -30; + itemList[index].x2 = -30; + itemList[index].y2 = -30; } // 鼠标事件mouseAction类,继承了MouseAdapter,用来完成鼠标相应事件操作 @@ -189,7 +193,7 @@ class MouseAction extends MouseAdapter { @Override public void mousePressed(MouseEvent e) { // 设置状态提示 - statusBar.setText("坐标:[" + e.getX() + ", " + e.getY() + "]像素"); + positionLabel.setText("坐标: [ " + e.getX() + ", " + e.getY() + " ]像素"); itemList[index].x1 = itemList[index].x2 = e.getX(); itemList[index].y1 = itemList[index].y2 = e.getY(); // 如果当前选择的图形是画笔或者橡皮檫,则进行下面的操作 @@ -206,7 +210,7 @@ public void mousePressed(MouseEvent e) { @Override public void mouseReleased(MouseEvent e) { - statusBar.setText("坐标:[" + e.getX() + ", " + e.getY() + "]像素"); + positionLabel.setText("坐标: [ " + e.getX() + ", " + e.getY() + " ]像素"); if (currentChoice == 3 || currentChoice == 16 || currentChoice == 17) { itemList[index].x1 = e.getX(); @@ -222,12 +226,12 @@ public void mouseReleased(MouseEvent e) { @Override public void mouseEntered(MouseEvent e) { - statusBar.setText("坐标:[" + e.getX() + ", " + e.getY() + "]像素"); + positionLabel.setText("坐标: [ " + e.getX() + ", " + e.getY() + " ]像素"); } @Override public void mouseExited(MouseEvent e) { - statusBar.setText("坐标:"); + positionLabel.setText("坐标:"); } } @@ -237,7 +241,7 @@ public void mouseExited(MouseEvent e) { class MouseMotion extends MouseMotionAdapter { @Override public void mouseDragged(MouseEvent e) { - statusBar.setText("坐标:[" + e.getX() + "," + e.getY() + "]像素"); + positionLabel.setText("坐标: [ " + e.getX() + ", " + e.getY() + " ]像素"); if (currentChoice == 3 || currentChoice == 16 || currentChoice == 17) { itemList[index - 1].x1 = itemList[index].x2 = itemList[index].x1 = e.getX(); @@ -254,7 +258,7 @@ public void mouseDragged(MouseEvent e) { @Override public void mouseMoved(MouseEvent e) { - statusBar.setText("坐标:[" + e.getX() + "," + e.getY() + "]像素"); + positionLabel.setText("坐标: [ " + e.getX() + ", " + e.getY() + " ]像素"); } } public void setZoomLevel(double zoomLevel) { diff --git a/src/Codes/tools/MyFrame.java b/src/Codes/tools/MyFrame.java index 950db5a..b1999ee 100644 --- a/src/Codes/tools/MyFrame.java +++ b/src/Codes/tools/MyFrame.java @@ -19,12 +19,6 @@ public class MyFrame extends JFrame { * 保存文件的标志 */ public static int saved = 0; - /** - * 画布缩放标志 - */ - static int height; - static int width; - static double offSetX, offSetY, zoomlvl; /** * 铅笔或橡皮擦图形的存储长度 */ @@ -52,10 +46,31 @@ public class MyFrame extends JFrame { * 画图区域 */ public static DrawPanel drawingArea; + /** + * 画板大小 + */ + public static int width; + public static int height; /** * 底部状态栏 */ - public static JLabel statusBar; + public static JPanel statusBar; + /** + * 页面布局管理器 + */ + public static GridBagConstraints gbc; + /** + * 位置信息 + */ + public static JLabel positionLabel; + /** + * 图形大小信息 + */ + public static JLabel sizeLabel; + /** + * 画布大小信息 + */ + public static JLabel canvasLabel; /** * 画笔粗细 */ @@ -98,25 +113,23 @@ private void init() { // 设置标题 this.setTitle("画图"); // 设置窗口大小 - this.setSize(950, 600); + width = 950; + height = 600; + this.setSize(width, height); // 居中显示 this.setLocationRelativeTo(null); setVisible(true); + this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); - /* - 粗细调节滑动条 - */ + //粗细调节滑动条 slider = new MySlide(); - this.add(slider, BorderLayout.EAST); + this.add(slider,BorderLayout.EAST); // 添加菜单 menu = new MyMenu(this); - toolbar = new MyToolbar(this); - /* - 调色板 - */ + //调色板 ColorPanel colorPanel = new ColorPanel(); add(colorPanel, BorderLayout.WEST); @@ -132,24 +145,42 @@ private void init() { drawingArea = new DrawPanel(); this.add(drawingArea, BorderLayout.CENTER); - zoom=new MyZoom(drawingArea); - statusBar = new JLabel(); - JPanel southPanel = new JPanel(); - southPanel.setLayout(new BoxLayout(southPanel, BoxLayout.X_AXIS)); - - southPanel.add(statusBar); - southPanel.add(Box.createHorizontalStrut(30)); // 添加间距 - southPanel.add(zoom); - - add(southPanel, BorderLayout.SOUTH); - statusBar.setText("坐标"); - + zoom = new MyZoom(drawingArea); + //创建底部状态栏并设置布局 + statusBar = new JPanel(new GridBagLayout()); + gbc = new GridBagConstraints(); + gbc.insets = new Insets(2, 5, 2, 5); + gbc.fill = GridBagConstraints.HORIZONTAL; + + add(statusBar, BorderLayout.SOUTH); + gbc.gridx = 3; + gbc.weightx = 0.8; + statusBar.add(zoom,gbc); + + //位置信息 + positionLabel = new JLabel("坐标:"); + positionLabel.setPreferredSize(new Dimension(100, 20)); + gbc.gridx = 0; + gbc.weightx = 0.2; + statusBar.add(positionLabel, gbc); + + //图形大小信息 + sizeLabel = new JLabel("图形大小"); + sizeLabel.setPreferredSize(new Dimension(100, 20)); + gbc.gridx = 1; + statusBar.add(sizeLabel, gbc); + + //画布大小信息 + canvasLabel = new JLabel("画布大小:"); + canvasLabel.setPreferredSize(new Dimension(120, 20)); + gbc.gridx = 2; + statusBar.add(canvasLabel, gbc); /* * 由于JLabel是透明的,当我们把JLabel控件加载到JPanel控件之上时, 会发现JLabel的背景色总是和JPanel的背景色保持一致, */ // 设置该组件为透明 statusBar.setOpaque(true); - statusBar.setBackground(new Color(195, 195, 195)); + statusBar.setBackground(new Color(239, 238, 238)); drawingArea.createNewGraphics(); this.addWindowListener(new WindowAdapter() { diff --git a/src/Codes/tools/MySlide.java b/src/Codes/tools/MySlide.java index e735597..75dcc39 100644 --- a/src/Codes/tools/MySlide.java +++ b/src/Codes/tools/MySlide.java @@ -13,8 +13,7 @@ public class MySlide extends JPanel { public JSlider slider; public MySlide() { - setBounds(450, 300, 50, 200); - + setBounds(450, 300, 25, 150); // 设置面板布局 setLayout(new BorderLayout()); @@ -60,7 +59,7 @@ public void mouseMoved(MouseEvent e) { add(label, BorderLayout.SOUTH); // 设置外边距 - setBorder(BorderFactory.createEmptyBorder(50, 10, 50, 10)); + setBorder(BorderFactory.createEmptyBorder(25, 10, 25, 10)); } //重写BasicSliderUI类,更换滑轮的UI样式 private static class RoundThumbSliderUI extends BasicSliderUI { diff --git a/src/Codes/tools/MyZoom.java b/src/Codes/tools/MyZoom.java index e3bc186..9fb06d8 100644 --- a/src/Codes/tools/MyZoom.java +++ b/src/Codes/tools/MyZoom.java @@ -5,7 +5,10 @@ import javax.swing.*; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; +import javax.swing.plaf.basic.BasicSliderUI; import java.awt.*; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; import java.util.Hashtable; public class MyZoom extends JPanel { @@ -22,7 +25,7 @@ public MyZoom(DrawPanel drawingArea) { private void initComponents() { // 设置布局 - setLayout(new FlowLayout(FlowLayout.CENTER, 10, 5)); + //setLayout(new FlowLayout(FlowLayout.CENTER, 10, 5)); // 创建缩放滑动条 zoomSlider = new JSlider(JSlider.HORIZONTAL, 10, 40, 10); // 最小值 10,最大值 40,初始值 10 @@ -30,7 +33,26 @@ private void initComponents() { zoomSlider.setMinorTickSpacing(1); // 小刻度间隔 zoomSlider.setPaintTicks(false); // 显示刻度 zoomSlider.setPaintLabels(false); // 显示刻度标签 - zoomSlider.setPreferredSize(new Dimension(200, 50)); // 设置滑动条大小 + zoomSlider.setPreferredSize(new Dimension(200, 20)); // 设置滑动条大小 + zoomSlider.setBorder(BorderFactory.createEmptyBorder(3,0,0,0)); + // 应用自定义的滑轮UI + zoomSlider.setUI(new CustomSliderUI(zoomSlider)); + + //滑轮悬停效果 + zoomSlider.addMouseListener(new MouseAdapter() { + @Override + public void mouseEntered(MouseEvent e) { + ((CustomSliderUI) zoomSlider.getUI()).setHover(true); // 鼠标悬停时设置滑轮为悬停状态 + zoomSlider.repaint(); + } + + @Override + public void mouseExited(MouseEvent e) { + ((CustomSliderUI) zoomSlider.getUI()).setHover(false); // 鼠标移出时取消悬停状态 + zoomSlider.repaint(); + } + }); + // 自定义刻度标签 Hashtable labelTable = new Hashtable<>(); @@ -65,6 +87,106 @@ public void stateChanged(ChangeEvent e) { }); } + + private static class CustomSliderUI extends BasicSliderUI { + private boolean isHover = false; // 标记鼠标是否悬停在滑轮上 + + public CustomSliderUI(JSlider slider) { + super(slider); + } + + // 设置悬停状态 + public void setHover(boolean hover) { + isHover = hover; + } + + // 获取滑轮的区域 + public Rectangle getThumbBounds() { + return thumbRect; + } + + @Override + public void paint(Graphics g, JComponent c) { + // 调用父类的 paint 方法以清除背景 + super.paint(g, c); + + // 强制仅重绘滑轮和轨迹区域,避免残影 + Graphics2D g2 = (Graphics2D) g.create(); + g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); + + // 绘制滑动条轨迹 + paintTrack(g2); + + // 绘制滑轮 + paintThumb(g2); + + g2.dispose(); + } + + @Override + public void paintThumb(Graphics g) { + Graphics2D g2 = (Graphics2D) g.create(); + g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); + + // 滑轮白色部分(固定大小) + int whiteSize = 18; // 白色圆大小 + int whiteX = thumbRect.x + (thumbRect.width - whiteSize) / 2; + int whiteY = thumbRect.y + (thumbRect.height - whiteSize) / 2; + + g2.setColor(new Color(255, 255, 255)); + g2.fillOval(whiteX, whiteY, whiteSize, whiteSize); + + // 滑轮蓝色部分(根据悬停状态调整大小) + int blueSize = isHover ? 14 : 10; // 悬停时增大蓝色圆 + int blueX = thumbRect.x + (thumbRect.width - blueSize) / 2; + int blueY = thumbRect.y + (thumbRect.height - blueSize) / 2; + + g2.setColor(new Color(0, 120, 250)); + g2.fillOval(blueX, blueY, blueSize, blueSize); + + g2.dispose(); + } + + @Override + public void paintTrack(Graphics g) { + Graphics2D g2 = (Graphics2D) g.create(); + g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); + + int trackHeight = 4; // 轨迹高度 + int trackWidth = trackRect.width; // 轨迹宽度(水平滑动条时是宽度) + + // 绘制完整轨迹(底层) + g2.setColor(new Color(200, 200, 200)); // 灰色轨迹线 + g2.fillRoundRect(trackRect.x, trackRect.y + (trackRect.height - trackHeight) / 2, trackWidth, trackHeight, 3, 3); + + // 绘制动态轨迹(覆盖) + int thumbCenterX = thumbRect.x + thumbRect.width / 2; // 计算滑轮中心X坐标 + int dynamicTrackWidth = thumbCenterX - trackRect.x; // 蓝色轨迹宽度(从滑块位置到轨迹起点) + + // 绘制动态轨迹(蓝色部分) + g2.setColor(new Color(0, 120, 250)); // 蓝色动态轨迹 + g2.fillRoundRect(trackRect.x, trackRect.y + (trackRect.height - trackHeight) / 2, dynamicTrackWidth, trackHeight, 3, 3); + + g2.dispose(); + } + + @Override + protected Dimension getThumbSize() { + // 设置滑轮的尺寸 + return new Dimension(16, 16); + } + + @Override + public void setThumbLocation(int x, int y) { + // 调用父类方法设置滑轮位置 + super.setThumbLocation(x, y); + + // 强制仅重绘滑轮和动态轨迹区域 + slider.repaint(trackRect.x, trackRect.y, trackRect.width, trackRect.height); + } + } + + private void updateZoom() { // 获取绘图区域的大小 int width = drawingArea.getWidth(); From cd5f53aa9ba737464005be8170ba74e268b27570 Mon Sep 17 00:00:00 2001 From: jane <229272367@qq.com> Date: Sat, 28 Dec 2024 00:01:52 +0800 Subject: [PATCH 4/7] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=BA=86=E5=BA=95?= =?UTF-8?q?=E9=83=A8=E8=8F=9C=E5=8D=95=E6=A0=8F=EF=BC=8C=E6=95=B4=E7=90=86?= =?UTF-8?q?=E4=BA=86shape=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Codes/shape/AbstractShape.java | 1 - src/Codes/shape/Brush.java | 6 ++--- src/Codes/shape/FillRect.java | 4 +-- src/Codes/shape/FillRoundRect.java | 3 +-- src/Codes/shape/Hexagon.java | 4 +-- src/Codes/shape/Images.java | 6 +---- src/Codes/shape/Line.java | 3 +-- src/Codes/shape/Oval.java | 4 +-- src/Codes/shape/Pencil.java | 9 +------ src/Codes/shape/Pentagon.java | 4 +-- src/Codes/shape/Rectangle.java | 7 +---- src/Codes/shape/RoundRect.java | 6 +---- src/Codes/shape/Text.java | 6 ----- src/Codes/shape/Triangle.java | 2 -- src/Codes/tools/DrawPanel.java | 42 ++++++++++++++++++++++------- src/Codes/tools/MyFrame.java | 4 +-- src/Codes/tools/MyToolbar.java | 8 +++--- src/image/graph.png | Bin 0 -> 143168 bytes src/image/grid.png | Bin 0 -> 265444 bytes 19 files changed, 50 insertions(+), 69 deletions(-) create mode 100644 src/image/graph.png create mode 100644 src/image/grid.png diff --git a/src/Codes/shape/AbstractShape.java b/src/Codes/shape/AbstractShape.java index 8fbfd3f..fea9f21 100644 --- a/src/Codes/shape/AbstractShape.java +++ b/src/Codes/shape/AbstractShape.java @@ -66,5 +66,4 @@ public abstract class AbstractShape implements Serializable { */ public abstract void draw(Graphics2D g); - } \ No newline at end of file diff --git a/src/Codes/shape/Brush.java b/src/Codes/shape/Brush.java index a895dfd..596fb10 100644 --- a/src/Codes/shape/Brush.java +++ b/src/Codes/shape/Brush.java @@ -22,13 +22,11 @@ public Brush() { @Override public void draw(Graphics2D g) { - - g.setPaint(color); g.setStroke(new BasicStroke(0, BasicStroke.CAP_ROUND, BasicStroke.JOIN_BEVEL)); for (int i = 0; i < 100; i++) { - double d = (double) fx[i]; - double c = (double) fy[i]; + double d = fx[i]; + double c = fy[i]; g.drawLine((int) (x1 + d * Math.sin(d)), (int) (y1 + c * Math.sin(c)), (int) (x2 + d * Math.sin(d)), (int) (y2 + c * Math.sin(c))); } diff --git a/src/Codes/shape/FillRect.java b/src/Codes/shape/FillRect.java index 1f56087..f9de7de 100644 --- a/src/Codes/shape/FillRect.java +++ b/src/Codes/shape/FillRect.java @@ -2,11 +2,9 @@ import java.awt.*; /** - * + * 填充矩形 */ public class FillRect extends AbstractShape { - - @Override public void draw(Graphics2D g2d) { g2d.setPaint(color); diff --git a/src/Codes/shape/FillRoundRect.java b/src/Codes/shape/FillRoundRect.java index 3593f2a..015982b 100644 --- a/src/Codes/shape/FillRoundRect.java +++ b/src/Codes/shape/FillRoundRect.java @@ -3,10 +3,9 @@ import java.awt.*; /** + * 填充圆角矩形 */ public class FillRoundRect extends AbstractShape { - - @Override public void draw(Graphics2D g2d) { g2d.setPaint(color); diff --git a/src/Codes/shape/Hexagon.java b/src/Codes/shape/Hexagon.java index 2e35b52..7a543ab 100644 --- a/src/Codes/shape/Hexagon.java +++ b/src/Codes/shape/Hexagon.java @@ -3,11 +3,9 @@ import java.awt.*; /** - * + * 六边形 */ public class Hexagon extends AbstractShape { - - @Override public void draw(Graphics2D g2d) { g2d.setPaint(color); diff --git a/src/Codes/shape/Images.java b/src/Codes/shape/Images.java index 3e346ad..9ee4845 100644 --- a/src/Codes/shape/Images.java +++ b/src/Codes/shape/Images.java @@ -3,15 +3,11 @@ import java.awt.*; /** - * + * 图片 */ public class Images extends AbstractShape { - - @Override public void draw(Graphics2D g) { g.drawImage(image, 0, 0, board); } - - } diff --git a/src/Codes/shape/Line.java b/src/Codes/shape/Line.java index 6473538..7c1952d 100644 --- a/src/Codes/shape/Line.java +++ b/src/Codes/shape/Line.java @@ -3,12 +3,11 @@ import java.awt.*; /** - * + * 线段 */ public class Line extends AbstractShape { public Line() { - } @Override diff --git a/src/Codes/shape/Oval.java b/src/Codes/shape/Oval.java index 7ac6e7f..231210d 100644 --- a/src/Codes/shape/Oval.java +++ b/src/Codes/shape/Oval.java @@ -3,11 +3,9 @@ import java.awt.*; /** - * + * 椭圆 */ public class Oval extends AbstractShape { - - @Override public void draw(Graphics2D g2d) { g2d.setPaint(color); diff --git a/src/Codes/shape/Pencil.java b/src/Codes/shape/Pencil.java index 4ac5322..88d4cb4 100644 --- a/src/Codes/shape/Pencil.java +++ b/src/Codes/shape/Pencil.java @@ -3,23 +3,16 @@ import java.awt.*; /** - * + * 铅笔 */ public class Pencil extends AbstractShape { - - public Pencil() { - } - @Override public void draw(Graphics2D g) { g.setPaint(color); - g.setStroke(new BasicStroke(width, BasicStroke.CAP_ROUND, BasicStroke.JOIN_BEVEL)); - g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); - g.drawLine(x1, y1, x2, y2); } } diff --git a/src/Codes/shape/Pentagon.java b/src/Codes/shape/Pentagon.java index d1d3c6a..14b852f 100644 --- a/src/Codes/shape/Pentagon.java +++ b/src/Codes/shape/Pentagon.java @@ -3,11 +3,9 @@ import java.awt.*; /** - * + * 五边形 */ public class Pentagon extends AbstractShape { - - @Override public void draw(Graphics2D g2d) { g2d.setPaint(color); diff --git a/src/Codes/shape/Rectangle.java b/src/Codes/shape/Rectangle.java index aabd895..e660d62 100644 --- a/src/Codes/shape/Rectangle.java +++ b/src/Codes/shape/Rectangle.java @@ -3,19 +3,14 @@ import java.awt.*; /** - * + * 矩形 */ public class Rectangle extends AbstractShape { - - public Rectangle() { - } - @Override public void draw(Graphics2D g2d) { - g2d.setColor(color); g2d.setStroke(new BasicStroke(width)); g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, diff --git a/src/Codes/shape/RoundRect.java b/src/Codes/shape/RoundRect.java index 3236527..624b5e9 100644 --- a/src/Codes/shape/RoundRect.java +++ b/src/Codes/shape/RoundRect.java @@ -3,13 +3,9 @@ import java.awt.*; /** - * + * 圆角矩形 */ public class RoundRect extends AbstractShape { - /** - * 定义一个RoundRectangle类,继承Shape类,用于绘制一个圆角矩形 - */ - @Override public void draw(Graphics2D g2d) { g2d.setPaint(color); diff --git a/src/Codes/shape/Text.java b/src/Codes/shape/Text.java index fff08e9..daaa02a 100644 --- a/src/Codes/shape/Text.java +++ b/src/Codes/shape/Text.java @@ -6,18 +6,12 @@ * 定义一个Text类,继承Shape类,用于文字输入 */ public class Text extends AbstractShape { - - - @Override public void draw(Graphics2D g) { - //Font(String name, int style, int size) g.setColor(color); g.setFont(new Font(fontName, italic + boldType, fontSize)); if (s != null) { - g.drawString(s, x1, y1); - //System.out.println(fontName+" "+s+" "+fontSize ); } } } \ No newline at end of file diff --git a/src/Codes/shape/Triangle.java b/src/Codes/shape/Triangle.java index 344e71a..02063cf 100644 --- a/src/Codes/shape/Triangle.java +++ b/src/Codes/shape/Triangle.java @@ -6,8 +6,6 @@ * 定义一个Triangle类,继承Shape类,用于绘制一个三角形 */ public class Triangle extends AbstractShape { - - @Override public void draw(Graphics2D g2d) { g2d.setPaint(color); diff --git a/src/Codes/tools/DrawPanel.java b/src/Codes/tools/DrawPanel.java index b6be0dd..8ae843a 100644 --- a/src/Codes/tools/DrawPanel.java +++ b/src/Codes/tools/DrawPanel.java @@ -13,6 +13,8 @@ import java.util.Objects; import static Codes.tools.MyFrame.*; +import static java.lang.Math.abs; +import static java.lang.Math.max; /** * 画图面板类,用来画图 @@ -24,6 +26,7 @@ public class DrawPanel extends JPanel { private double zoomLevel = 1.0; private double offsetX = 0, offsetY = 0; private Image backgroundImage; + private int x1 = 0, x2 = 0, y1 = 0, y2 = 0; public DrawPanel() { // 设置光标类型,为十字形 @@ -194,13 +197,14 @@ class MouseAction extends MouseAdapter { public void mousePressed(MouseEvent e) { // 设置状态提示 positionLabel.setText("坐标: [ " + e.getX() + ", " + e.getY() + " ]像素"); - itemList[index].x1 = itemList[index].x2 = e.getX(); - itemList[index].y1 = itemList[index].y2 = e.getY(); + itemList[index].x1 = itemList[index].x2 = x1 = x2 = e.getX(); + itemList[index].y1 = itemList[index].y2 = y1 = y2 = e.getY(); + judgeSizeLabel(); // 如果当前选择的图形是画笔或者橡皮檫,则进行下面的操作 if (currentChoice == 3 || currentChoice == 16 || currentChoice == 17) { lengthCount = 0; - itemList[index].x1 = itemList[index].x2 = e.getX(); + itemList[index].x1 = itemList[index].x2 = e.getX() ; itemList[index].y1 = itemList[index].y2 = e.getY(); index++; lengthCount++; @@ -217,8 +221,11 @@ public void mouseReleased(MouseEvent e) { itemList[index].y1 = e.getY(); itemList[index].length = lengthCount; } - itemList[index].x2 = e.getX(); - itemList[index].y2 = e.getY(); + itemList[index].x2 = x2 = e.getX(); + itemList[index].y2 = y2 = e.getY(); + + judgeSizeLabel(); + repaint(); index++; createNewGraphics(); @@ -244,25 +251,42 @@ public void mouseDragged(MouseEvent e) { positionLabel.setText("坐标: [ " + e.getX() + ", " + e.getY() + " ]像素"); if (currentChoice == 3 || currentChoice == 16 || currentChoice == 17) { - itemList[index - 1].x1 = itemList[index].x2 = itemList[index].x1 = e.getX(); - itemList[index - 1].y1 = itemList[index].y2 = itemList[index].y1 = e.getY(); + itemList[index - 1].x1 = itemList[index].x2 = itemList[index].x1 = x2 = e.getX(); + itemList[index - 1].y1 = itemList[index].y2 = itemList[index].y1 = y2 = e.getY(); index++; lengthCount++; createNewGraphics(); } else { - itemList[index].x2 = e.getX(); - itemList[index].y2 = e.getY(); + itemList[index].x2 = x2 = e.getX(); + itemList[index].y2 = y2 = e.getY(); } + + judgeSizeLabel(); repaint(); } @Override public void mouseMoved(MouseEvent e) { positionLabel.setText("坐标: [ " + e.getX() + ", " + e.getY() + " ]像素"); + sizeLabel.setText("图形大小:"); } } + public void setZoomLevel(double zoomLevel) { this.zoomLevel = zoomLevel; repaint(); // 重新绘制面板 } + + private void judgeSizeLabel() { + if(currentChoice == 9|| currentChoice == 10){ + int r = max(abs(x2-x1+1), abs(y2-y1+1)); + sizeLabel.setText("图形大小: "+r+" × "+r+"像素"); + } + else if(currentChoice != 3) { + sizeLabel.setText("图形大小: "+abs(x2-x1+1)+" × "+abs(y2-y1+1)+"像素"); + } + else { + sizeLabel.setText("图形大小:"); + } + } } diff --git a/src/Codes/tools/MyFrame.java b/src/Codes/tools/MyFrame.java index b1999ee..8b29d11 100644 --- a/src/Codes/tools/MyFrame.java +++ b/src/Codes/tools/MyFrame.java @@ -165,8 +165,8 @@ private void init() { statusBar.add(positionLabel, gbc); //图形大小信息 - sizeLabel = new JLabel("图形大小"); - sizeLabel.setPreferredSize(new Dimension(100, 20)); + sizeLabel = new JLabel("图形大小:"); + sizeLabel.setPreferredSize(new Dimension(120, 20)); gbc.gridx = 1; statusBar.add(sizeLabel, gbc); diff --git a/src/Codes/tools/MyToolbar.java b/src/Codes/tools/MyToolbar.java index 793087e..cff48e4 100644 --- a/src/Codes/tools/MyToolbar.java +++ b/src/Codes/tools/MyToolbar.java @@ -12,7 +12,7 @@ */ public class MyToolbar { /** - * 定义各种绘图的按钮 + * 定义绘图按钮 */ private JButton[] btnPaint; private JComboBox jFont; @@ -28,9 +28,7 @@ public class MyToolbar { private final String[] tipText = { "保存", "清空", "撤销", "铅笔", "直线", "空心矩形", "填充矩形", "空心椭圆", "填充椭圆", "空心圆形", "填充圆形", "空心圆角矩形", "填充圆角矩形", "三角形", "五边形", "六边形", "橡皮擦", "填充", "文本", "粗细" }; private final String[] font = { "宋体", "隶书", "华文彩云", "仿宋_GB2312", "华文行楷", "方正舒体" }; - private final String[] fontSize = { "8", "9", "10", "11", "12", "14", "16", "18", "20", "22", "24", "26", "28", - "36", - "48", "72" }; + private final String[] fontSize = { "8", "9", "10", "11", "12", "14", "16", "18", "20", "22", "24", "26", "28", "36", "48", "72" }; public MyToolbar(MyFrame myFrame) { addToolbar(myFrame); @@ -43,7 +41,7 @@ void addToolbar(MyFrame myFrame) { toolbar.setLayout(new FlowLayout(FlowLayout.LEFT)); toolbar.setBackground(new Color(195, 195, 195)); - // 中文会乱码 + // 粗体 Checkbox btnBold = new Checkbox("bold"); // 斜体 diff --git a/src/image/graph.png b/src/image/graph.png new file mode 100644 index 0000000000000000000000000000000000000000..ceb0032c74ee5da3289431d14f0c577da4f84fed GIT binary patch literal 143168 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

S#2fqwuXfs=`9R0;_TT! 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 literal 0 HcmV?d00001 diff --git a/src/image/grid.png b/src/image/grid.png new file mode 100644 index 0000000000000000000000000000000000000000..e4d9106909b386272ad71c3bc928abc5d0037e5c GIT binary patch literal 265444 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

lX;PU=Ycc!(}#cc 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 literal 0 HcmV?d00001 From 7de807c28fe4da3c890cfd938faafe18fd591033 Mon Sep 17 00:00:00 2001 From: jane <229272367@qq.com> Date: Sat, 4 Jan 2025 13:08:29 +0800 Subject: [PATCH 5/7] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Codes/shape/Select.java | 73 ++++++++++++++++++++++++++++++++++ src/Codes/start/Start.java | 2 +- src/Codes/tools/DrawPanel.java | 54 ++++++++++++------------- src/Codes/tools/MyFrame.java | 5 ++- src/Codes/tools/MyMenu.java | 50 +++++++++++------------ src/Codes/tools/MySlide.java | 11 +++-- src/Codes/tools/MyToolbar.java | 27 ++++++++++--- src/Codes/tools/MyZoom.java | 3 ++ 8 files changed, 159 insertions(+), 66 deletions(-) create mode 100644 src/Codes/shape/Select.java diff --git a/src/Codes/shape/Select.java b/src/Codes/shape/Select.java new file mode 100644 index 0000000..21e0a5a --- /dev/null +++ b/src/Codes/shape/Select.java @@ -0,0 +1,73 @@ +package Codes.shape; + +import java.awt.*; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; +import javax.swing.*; + +/** + * 可拖动矩形,边框为虚线,内部透明 + */ +public class Select extends JPanel { + private int x, y, width, height; + private boolean dragging = false; + private int offsetX, offsetY; + + public Select() { + setOpaque(false); // 透明背景 + addMouseListener(new MouseAdapter() { + @Override + public void mousePressed(MouseEvent e) { + if (isInsideRectangle(e.getX(), e.getY())) { + dragging = true; + offsetX = e.getX() - x; + offsetY = e.getY() - y; + } + } + + @Override + public void mouseReleased(MouseEvent e) { + dragging = false; + } + }); + + addMouseMotionListener(new MouseAdapter() { + @Override + public void mouseDragged(MouseEvent e) { + if (dragging) { + x = e.getX() - offsetX; + y = e.getY() - offsetY; + repaint(); + } + } + }); + } + + public void setRectangle(int x, int y, int width, int height) { + this.x = x; + this.y = y; + this.width = width; + this.height = height; + repaint(); + } + + private boolean isInsideRectangle(int mouseX, int mouseY) { + return mouseX >= x && mouseX <= x + width && mouseY >= y && mouseY <= y + height; + } + + @Override + protected void paintComponent(Graphics g) { + super.paintComponent(g); + Graphics2D g2d = (Graphics2D) g; + + // 设置虚线边框 + float[] dashPattern = {5, 5}; + g2d.setStroke(new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL, 0, dashPattern, 0)); + g2d.setColor(Color.BLACK); + g2d.drawRect(x, y, width, height); + + // 内部透明效果 + g2d.setColor(new Color(255, 255, 255, 100)); + g2d.fillRect(x, y, width, height); + } +} diff --git a/src/Codes/start/Start.java b/src/Codes/start/Start.java index 64ffd46..b5810dd 100644 --- a/src/Codes/start/Start.java +++ b/src/Codes/start/Start.java @@ -9,7 +9,7 @@ public class Start { public static MyFrame wds; public static void main(String[] args) { -// try { +// try // //调用Windows的文件系统 // UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); // } catch (Exception e) { diff --git a/src/Codes/tools/DrawPanel.java b/src/Codes/tools/DrawPanel.java index 8ae843a..f354373 100644 --- a/src/Codes/tools/DrawPanel.java +++ b/src/Codes/tools/DrawPanel.java @@ -96,8 +96,8 @@ public void undo() { // 如果当前选择的是铅笔、橡皮擦或刷子等工具(绘制多个点的图形) if (itemList[index] != null) { System.out.println(itemList[index].currentChoice); - if (itemList[index].currentChoice == 3 || itemList[index].currentChoice == 16 - || itemList[index].currentChoice == 17) { + if (itemList[index].currentChoice == 4 || itemList[index].currentChoice == 17 + || itemList[index].currentChoice == 18) { index -= itemList[index].length; // 回退到该图形的起始点 } } @@ -122,8 +122,7 @@ public void createNewGraphics() { * MOVE_CURSOR:移动光标类型。 CROSSHAIR_CURSOR:十字光标 CUSTOM_CURSOR 自定类型 WAIT_CURSOR * 等待光标类型 */ - canvasLabel.setText("画布大小: "+width+" × "+height+"像素"); - if (currentChoice == 3) { + if (currentChoice == 4) { try { // 定义鼠标进入画板时的样式 String url = "/image/pencil2.png"; // 储存鼠标图片的位置 @@ -135,7 +134,7 @@ public void createNewGraphics() { JOptionPane.showMessageDialog(null, "自定义光标异常"); } - } else if (currentChoice == 16) { + } else if (currentChoice == 17) { try { // 定义鼠标进入画板时的样式 String url = "/image/cursor.png"; // 储存鼠标图片的位置 @@ -147,7 +146,7 @@ public void createNewGraphics() { JOptionPane.showMessageDialog(null, "自定义光标异常"); } - } else if (currentChoice == 18) { + } else if (currentChoice == 19) { drawingArea.setCursor(Cursor.getPredefinedCursor(Cursor.TEXT_CURSOR)); } else { // 光标设置 @@ -156,22 +155,23 @@ public void createNewGraphics() { switch (currentChoice) { case 0 -> itemList[index] = new Images(); - case 3 -> itemList[index] = new Pencil(); - case 4 -> itemList[index] = new Line(); - case 5 -> itemList[index] = new Rectangle(); - case 6 -> itemList[index] = new FillRect(); - case 7 -> itemList[index] = new Oval(); - case 8 -> itemList[index] = new FillOval(); - case 9 -> itemList[index] = new Circle(); - case 10 -> itemList[index] = new FillCircle(); - case 11 -> itemList[index] = new RoundRect(); - case 12 -> itemList[index] = new FillRoundRect(); - case 13 -> itemList[index] = new Triangle(); - case 14 -> itemList[index] = new Pentagon(); - case 15 -> itemList[index] = new Hexagon(); - case 16 -> itemList[index] = new Rubber(); - case 17 -> itemList[index] = new Brush(); - case 18 -> { + //case 3 -> new Select(); + case 4 -> itemList[index] = new Pencil(); + case 5 -> itemList[index] = new Line(); + case 6 -> itemList[index] = new Rectangle(); + case 7 -> itemList[index] = new FillRect(); + case 8 -> itemList[index] = new Oval(); + case 9 -> itemList[index] = new FillOval(); + case 10 -> itemList[index] = new Circle(); + case 11 -> itemList[index] = new FillCircle(); + case 12 -> itemList[index] = new RoundRect(); + case 13 -> itemList[index] = new FillRoundRect(); + case 14 -> itemList[index] = new Triangle(); + case 15 -> itemList[index] = new Pentagon(); + case 16 -> itemList[index] = new Hexagon(); + case 17 -> itemList[index] = new Rubber(); + case 18 -> itemList[index] = new Brush(); + case 19 -> { itemList[index] = new Text(); itemList[index].s = JOptionPane.showInputDialog("请输入文字"); itemList[index].fontSize = fSize; @@ -202,7 +202,7 @@ public void mousePressed(MouseEvent e) { judgeSizeLabel(); // 如果当前选择的图形是画笔或者橡皮檫,则进行下面的操作 - if (currentChoice == 3 || currentChoice == 16 || currentChoice == 17) { + if (currentChoice == 4 || currentChoice == 17 || currentChoice == 18) { lengthCount = 0; itemList[index].x1 = itemList[index].x2 = e.getX() ; itemList[index].y1 = itemList[index].y2 = e.getY(); @@ -216,7 +216,7 @@ public void mousePressed(MouseEvent e) { public void mouseReleased(MouseEvent e) { positionLabel.setText("坐标: [ " + e.getX() + ", " + e.getY() + " ]像素"); - if (currentChoice == 3 || currentChoice == 16 || currentChoice == 17) { + if (currentChoice == 4 || currentChoice == 17 || currentChoice == 18) { itemList[index].x1 = e.getX(); itemList[index].y1 = e.getY(); itemList[index].length = lengthCount; @@ -250,7 +250,7 @@ class MouseMotion extends MouseMotionAdapter { public void mouseDragged(MouseEvent e) { positionLabel.setText("坐标: [ " + e.getX() + ", " + e.getY() + " ]像素"); - if (currentChoice == 3 || currentChoice == 16 || currentChoice == 17) { + if (currentChoice == 4 || currentChoice == 17 || currentChoice == 18) { itemList[index - 1].x1 = itemList[index].x2 = itemList[index].x1 = x2 = e.getX(); itemList[index - 1].y1 = itemList[index].y2 = itemList[index].y1 = y2 = e.getY(); index++; @@ -278,11 +278,11 @@ public void setZoomLevel(double zoomLevel) { } private void judgeSizeLabel() { - if(currentChoice == 9|| currentChoice == 10){ + if(currentChoice == 10|| currentChoice == 11){ int r = max(abs(x2-x1+1), abs(y2-y1+1)); sizeLabel.setText("图形大小: "+r+" × "+r+"像素"); } - else if(currentChoice != 3) { + else if(currentChoice != 4) { sizeLabel.setText("图形大小: "+abs(x2-x1+1)+" × "+abs(y2-y1+1)+"像素"); } else { diff --git a/src/Codes/tools/MyFrame.java b/src/Codes/tools/MyFrame.java index 8b29d11..2c462fc 100644 --- a/src/Codes/tools/MyFrame.java +++ b/src/Codes/tools/MyFrame.java @@ -82,7 +82,7 @@ public class MyFrame extends JFrame { /** * 初始状态是画笔 */ - public static int currentChoice = 3; + public static int currentChoice = 4; /** * 菜单类 @@ -113,7 +113,7 @@ private void init() { // 设置标题 this.setTitle("画图"); // 设置窗口大小 - width = 950; + width = 1000; height = 600; this.setSize(width, height); // 居中显示 @@ -173,6 +173,7 @@ private void init() { //画布大小信息 canvasLabel = new JLabel("画布大小:"); canvasLabel.setPreferredSize(new Dimension(120, 20)); + canvasLabel.setText("画布大小: "+width+" × "+height+"像素"); gbc.gridx = 2; statusBar.add(canvasLabel, gbc); /* diff --git a/src/Codes/tools/MyMenu.java b/src/Codes/tools/MyMenu.java index a9d8802..41154bb 100644 --- a/src/Codes/tools/MyMenu.java +++ b/src/Codes/tools/MyMenu.java @@ -54,6 +54,12 @@ void addMenu(MyFrame frame) { JMenuItem helpItemInfo = new JMenuItem("关于画图"); //背景选择 + JMenuItem origin = new JMenuItem("原始模式"); + origin.addActionListener(e -> { + drawingArea.clearBackgroundImage(); + drawingArea.setBackground(Color.WHITE); + drawingArea.repaint(); // 刷新界面 + }); JMenuItem black = new JMenuItem("黑夜模式"); black.addActionListener(e -> { // 将画布背景设置为黑色 @@ -61,12 +67,6 @@ void addMenu(MyFrame frame) { drawingArea.setBackground(Color.BLACK); // 设置画布背景为黑色 drawingArea.repaint(); // 刷新界面 }); - JMenuItem origin = new JMenuItem("原始模式"); - origin.addActionListener(e -> { - drawingArea.clearBackgroundImage(); - drawingArea.setBackground(Color.WHITE); - drawingArea.repaint(); // 刷新界面 - }); JMenuItem green = new JMenuItem("护眼模式"); green.addActionListener(e -> { drawingArea.clearBackgroundImage(); @@ -103,8 +103,8 @@ void addMenu(MyFrame frame) { drawingArea.repaint(); }); - BGMenu.add(black); BGMenu.add(origin); + BGMenu.add(black); BGMenu.add(green); BGMenu.add(grid); BGMenu.add(graph); @@ -114,29 +114,27 @@ void addMenu(MyFrame frame) { } helpItemInfo.addActionListener(e -> JOptionPane.showMessageDialog(null, """ - 关于画图 - ****该软件由***开发完成**** - ****班级:计算机1602班 ***** - ****学号:00000000 ***** - ****邮箱:1111111@qq.com + ****该软件由软件学院2023级tjj,zyj,lyt开发完成**** + ****项目地址:https://github.com/janeyujie/PaintingBoard """, "关于画图", JOptionPane.PLAIN_MESSAGE)); helpItemUse.addActionListener(e -> JOptionPane.showMessageDialog(null, """ - ##################\r - #画图软件使用说明书#\r - ####################\r + ********************\r + 画图软件使用说明书\r + ********************\r 1.本软件可以实现以下功能:\r - (1)在画布上绘制直线、矩形、椭圆等图形\r + (1)依据鼠标轨迹绘制曲线\r (2)设置画笔的颜色和粗细\r - (3)绘制填充图形\r - (4)依据鼠标轨迹绘制曲线\r - (5)橡皮擦、保存图片\r - 2.本软件主要分为四个模块:菜单、工具栏、调色板、和画布\r + (3)在画布上绘制直线、矩形、椭圆等图形\r + (4)绘制填充图形,橡皮擦擦去图形\r + (5)保存绘制结果为图片、导入图片\r + 2.本软件主要分为六个模块:菜单、工具栏、调色板、滑动条、状态栏和画布\r (1)菜单栏的文件子菜单包括打开、新建、保存图片以及退出程序,设置有快捷键,方便操作,\r - 菜单栏的设置子菜单包括设置画笔的粗细和颜色;\r + 菜单栏的设置子菜单包括设置画笔的粗细和颜色;背景子菜单可以选择画布的背景;\r (2)工具栏主要包括保存文件、清空画板、撤回操作、图形绘制和文字的绘制;\r (3)调色板位于界面的左侧,用于设置画笔的颜色,可以使用已设定的颜色,也可以自己选择系统提供的颜色;\r - (4)画布用于图形绘制,使用鼠标选中要绘制的图形即可进行绘制。""", "使用说明", JOptionPane.PLAIN_MESSAGE)); + (4)画布用于图形绘制,使用鼠标选中要绘制的图形即可进行绘制。 + (5)滑动条用于调节画笔粗细,状态栏用于显示当前坐标以及绘制的图形大小。""", "使用说明", JOptionPane.PLAIN_MESSAGE)); helpMenu.add(helpItemUse); helpMenu.add(helpItemInfo); // 设置快捷键 @@ -153,14 +151,14 @@ void addMenu(MyFrame frame) { fileMenu.add(fileItemSave); fileMenu.add(fileItemExit); setMenu.add(setItemColor); - setMenu.add(setItemUndo); setMenu.add(strokeMenu); + setMenu.add(setItemUndo); // 添加菜单到菜单条 jMenuBar.add(fileMenu); jMenuBar.add(setMenu); - jMenuBar.add(helpMenu); jMenuBar.add(BGMenu); + jMenuBar.add(helpMenu); // 添加菜单条 frame.setJMenuBar(jMenuBar); @@ -316,7 +314,7 @@ void openFile() { itemList[index].board = drawingArea; drawingArea.repaint(); index++; - currentChoice = 3; + currentChoice = 4; drawingArea.createNewGraphics(); } catch (IOException e) { e.printStackTrace(); @@ -347,7 +345,7 @@ private JFileChooser getjFileChooser() { //新建文件 void newFile() { index = 0; - currentChoice = 3; + currentChoice = 4; color = Color.black; stroke = 1; slider.slider.setValue(1); diff --git a/src/Codes/tools/MySlide.java b/src/Codes/tools/MySlide.java index 75dcc39..98164f4 100644 --- a/src/Codes/tools/MySlide.java +++ b/src/Codes/tools/MySlide.java @@ -1,10 +1,14 @@ package Codes.tools; +import javax.imageio.ImageIO; import javax.swing.*; import javax.swing.plaf.basic.BasicSliderUI; import java.awt.*; import java.awt.event.MouseEvent; import java.awt.event.MouseMotionAdapter; +import java.awt.image.BufferedImage; +import java.io.File; +import java.io.IOException; import static Codes.tools.MyFrame.*; @@ -27,17 +31,16 @@ public MySlide() { slider.setUI(customUI); // 显示当前值的标签 - JLabel label = new JLabel(": 1px", JLabel.CENTER); + JLabel label = new JLabel("1px", JLabel.CENTER); label.setFont(new Font("Arial", Font.BOLD, 12)); // 添加滑动条监听器 slider.addChangeListener(_ -> { - // 动态更新画笔粗细 MyFrame.stroke = slider.getValue(); itemList[index].width = stroke; - label.setText(": " + MyFrame.stroke + "px"); + label.setText(MyFrame.stroke + "px"); }); // 鼠标移动事件监听,检测鼠标是否悬停在滑轮上 @@ -52,7 +55,7 @@ public void mouseMoved(MouseEvent e) { }); // 限制滑动条高度 - slider.setPreferredSize(new Dimension(50, 150)); + slider.setPreferredSize(new Dimension(35, 150)); // 添加组件到面板 add(slider, BorderLayout.CENTER); diff --git a/src/Codes/tools/MyToolbar.java b/src/Codes/tools/MyToolbar.java index cff48e4..d326371 100644 --- a/src/Codes/tools/MyToolbar.java +++ b/src/Codes/tools/MyToolbar.java @@ -20,13 +20,13 @@ public class MyToolbar { /** * 将图片资源的相对路径存放于数组中,方便使用 */ - private final String[] images = { "/image/save.png", "/image/refresh.png", "/image/undo.png", "/image/pencil.png", + private final String[] images = { "/image/save.png", "/image/refresh.png", "/image/undo.png", "/image/select.png","/image/pencil.png", "/image/line.png", "/image/rectangle.png", "/image/rectangle3.png", "/image/oval.png", "/image/oval2.png", "/image/circle.png", "/image/fillcircle.png", "/image/rectangle2.png", "/image/rectangle4.png", "/image/triangle.png", "/image/pentagon.png", "/image/hexagon.png", "/image/eraser.png", "/image/brush.png", "/image/font.png", }; - private final String[] tipText = { "保存", "清空", "撤销", "铅笔", "直线", "空心矩形", "填充矩形", "空心椭圆", "填充椭圆", "空心圆形", "填充圆形", - "空心圆角矩形", "填充圆角矩形", "三角形", "五边形", "六边形", "橡皮擦", "填充", "文本", "粗细" }; + private final String[] tipText = { "保存", "清空", "撤销", "选择", "铅笔", "直线", "矩形", "填充矩形", "椭圆", "填充椭圆", "圆形", "填充圆形", + "圆角矩形", "填充圆角矩形", "三角形", "五边形", "六边形", "橡皮擦", "刷子", "文本", "粗细" }; private final String[] font = { "宋体", "隶书", "华文彩云", "仿宋_GB2312", "华文行楷", "方正舒体" }; private final String[] fontSize = { "8", "9", "10", "11", "12", "14", "16", "18", "20", "22", "24", "26", "28", "36", "48", "72" }; @@ -61,7 +61,7 @@ void addToolbar(MyFrame myFrame) { // 设置按钮图标以及图片 for (int i = 0; i < images.length; i++) { - // System.out.println(images[i]);//测试 + //System.out.println(images[i]);//测试 btnPaint[i] = new JButton(); icon[i] = new ImageIcon(Objects.requireNonNull(getClass().getResource(images[i]))); btnPaint[i].setIcon(icon[i]); @@ -111,8 +111,23 @@ void addToolbar(MyFrame myFrame) { btnPaint[2].addActionListener(e -> drawingArea.undo()); // 添加监听 - btnItalic.addItemListener(e -> MyFrame.italic = Font.ITALIC); - btnBold.addItemListener(e -> MyFrame.boldType = Font.BOLD); + // 添加监听 + // 添加监听 + btnItalic.addItemListener(e -> { + if (btnItalic.getState()) { // 判断是否选中 + MyFrame.italic = Font.ITALIC; // 设置斜体 + } else { + MyFrame.italic = Font.PLAIN; // 恢复普通字体 + } + }); + + btnBold.addItemListener(e -> { + if (btnBold.getState()) { // 判断是否选中 + MyFrame.boldType = Font.BOLD; // 设置粗体 + } else { + MyFrame.boldType = Font.PLAIN; // 恢复普通字体 + } + }); // 设置字体大小 toolbar.add(jFontSize); diff --git a/src/Codes/tools/MyZoom.java b/src/Codes/tools/MyZoom.java index 9fb06d8..5b725ff 100644 --- a/src/Codes/tools/MyZoom.java +++ b/src/Codes/tools/MyZoom.java @@ -11,6 +11,8 @@ import java.awt.event.MouseEvent; import java.util.Hashtable; +import static Codes.tools.MyFrame.*; + public class MyZoom extends JPanel { private double zoomLevel = 1.0; // 当前缩放比例 @@ -80,6 +82,7 @@ public void stateChanged(ChangeEvent e) { // 更新缩放值标签 zoomValueLabel.setText(String.format("%.1f", zoomLevel)); + canvasLabel.setText("画布大小: "+(int)(width/(zoomLevel/2+0.5))+" × "+(int)(height/(zoomLevel/2+0.5))+"像素"); // 更新绘图区域的缩放比例 updateZoom(); From c4f52eba73ec6e3fb4c36004d3ea96eca1ec7e2b Mon Sep 17 00:00:00 2001 From: jane <229272367@qq.com> Date: Sat, 4 Jan 2025 13:08:54 +0800 Subject: [PATCH 6/7] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/image/select.png | Bin 0 -> 232 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/image/select.png diff --git a/src/image/select.png b/src/image/select.png new file mode 100644 index 0000000000000000000000000000000000000000..d1af11dc20e71ac77c77af021ba4cf99322016d8 GIT binary patch literal 232 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjoCO|{#S9E$svykh8Km+7C^*a0 z#WBR=cyfZoA%{tgK)~twz@G09f7eAvd6CDL#9Q+iw=x>M=V?;N zS@rXQJ~I#~Pf Date: Sat, 4 Jan 2025 13:38:28 +0800 Subject: [PATCH 7/7] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Codes/tools/DrawPanel.java | 97 +++++++++++++++++++--------------- src/Codes/tools/MyFrame.java | 6 +-- src/Codes/tools/MyMenu.java | 4 +- src/Codes/tools/MySlide.java | 4 -- src/Codes/tools/MyToolbar.java | 4 +- 5 files changed, 61 insertions(+), 54 deletions(-) diff --git a/src/Codes/tools/DrawPanel.java b/src/Codes/tools/DrawPanel.java index f354373..3c21867 100644 --- a/src/Codes/tools/DrawPanel.java +++ b/src/Codes/tools/DrawPanel.java @@ -27,6 +27,7 @@ public class DrawPanel extends JPanel { private double offsetX = 0, offsetY = 0; private Image backgroundImage; private int x1 = 0, x2 = 0, y1 = 0, y2 = 0; + private int currentX = 0, currentY = 0; public DrawPanel() { // 设置光标类型,为十字形 @@ -96,8 +97,8 @@ public void undo() { // 如果当前选择的是铅笔、橡皮擦或刷子等工具(绘制多个点的图形) if (itemList[index] != null) { System.out.println(itemList[index].currentChoice); - if (itemList[index].currentChoice == 4 || itemList[index].currentChoice == 17 - || itemList[index].currentChoice == 18) { + if (itemList[index].currentChoice == 3 || itemList[index].currentChoice == 16 + || itemList[index].currentChoice == 17) { index -= itemList[index].length; // 回退到该图形的起始点 } } @@ -122,7 +123,7 @@ public void createNewGraphics() { * MOVE_CURSOR:移动光标类型。 CROSSHAIR_CURSOR:十字光标 CUSTOM_CURSOR 自定类型 WAIT_CURSOR * 等待光标类型 */ - if (currentChoice == 4) { + if (currentChoice == 3) { try { // 定义鼠标进入画板时的样式 String url = "/image/pencil2.png"; // 储存鼠标图片的位置 @@ -134,7 +135,7 @@ public void createNewGraphics() { JOptionPane.showMessageDialog(null, "自定义光标异常"); } - } else if (currentChoice == 17) { + } else if (currentChoice == 16) { try { // 定义鼠标进入画板时的样式 String url = "/image/cursor.png"; // 储存鼠标图片的位置 @@ -146,7 +147,7 @@ public void createNewGraphics() { JOptionPane.showMessageDialog(null, "自定义光标异常"); } - } else if (currentChoice == 19) { + } else if (currentChoice == 18) { drawingArea.setCursor(Cursor.getPredefinedCursor(Cursor.TEXT_CURSOR)); } else { // 光标设置 @@ -155,23 +156,22 @@ public void createNewGraphics() { switch (currentChoice) { case 0 -> itemList[index] = new Images(); - //case 3 -> new Select(); - case 4 -> itemList[index] = new Pencil(); - case 5 -> itemList[index] = new Line(); - case 6 -> itemList[index] = new Rectangle(); - case 7 -> itemList[index] = new FillRect(); - case 8 -> itemList[index] = new Oval(); - case 9 -> itemList[index] = new FillOval(); - case 10 -> itemList[index] = new Circle(); - case 11 -> itemList[index] = new FillCircle(); - case 12 -> itemList[index] = new RoundRect(); - case 13 -> itemList[index] = new FillRoundRect(); - case 14 -> itemList[index] = new Triangle(); - case 15 -> itemList[index] = new Pentagon(); - case 16 -> itemList[index] = new Hexagon(); - case 17 -> itemList[index] = new Rubber(); - case 18 -> itemList[index] = new Brush(); - case 19 -> { + case 3 -> itemList[index] = new Pencil(); + case 4 -> itemList[index] = new Line(); + case 5 -> itemList[index] = new Rectangle(); + case 6 -> itemList[index] = new FillRect(); + case 7 -> itemList[index] = new Oval(); + case 8 -> itemList[index] = new FillOval(); + case 9 -> itemList[index] = new Circle(); + case 10 -> itemList[index] = new FillCircle(); + case 11 -> itemList[index] = new RoundRect(); + case 12 -> itemList[index] = new FillRoundRect(); + case 13 -> itemList[index] = new Triangle(); + case 14 -> itemList[index] = new Pentagon(); + case 15 -> itemList[index] = new Hexagon(); + case 16 -> itemList[index] = new Rubber(); + case 17 -> itemList[index] = new Brush(); + case 18 -> { itemList[index] = new Text(); itemList[index].s = JOptionPane.showInputDialog("请输入文字"); itemList[index].fontSize = fSize; @@ -196,16 +196,18 @@ class MouseAction extends MouseAdapter { @Override public void mousePressed(MouseEvent e) { // 设置状态提示 - positionLabel.setText("坐标: [ " + e.getX() + ", " + e.getY() + " ]像素"); - itemList[index].x1 = itemList[index].x2 = x1 = x2 = e.getX(); - itemList[index].y1 = itemList[index].y2 = y1 = y2 = e.getY(); + currentX = (int) (e.getX()/(zoomLevel/2+0.5)); + currentY = (int) (e.getY()/(zoomLevel/2+0.5)); + positionLabel.setText("坐标: [ " + currentX + ", " + currentY + " ]像素"); + itemList[index].x1 = itemList[index].x2 = x1 = x2 = currentX; + itemList[index].y1 = itemList[index].y2 = y1 = y2 = currentY; judgeSizeLabel(); // 如果当前选择的图形是画笔或者橡皮檫,则进行下面的操作 - if (currentChoice == 4 || currentChoice == 17 || currentChoice == 18) { + if (currentChoice == 3 || currentChoice == 16 || currentChoice == 17) { lengthCount = 0; - itemList[index].x1 = itemList[index].x2 = e.getX() ; - itemList[index].y1 = itemList[index].y2 = e.getY(); + itemList[index].x1 = itemList[index].x2 = currentX ; + itemList[index].y1 = itemList[index].y2 = currentY; index++; lengthCount++; createNewGraphics(); @@ -214,15 +216,18 @@ public void mousePressed(MouseEvent e) { @Override public void mouseReleased(MouseEvent e) { - positionLabel.setText("坐标: [ " + e.getX() + ", " + e.getY() + " ]像素"); + currentX = (int) (e.getX()/(zoomLevel/2+0.5)); + currentY = (int) (e.getY()/(zoomLevel/2+0.5)); - if (currentChoice == 4 || currentChoice == 17 || currentChoice == 18) { - itemList[index].x1 = e.getX(); - itemList[index].y1 = e.getY(); + positionLabel.setText("坐标: [ " + currentX + ", " + currentY + " ]像素"); + + if (currentChoice == 3 || currentChoice == 16 || currentChoice == 17) { + itemList[index].x1 = currentX; + itemList[index].y1 = currentY; itemList[index].length = lengthCount; } - itemList[index].x2 = x2 = e.getX(); - itemList[index].y2 = y2 = e.getY(); + itemList[index].x2 = x2 = currentX; + itemList[index].y2 = y2 = currentY; judgeSizeLabel(); @@ -248,17 +253,20 @@ public void mouseExited(MouseEvent e) { class MouseMotion extends MouseMotionAdapter { @Override public void mouseDragged(MouseEvent e) { - positionLabel.setText("坐标: [ " + e.getX() + ", " + e.getY() + " ]像素"); + currentX = (int) (e.getX()/(zoomLevel/2+0.5)); + currentY = (int) (e.getY()/(zoomLevel/2+0.5)); - if (currentChoice == 4 || currentChoice == 17 || currentChoice == 18) { - itemList[index - 1].x1 = itemList[index].x2 = itemList[index].x1 = x2 = e.getX(); - itemList[index - 1].y1 = itemList[index].y2 = itemList[index].y1 = y2 = e.getY(); + positionLabel.setText("坐标: [ " + currentX + ", " + currentY + " ]像素"); + + if (currentChoice == 3 || currentChoice == 16 || currentChoice == 17) { + itemList[index - 1].x1 = itemList[index].x2 = itemList[index].x1 = x2 = currentX; + itemList[index - 1].y1 = itemList[index].y2 = itemList[index].y1 = y2 = currentY; index++; lengthCount++; createNewGraphics(); } else { - itemList[index].x2 = x2 = e.getX(); - itemList[index].y2 = y2 = e.getY(); + itemList[index].x2 = x2 = currentX; + itemList[index].y2 = y2 = currentY; } judgeSizeLabel(); @@ -267,7 +275,10 @@ public void mouseDragged(MouseEvent e) { @Override public void mouseMoved(MouseEvent e) { - positionLabel.setText("坐标: [ " + e.getX() + ", " + e.getY() + " ]像素"); + currentX = (int) (e.getX()/(zoomLevel/2+0.5)); + currentY = (int) (e.getY()/(zoomLevel/2+0.5)); + + positionLabel.setText("坐标: [ " + currentX + ", " + currentY + " ]像素"); sizeLabel.setText("图形大小:"); } } @@ -278,11 +289,11 @@ public void setZoomLevel(double zoomLevel) { } private void judgeSizeLabel() { - if(currentChoice == 10|| currentChoice == 11){ + if(currentChoice == 9|| currentChoice == 10){ int r = max(abs(x2-x1+1), abs(y2-y1+1)); sizeLabel.setText("图形大小: "+r+" × "+r+"像素"); } - else if(currentChoice != 4) { + else if(currentChoice != 3) { sizeLabel.setText("图形大小: "+abs(x2-x1+1)+" × "+abs(y2-y1+1)+"像素"); } else { diff --git a/src/Codes/tools/MyFrame.java b/src/Codes/tools/MyFrame.java index 2c462fc..a85e482 100644 --- a/src/Codes/tools/MyFrame.java +++ b/src/Codes/tools/MyFrame.java @@ -82,7 +82,7 @@ public class MyFrame extends JFrame { /** * 初始状态是画笔 */ - public static int currentChoice = 4; + public static int currentChoice = 3; /** * 菜单类 @@ -198,8 +198,8 @@ public void windowClosing(WindowEvent e) { } } }); - + this.revalidate(); // 重新验证组件布局 + this.repaint(); // 强制刷新 } - } diff --git a/src/Codes/tools/MyMenu.java b/src/Codes/tools/MyMenu.java index 41154bb..d1cc998 100644 --- a/src/Codes/tools/MyMenu.java +++ b/src/Codes/tools/MyMenu.java @@ -314,7 +314,7 @@ void openFile() { itemList[index].board = drawingArea; drawingArea.repaint(); index++; - currentChoice = 4; + currentChoice = 3; drawingArea.createNewGraphics(); } catch (IOException e) { e.printStackTrace(); @@ -345,7 +345,7 @@ private JFileChooser getjFileChooser() { //新建文件 void newFile() { index = 0; - currentChoice = 4; + currentChoice = 3; color = Color.black; stroke = 1; slider.slider.setValue(1); diff --git a/src/Codes/tools/MySlide.java b/src/Codes/tools/MySlide.java index 98164f4..615e900 100644 --- a/src/Codes/tools/MySlide.java +++ b/src/Codes/tools/MySlide.java @@ -1,14 +1,10 @@ package Codes.tools; -import javax.imageio.ImageIO; import javax.swing.*; import javax.swing.plaf.basic.BasicSliderUI; import java.awt.*; import java.awt.event.MouseEvent; import java.awt.event.MouseMotionAdapter; -import java.awt.image.BufferedImage; -import java.io.File; -import java.io.IOException; import static Codes.tools.MyFrame.*; diff --git a/src/Codes/tools/MyToolbar.java b/src/Codes/tools/MyToolbar.java index d326371..3a2dee1 100644 --- a/src/Codes/tools/MyToolbar.java +++ b/src/Codes/tools/MyToolbar.java @@ -20,12 +20,12 @@ public class MyToolbar { /** * 将图片资源的相对路径存放于数组中,方便使用 */ - private final String[] images = { "/image/save.png", "/image/refresh.png", "/image/undo.png", "/image/select.png","/image/pencil.png", + private final String[] images = { "/image/save.png", "/image/refresh.png", "/image/undo.png","/image/pencil.png", "/image/line.png", "/image/rectangle.png", "/image/rectangle3.png", "/image/oval.png", "/image/oval2.png", "/image/circle.png", "/image/fillcircle.png", "/image/rectangle2.png", "/image/rectangle4.png", "/image/triangle.png", "/image/pentagon.png", "/image/hexagon.png", "/image/eraser.png", "/image/brush.png", "/image/font.png", }; - private final String[] tipText = { "保存", "清空", "撤销", "选择", "铅笔", "直线", "矩形", "填充矩形", "椭圆", "填充椭圆", "圆形", "填充圆形", + private final String[] tipText = { "保存", "清空", "撤销", "铅笔", "直线", "矩形", "填充矩形", "椭圆", "填充椭圆", "圆形", "填充圆形", "圆角矩形", "填充圆角矩形", "三角形", "五边形", "六边形", "橡皮擦", "刷子", "文本", "粗细" }; private final String[] font = { "宋体", "隶书", "华文彩云", "仿宋_GB2312", "华文行楷", "方正舒体" }; private final String[] fontSize = { "8", "9", "10", "11", "12", "14", "16", "18", "20", "22", "24", "26", "28", "36", "48", "72" };