亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

我們先來(lái)看看效果

1.源碼

廢話(huà)不多說(shuō),直接上代碼:

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)建圖形用戶(hù)界面(GUI)的庫(kù)
import java.awt.*; // 導(dǎo)入AWT包,它包含構(gòu)建和繪制用戶(hù)界面所需的類(lèi)和方法
import java.awt.event.ActionEvent; // 導(dǎo)入ActionEvent類(lèi),它是Java中事件處理的一種類(lèi),用于處理用戶(hù)界面事件
import java.awt.event.ActionListener; // 導(dǎo)入ActionListener接口,它包含處理用戶(hù)界面事件的方法
public class ColorPicker extends JFrame { // 定義一個(gè)名為ColorPicker的類(lèi),該類(lèi)繼承自JFrame類(lèi)(Java的窗口類(lèi))
private JButton colorButton; // 定義一個(gè)私有的JButton對(duì)象,用于創(chuàng)建一個(gè)顯示“選擇顏色”的按鈕
private JPanel colorPanel; // 定義一個(gè)私有的JPanel對(duì)象,用于顯示所選擇的顏色
public ColorPicker() { // 定義ColorPicker類(lèi)的構(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ì)象,使用“微軟雅黑”字體、普通樣式(沒(méi)有粗體、斜體等效果),大小為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)聽(tīng)器,當(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類(lèi)顯示一個(gè)對(duì)話(huà)框,讓用戶(hù)選擇顏色,選擇的顏色將被返回(selectedColor)
if (selectedColor != null) { // 如果用戶(hù)選擇了顏色(即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包,直接通過(guò)idea編輯器packge即可打包成功。

2.下載安裝JSmooth

JSmooth是一款開(kāi)源的Java應(yīng)用程序,主要用于為Java應(yīng)用程序創(chuàng)建本機(jī)Windows啟動(dòng)器。它可以將Java應(yīng)用程序打包成一個(gè)獨(dú)立的可執(zhí)行文件(.exe),使得用戶(hù)無(wú)需事先安裝Java虛擬機(jī)(JVM)即可直接運(yùn)行Java應(yīng)用程序。JSmooth的優(yōu)點(diǎn)在于它能夠自動(dòng)識(shí)別和利用已安裝的JVM,即使在沒(méi)有安裝JVM的計(jì)算機(jī)上,也可以通過(guò)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)告等功能,方便開(kāi)發(fā)人員進(jìn)行調(diào)試和故障排除。總之,JSmooth是一個(gè)非常實(shí)用的工具,它可以幫助開(kāi)發(fā)人員將Java應(yīng)用程序更加便捷地部署到Windows操作系統(tǒng)中,同時(shí)也提供了許多額外的功能來(lái)優(yōu)化和監(jiān)控Java應(yīng)用程序的運(yùn)行狀態(tài)。

3.雙擊打開(kāi)JSmooth

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

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

6.選擇主類(lèi)的類(lèi)型和jar的路徑

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

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

相關(guān)文章

  • 十大常見(jiàn)Java String問(wèn)題_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

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

    本文介紹Java中關(guān)于String最常見(jiàn)的10個(gè)問(wèn)題,需要的朋友參考下吧
    2017-04-04
  • Jmeter線(xiàn)程組傳參原理解析

    Jmeter線(xiàn)程組傳參原理解析

    這篇文章主要介紹了jmeter線(xiàn)程組傳參原理解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • 最新評(píng)論