• java实现颜色拾色器并打包成exe文件


    我们先来看看效果

    一.源码

    废话不多说,直接上代码:

    1. import javax.swing.*;
    2. import java.awt.*;
    3. import java.awt.event.ActionEvent;
    4. import java.awt.event.ActionListener;
    5. public class ColorPicker extends JFrame {
    6.     private JButton colorButton;
    7.     private JPanel colorPanel;
    8.     public ColorPicker() {
    9.         setTitle("颜色拾色器");
    10.         setSize(400, 200);
    11.         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    12.         // 设置支持中文字符集的字体
    13.         Font chineseFont = new Font("微软雅黑", Font.PLAIN, 16);
    14.         colorButton = new JButton("选择颜色");
    15.         colorButton.setFont(chineseFont); // 使用中文支持的字体
    16.         colorPanel = new JPanel();
    17.         colorPanel.setPreferredSize(new Dimension(200, 100));
    18.         colorPanel.setBorder(BorderFactory.createEtchedBorder());
    19.         colorButton.addActionListener(new ActionListener() {
    20.             @Override
    21.             public void actionPerformed(ActionEvent e) {
    22.                 Color selectedColor = JColorChooser.showDialog(null, "选择颜色", colorPanel.getBackground());
    23.                 if (selectedColor != null) {
    24.                     colorPanel.setBackground(selectedColor);
    25.                 }
    26.             }
    27.         });
    28.         setLayout(new BorderLayout());
    29.         JPanel buttonPanel = new JPanel();
    30.         buttonPanel.setLayout(new FlowLayout(FlowLayout.CENTER));
    31.         buttonPanel.add(colorButton);
    32.         JPanel mainPanel = new JPanel();
    33.         mainPanel.setLayout(new BorderLayout());
    34.         mainPanel.add(buttonPanel, BorderLayout.NORTH);
    35.         mainPanel.add(colorPanel, BorderLayout.CENTER);
    36.         add(mainPanel, BorderLayout.CENTER);
    37.     }
    38.     public static void main(String[] args) {
    39.         SwingUtilities.invokeLater(new Runnable() {
    40.             @Override
    41.             public void run() {
    42.                 ColorPicker colorPicker = new ColorPicker();
    43.                 colorPicker.setVisible(true);
    44.                 colorPicker.setLocationRelativeTo(null); // 屏幕中央显示
    45.             }
    46.         });
    47.     }
    48. }

    代码解读如下:

    1. import javax.swing.*; // 导入Swing包,这是Java用于创建图形用户界面(GUI)的库
    2. import java.awt.*; // 导入AWT包,它包含构建和绘制用户界面所需的类和方法
    3. import java.awt.event.ActionEvent; // 导入ActionEvent类,它是Java中事件处理的一种类,用于处理用户界面事件
    4. import java.awt.event.ActionListener; // 导入ActionListener接口,它包含处理用户界面事件的方法
    5. public class ColorPicker extends JFrame { // 定义一个名为ColorPicker的类,该类继承自JFrame类(Java的窗口类)
    6. private JButton colorButton; // 定义一个私有的JButton对象,用于创建一个显示“选择颜色”的按钮
    7. private JPanel colorPanel; // 定义一个私有的JPanel对象,用于显示所选择的颜色
    8. public ColorPicker() { // 定义ColorPicker类的构造函数
    9. setTitle("颜色拾色器"); // 设置窗口的标题为“颜色拾色器”
    10. setSize(400, 200); // 设置窗口的大小为400x200像素
    11. setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 设置窗口关闭时的默认操作为退出程序
    12. // 设置支持中文字符集的字体
    13. Font chineseFont = new Font("微软雅黑", Font.PLAIN, 16); // 创建一个字体对象,使用“微软雅黑”字体、普通样式(没有粗体、斜体等效果),大小为16
    14. colorButton = new JButton("选择颜色"); // 创建一个新的JButton对象,显示文本为“选择颜色”
    15. colorButton.setFont(chineseFont); // 为这个按钮设置上述定义的字体
    16. colorPanel = new JPanel(); // 创建一个新的JPanel对象,用于显示所选择的颜色
    17. colorPanel.setPreferredSize(new Dimension(200, 100)); // 设置这个面板的首选大小为200x100像素
    18. colorPanel.setBorder(BorderFactory.createEtchedBorder()); // 为这个面板设置一个边框效果,样式为刻蚀样式的边框
    19. colorButton.addActionListener(new ActionListener() { // 为这个按钮添加一个动作监听器,当按钮被点击时触发相应的事件处理方法
    20. @Override
    21. public void actionPerformed(ActionEvent e) { // 这是事件处理方法,当按钮被点击时会被调用
    22. Color selectedColor = JColorChooser.showDialog(null, "选择颜色", colorPanel.getBackground()); // 使用JColorChooser类显示一个对话框,让用户选择颜色,选择的颜色将被返回(selectedColor)
    23. if (selectedColor != null) { // 如果用户选择了颜色(即selectedColor不为null)
    24. colorPanel.setBackground(selectedColor); // 将这个面板的背景色设置为所选择的颜色
    25. }
    26. }
    27. });
    28. setLayout(new BorderLayout()); // 为窗口设置布局,这里使用的是BorderLayout布局,可以将组件放在北、南、东、西和中心位置
    29. JPanel buttonPanel = new JPanel(); // 创建一个新的JPanel对象,用于放置“选择颜色”按钮
    30. buttonPanel.setLayout(new FlowLayout(FlowLayout.CENTER)); // 为这个按钮面板设置布局,这里使用的是FlowLayout布局,按钮会水平排列在中心位置(居中)
    31. buttonPanel.add(colorButton); // 将“选择颜色”按钮添加到这个按钮面板中
    32. JPanel mainPanel = new JPanel(); // 创建一个新的JPanel对象,作为主要的面板
    33. mainPanel.setLayout(new BorderLayout()); // 为这个主要面板设置布局,这里使用的是BorderLayout布局

    运行ColorPicker即可,效果如下

    二、将jar打包成exe

    1.首先将ColorPicker打包成jar包,直接通过idea编辑器packge即可打包成功。

    2.下载安装JSmooth

    JSmooth是一款开源的Java应用程序,主要用于为Java应用程序创建本机Windows启动器。它可以将Java应用程序打包成一个独立的可执行文件(.exe),使得用户无需事先安装Java虚拟机(JVM)即可直接运行Java应用程序。JSmooth的优点在于它能够自动识别和利用已安装的JVM,即使在没有安装JVM的计算机上,也可以通过JSmooth打包的exe文件运行Java应用程序。此外,JSmooth还可以对Java应用程序进行优化,以提高其运行效率,包括压缩应用程序大小、提高启动速度等。除了上述功能,JSmooth还具有一些其他的特点。例如,它支持自定义应用程序图标、版本信息等,使得打包后的应用程序更加美观和易用。此外,JSmooth还提供了日志记录和错误报告等功能,方便开发人员进行调试和故障排除。总之,JSmooth是一个非常实用的工具,它可以帮助开发人员将Java应用程序更加便捷地部署到Windows操作系统中,同时也提供了许多额外的功能来优化和监控Java应用程序的运行状态。

     3.双击打开JSmooth

    4.点击骨架,我从骨架中选择Windows Wrapper(根据自己程序需要选择

    5.点击可执行文件,填写生成EXE文件的文件名(路径)和图标

     6.选择主类的类型和jar的路径

    7.点击小齿轮即可生成exe文件

    关注“一码当先”,回复“jsmooth”即可获取

    获取JSmooth安装包和拾色器

  • 相关阅读:
    [附源码]java毕业设计研究生管理系统
    IB和A-Level哪个的含金量高?
    基于 Amazon API Gatewy 的跨账号跨网络的私有 API 集成
    java毕业设计点播影院运营系统mybatis+源码+调试部署+系统+数据库+lw
    记录:2022-9-9 水果成篮 最大正方形 分页 银行家算法习题2道
    (原创)多线程并发:AQS源码分析(2)——共享锁的实现原理
    新手想开一个传奇该如何操作?开一个传奇必须掌握哪些知识要点
    FPGA时序分析与约束(1)——组合电路时序
    【好文鉴赏】优秀的后端应该有哪些开发习惯
    Django视图(三)
  • 原文地址:https://blog.csdn.net/qq_30776829/article/details/134032243