基于java實(shí)現(xiàn)顏色拾色器并打包成exe
我們先來看看效果
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 { // 定義一個名為ColorPicker的類,該類繼承自JFrame類(Java的窗口類) private JButton colorButton; // 定義一個私有的JButton對象,用于創(chuàng)建一個顯示“選擇顏色”的按鈕 private JPanel colorPanel; // 定義一個私有的JPanel對象,用于顯示所選擇的顏色 public ColorPicker() { // 定義ColorPicker類的構(gòu)造函數(shù) setTitle("顏色拾色器"); // 設(shè)置窗口的標(biāo)題為“顏色拾色器” setSize(400, 200); // 設(shè)置窗口的大小為400x200像素 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 設(shè)置窗口關(guān)閉時的默認(rèn)操作為退出程序 // 設(shè)置支持中文字符集的字體 Font chineseFont = new Font("微軟雅黑", Font.PLAIN, 16); // 創(chuàng)建一個字體對象,使用“微軟雅黑”字體、普通樣式(沒有粗體、斜體等效果),大小為16 colorButton = new JButton("選擇顏色"); // 創(chuàng)建一個新的JButton對象,顯示文本為“選擇顏色” colorButton.setFont(chineseFont); // 為這個按鈕設(shè)置上述定義的字體 colorPanel = new JPanel(); // 創(chuàng)建一個新的JPanel對象,用于顯示所選擇的顏色 colorPanel.setPreferredSize(new Dimension(200, 100)); // 設(shè)置這個面板的首選大小為200x100像素 colorPanel.setBorder(BorderFactory.createEtchedBorder()); // 為這個面板設(shè)置一個邊框效果,樣式為刻蝕樣式的邊框 colorButton.addActionListener(new ActionListener() { // 為這個按鈕添加一個動作監(jiān)聽器,當(dāng)按鈕被點(diǎn)擊時觸發(fā)相應(yīng)的事件處理方法 @Override public void actionPerformed(ActionEvent e) { // 這是事件處理方法,當(dāng)按鈕被點(diǎn)擊時會被調(diào)用 Color selectedColor = JColorChooser.showDialog(null, "選擇顏色", colorPanel.getBackground()); // 使用JColorChooser類顯示一個對話框,讓用戶選擇顏色,選擇的顏色將被返回(selectedColor) if (selectedColor != null) { // 如果用戶選擇了顏色(即selectedColor不為null) colorPanel.setBackground(selectedColor); // 將這個面板的背景色設(shè)置為所選擇的顏色 } } }); setLayout(new BorderLayout()); // 為窗口設(shè)置布局,這里使用的是BorderLayout布局,可以將組件放在北、南、東、西和中心位置 JPanel buttonPanel = new JPanel(); // 創(chuàng)建一個新的JPanel對象,用于放置“選擇顏色”按鈕 buttonPanel.setLayout(new FlowLayout(FlowLayout.CENTER)); // 為這個按鈕面板設(shè)置布局,這里使用的是FlowLayout布局,按鈕會水平排列在中心位置(居中) buttonPanel.add(colorButton); // 將“選擇顏色”按鈕添加到這個按鈕面板中 JPanel mainPanel = new JPanel(); // 創(chuàng)建一個新的JPanel對象,作為主要的面板 mainPanel.setLayout(new BorderLayout()); // 為這個主要面板設(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啟動器。它可以將Java應(yīng)用程序打包成一個獨(dú)立的可執(zhí)行文件(.exe),使得用戶無需事先安裝Java虛擬機(jī)(JVM)即可直接運(yùn)行Java應(yīng)用程序。JSmooth的優(yōu)點(diǎn)在于它能夠自動識別和利用已安裝的JVM,即使在沒有安裝JVM的計(jì)算機(jī)上,也可以通過JSmooth打包的exe文件運(yùn)行Java應(yīng)用程序。此外,JSmooth還可以對Java應(yīng)用程序進(jìn)行優(yōu)化,以提高其運(yùn)行效率,包括壓縮應(yīng)用程序大小、提高啟動速度等。除了上述功能,JSmooth還具有一些其他的特點(diǎn)。例如,它支持自定義應(yīng)用程序圖標(biāo)、版本信息等,使得打包后的應(yīng)用程序更加美觀和易用。此外,JSmooth還提供了日志記錄和錯誤報(bào)告等功能,方便開發(fā)人員進(jìn)行調(diào)試和故障排除。總之,JSmooth是一個非常實(shí)用的工具,它可以幫助開發(fā)人員將Java應(yīng)用程序更加便捷地部署到Windows操作系統(tǒng)中,同時也提供了許多額外的功能來優(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顏色拾色器的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Scala數(shù)據(jù)庫連接池的簡單實(shí)現(xiàn)
本文主要介紹了Scala數(shù)據(jù)庫連接池的簡單實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02高可用架構(gòu)etcd選主故障主備秒級切換實(shí)現(xiàn)
這篇文章主要為大家介紹了高可用架構(gòu)etcd選主故障主備秒級切換的實(shí)現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-02-02Java應(yīng)用啟動停止重啟Shell腳本模板server.sh
這篇文章主要為大家介紹了Java應(yīng)用啟動、停止、重啟Shell腳本模板server.sh,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08Idea代理設(shè)置與Java程序的代理設(shè)置方式
文章總結(jié):學(xué)習(xí)WebService時,使用Fiddler抓取包數(shù)據(jù),發(fā)現(xiàn)Idea代理設(shè)置與Java程序代理設(shè)置不同,Java程序需要在發(fā)送請求前設(shè)置代理,代碼如下2025-01-01

十大常見Java String問題_動力節(jié)點(diǎn)Java學(xué)院整理