最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于java實(shí)現(xiàn)顏色拾色器并打包成exe

 更新時(shí)間:2023年10月25日 15:50:12   作者:一生何求603  
這篇文章主要為大家詳細(xì)介紹了如何基于java編寫一個(gè)簡(jiǎn)單的顏色拾色器并打包成exe文件,文中的示例代碼講解詳細(xì),需要的小伙伴可以跟隨小編一起學(xué)習(xí)一下

我們先來看看效果

1.源碼

廢話不多說,直接上代碼:

import javax.swing.*;  
import java.awt.*;  
import java.awt.event.ActionEvent;  
import java.awt.event.ActionListener;  
public class ColorPicker extends JFrame {  
    private JButton colorButton;  
    private JPanel colorPanel;  
    public ColorPicker() {  
        setTitle("顏色拾色器");  
        setSize(400, 200);  
        setDefaultCloseOperation(JFrame.*EXIT_ON_CLOSE*);  
        // 設(shè)置支持中文字符集的字體  
        Font chineseFont = new Font("微軟雅黑", Font.*PLAIN*, 16);  
        colorButton = new JButton("選擇顏色");  
        colorButton.setFont(chineseFont); // 使用中文支持的字體  
        colorPanel = new JPanel();  
        colorPanel.setPreferredSize(new Dimension(200, 100));  
        colorPanel.setBorder(BorderFactory.*createEtchedBorder*());  
        colorButton.addActionListener(new ActionListener() {  
            @Override  
            public void actionPerformed(ActionEvent e) {  
                Color selectedColor = JColorChooser.*showDialog*(null, "選擇顏色", colorPanel.getBackground());  
                if (selectedColor != null) {  
                    colorPanel.setBackground(selectedColor);  
                }  
            }  
        });  
        setLayout(new BorderLayout());  
        JPanel buttonPanel = new JPanel();  
        buttonPanel.setLayout(new FlowLayout(FlowLayout.*CENTER*));  
        buttonPanel.add(colorButton);  
        JPanel mainPanel = new JPanel();  
        mainPanel.setLayout(new BorderLayout());  
        mainPanel.add(buttonPanel, BorderLayout.*NORTH*);  
        mainPanel.add(colorPanel, BorderLayout.*CENTER*);  
        add(mainPanel, BorderLayout.*CENTER*);  
    }  
    public static void main(String[] args) {  
        SwingUtilities.*invokeLater*(new Runnable() {  
            @Override  
            public void run() {  
                ColorPicker colorPicker = new ColorPicker();  
                colorPicker.setVisible(true);  
                colorPicker.setLocationRelativeTo(null); // 屏幕中央顯示  
            }  
        });  
    }  
}

代碼解讀如下:

import javax.swing.*; // 導(dǎo)入Swing包,這是Java用于創(chuàng)建圖形用戶界面(GUI)的庫
import java.awt.*; // 導(dǎo)入AWT包,它包含構(gòu)建和繪制用戶界面所需的類和方法
import java.awt.event.ActionEvent; // 導(dǎo)入ActionEvent類,它是Java中事件處理的一種類,用于處理用戶界面事件
import java.awt.event.ActionListener; // 導(dǎo)入ActionListener接口,它包含處理用戶界面事件的方法
public class ColorPicker extends JFrame { // 定義一個(gè)名為ColorPicker的類,該類繼承自JFrame類(Java的窗口類)
private JButton colorButton; // 定義一個(gè)私有的JButton對(duì)象,用于創(chuàng)建一個(gè)顯示“選擇顏色”的按鈕
private JPanel colorPanel; // 定義一個(gè)私有的JPanel對(duì)象,用于顯示所選擇的顏色
public ColorPicker() { // 定義ColorPicker類的構(gòu)造函數(shù)
setTitle("顏色拾色器"); // 設(shè)置窗口的標(biāo)題為“顏色拾色器”
setSize(400, 200); // 設(shè)置窗口的大小為400x200像素
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 設(shè)置窗口關(guān)閉時(shí)的默認(rèn)操作為退出程序
// 設(shè)置支持中文字符集的字體
Font chineseFont = new Font("微軟雅黑", Font.PLAIN, 16); // 創(chuàng)建一個(gè)字體對(duì)象,使用“微軟雅黑”字體、普通樣式(沒有粗體、斜體等效果),大小為16
colorButton = new JButton("選擇顏色"); // 創(chuàng)建一個(gè)新的JButton對(duì)象,顯示文本為“選擇顏色”
colorButton.setFont(chineseFont); // 為這個(gè)按鈕設(shè)置上述定義的字體
colorPanel = new JPanel(); // 創(chuàng)建一個(gè)新的JPanel對(duì)象,用于顯示所選擇的顏色
colorPanel.setPreferredSize(new Dimension(200, 100)); // 設(shè)置這個(gè)面板的首選大小為200x100像素
colorPanel.setBorder(BorderFactory.createEtchedBorder()); // 為這個(gè)面板設(shè)置一個(gè)邊框效果,樣式為刻蝕樣式的邊框
colorButton.addActionListener(new ActionListener() { // 為這個(gè)按鈕添加一個(gè)動(dòng)作監(jiān)聽器,當(dāng)按鈕被點(diǎn)擊時(shí)觸發(fā)相應(yīng)的事件處理方法
@Override
public void actionPerformed(ActionEvent e) { // 這是事件處理方法,當(dāng)按鈕被點(diǎn)擊時(shí)會(huì)被調(diào)用
Color selectedColor = JColorChooser.showDialog(null, "選擇顏色", colorPanel.getBackground()); // 使用JColorChooser類顯示一個(gè)對(duì)話框,讓用戶選擇顏色,選擇的顏色將被返回(selectedColor)
if (selectedColor != null) { // 如果用戶選擇了顏色(即selectedColor不為null)
colorPanel.setBackground(selectedColor); // 將這個(gè)面板的背景色設(shè)置為所選擇的顏色
}
}
});
setLayout(new BorderLayout()); // 為窗口設(shè)置布局,這里使用的是BorderLayout布局,可以將組件放在北、南、東、西和中心位置
JPanel buttonPanel = new JPanel(); // 創(chuàng)建一個(gè)新的JPanel對(duì)象,用于放置“選擇顏色”按鈕
buttonPanel.setLayout(new FlowLayout(FlowLayout.CENTER)); // 為這個(gè)按鈕面板設(shè)置布局,這里使用的是FlowLayout布局,按鈕會(huì)水平排列在中心位置(居中)
buttonPanel.add(colorButton); // 將“選擇顏色”按鈕添加到這個(gè)按鈕面板中
JPanel mainPanel = new JPanel(); // 創(chuàng)建一個(gè)新的JPanel對(duì)象,作為主要的面板
mainPanel.setLayout(new BorderLayout()); // 為這個(gè)主要面板設(shè)置布局,這里使用的是BorderLayout布局
mainPanel.add(but

運(yùn)行ColorPicker即可,效果如下

2.將jar打包成exe

1.首先將ColorPicker打包成jar包,直接通過idea編輯器packge即可打包成功。

2.下載安裝JSmooth

JSmooth是一款開源的Java應(yīng)用程序,主要用于為Java應(yīng)用程序創(chuàng)建本機(jī)Windows啟動(dòng)器。它可以將Java應(yīng)用程序打包成一個(gè)獨(dú)立的可執(zhí)行文件(.exe),使得用戶無需事先安裝Java虛擬機(jī)(JVM)即可直接運(yùn)行Java應(yīng)用程序。JSmooth的優(yōu)點(diǎn)在于它能夠自動(dòng)識(shí)別和利用已安裝的JVM,即使在沒有安裝JVM的計(jì)算機(jī)上,也可以通過JSmooth打包的exe文件運(yùn)行Java應(yīng)用程序。此外,JSmooth還可以對(duì)Java應(yīng)用程序進(jìn)行優(yōu)化,以提高其運(yùn)行效率,包括壓縮應(yīng)用程序大小、提高啟動(dòng)速度等。除了上述功能,JSmooth還具有一些其他的特點(diǎn)。例如,它支持自定義應(yīng)用程序圖標(biāo)、版本信息等,使得打包后的應(yīng)用程序更加美觀和易用。此外,JSmooth還提供了日志記錄和錯(cuò)誤報(bào)告等功能,方便開發(fā)人員進(jìn)行調(diào)試和故障排除??傊?,JSmooth是一個(gè)非常實(shí)用的工具,它可以幫助開發(fā)人員將Java應(yīng)用程序更加便捷地部署到Windows操作系統(tǒng)中,同時(shí)也提供了許多額外的功能來優(yōu)化和監(jiān)控Java應(yīng)用程序的運(yùn)行狀態(tài)。

3.雙擊打開JSmooth

4.點(diǎn)擊骨架,我從骨架中選擇Windows Wrapper(根據(jù)自己程序需要選擇

5.點(diǎn)擊可執(zhí)行文件,填寫生成EXE文件的文件名(路徑)和圖標(biāo)

6.選擇主類的類型和jar的路徑

7.點(diǎn)擊小齒輪即可生成exe文件

以上就是基于java實(shí)現(xiàn)顏色拾色器并打包成exe的詳細(xì)內(nèi)容,更多關(guān)于java顏色拾色器的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • java中isEmpty和isBlank的區(qū)別小結(jié)

    java中isEmpty和isBlank的區(qū)別小結(jié)

    Java中的isEmpty和isBlank都是用來判斷字符串是否為空的方法,但在不同的情況下有所區(qū)別,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-09-09
  • Java基于redis實(shí)現(xiàn)分布式鎖代碼實(shí)例

    Java基于redis實(shí)現(xiàn)分布式鎖代碼實(shí)例

    這篇文章主要介紹了Java基于redis實(shí)現(xiàn)分布式鎖代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • 簡(jiǎn)潔實(shí)用的Java Base64編碼加密異常處理類代碼

    簡(jiǎn)潔實(shí)用的Java Base64編碼加密異常處理類代碼

    這篇文章主要介紹了簡(jiǎn)潔實(shí)用的Java Base64編碼加密異常處理類代碼,有一定的實(shí)用價(jià)值,需要的朋友可以參考下
    2014-07-07
  • SpringBoot整合新版SpringSecurity完整過程

    SpringBoot整合新版SpringSecurity完整過程

    Spring Security是保障Spring應(yīng)用程序安全的強(qiáng)大框架,而新版的Spring Security引入了lambda表達(dá)式來配置,使得安全配置更加簡(jiǎn)潔、優(yōu)雅,本文將介紹如何在Spring Boot項(xiàng)目中整合新版Spring Security,需要的朋友可以參考下
    2024-02-02
  • SpringBoot啟動(dòng)報(bào)錯(cuò)屬性循環(huán)依賴報(bào)錯(cuò)問題的解決

    SpringBoot啟動(dòng)報(bào)錯(cuò)屬性循環(huán)依賴報(bào)錯(cuò)問題的解決

    這篇文章主要介紹了SpringBoot啟動(dòng)報(bào)錯(cuò)屬性循環(huán)依賴報(bào)錯(cuò)問題的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • JavaWeb文件下載功能實(shí)例代碼

    JavaWeb文件下載功能實(shí)例代碼

    這篇文章主要為大家詳細(xì)介紹了JavaWeb文件下載功能實(shí)例代碼,代碼簡(jiǎn)單實(shí)用,感興趣的小伙伴們可以參考一下
    2016-06-06
  • spring5新特性全面介紹

    spring5新特性全面介紹

    本文將全面介紹 Spring 5。我將介紹 Java SE 8 和 Java EE 7 API 的基準(zhǔn)升級(jí)、Spring 5 的新反應(yīng)式編程模型、HTTP/2 支持,以及 Spring 通過 Kotlin 對(duì)函數(shù)式編程的全面支持。
    2020-10-10
  • java 如何將圖片按照原尺寸比例存入word中

    java 如何將圖片按照原尺寸比例存入word中

    這篇文章主要介紹了java 如何將圖片按照原尺寸比例存入word中的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • jedis的return行為源碼解析

    jedis的return行為源碼解析

    這篇文章主要為大家介紹了jedis的return行為源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • JavaSE多線程阻塞隊(duì)列實(shí)現(xiàn)代碼

    JavaSE多線程阻塞隊(duì)列實(shí)現(xiàn)代碼

    阻塞隊(duì)列是一種線程安全的隊(duì)列,可以用于多線程之間的數(shù)據(jù)傳遞和同步,下面這篇文章主要介紹了JavaSE多線程阻塞隊(duì)列的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-12-12

最新評(píng)論

金沙县| 博兴县| 方城县| 温泉县| 乐都县| 古浪县| 朝阳区| 罗甸县| 会东县| 福建省| 绍兴市| 延长县| 澄迈县| 客服| 老河口市| 汕头市| 安泽县| 皋兰县| 建阳市| 盐津县| 含山县| 彭山县| 赞皇县| 新民市| 定南县| 郁南县| 朝阳区| 沧州市| 广西| 磴口县| 吴桥县| 桓台县| 安义县| 丽水市| 宣城市| 哈尔滨市| 万州区| 芜湖市| 崇仁县| 中西区| 扎赉特旗|