国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

java使用swing制作桌面圖形應(yīng)用的實例教程

這篇具有很好參考價值的文章主要介紹了java使用swing制作桌面圖形應(yīng)用的實例教程。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

本篇文章主要講解,java編程語言通過swing制作桌面圖形應(yīng)用的實例教程,通過一個簡單的個人信息提交表單界面,讓你了解swing的布局管理、窗口圖標設(shè)置、編譯和運行以及窗口菜單的設(shè)置。
日期:2023年8月25日

實際效果

java使用swing制作桌面圖形應(yīng)用的實例教程,Java,java,python,開發(fā)語言
彈出新窗口幫助文檔界面:
java使用swing制作桌面圖形應(yīng)用的實例教程,Java,java,python,開發(fā)語言
說明:設(shè)置新窗口圖標和主窗口一致,也可在新窗口設(shè)置布局,同主窗口的配置方式。

代碼實例

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.Desktop;
import java.net.URI;

public class MainWindow extends JFrame {
    public MainWindow() {
        setTitle("簡易swing個人信息填寫,多菜單界面demo實例");
        setSize(400, 300);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setLayout(new BorderLayout());
        setLocation(200, 100);

        // 設(shè)置任務(wù)欄圖標
        Image taskbarIcon = Toolkit.getDefaultToolkit().getImage("E:\\develop\\cursor\\java\\icon.png");
        setIconImage(taskbarIcon);


        // 創(chuàng)建菜單欄
        JMenuBar menuBar = new JMenuBar();
        setJMenuBar(menuBar);

        // 創(chuàng)建官網(wǎng)菜單項
        JMenuItem websiteMenuItem = new JMenuItem("官網(wǎng)");
        websiteMenuItem.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                openWebsite();
            }
        });

        // 創(chuàng)建幫助菜單項
        JMenuItem helpMenuItem = new JMenuItem("幫助");
        helpMenuItem.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                showHelpWindow();
            }
        });

        // 將菜單項添加到菜單欄
        JMenu menu = new JMenu("菜單");
        menuBar.add(menu);
        menu.add(websiteMenuItem);
        menu.add(helpMenuItem);

        // 創(chuàng)建個人信息填寫表單
        JPanel formPanel = new JPanel(new GridBagLayout());
        GridBagConstraints constraints = new GridBagConstraints();
        constraints.anchor = GridBagConstraints.WEST;

        JLabel nameLabel = new JLabel("姓名:");
        JTextField nameTextField = new JTextField(20);

        JLabel genderLabel = new JLabel("性別:");
        JRadioButton maleRadioButton = new JRadioButton("男");
        JRadioButton femaleRadioButton = new JRadioButton("女");
        ButtonGroup genderButtonGroup = new ButtonGroup();
        genderButtonGroup.add(maleRadioButton);
        genderButtonGroup.add(femaleRadioButton);

        JLabel hobbyLabel = new JLabel("愛好:");
        JCheckBox javaCheckBox = new JCheckBox("Java");
        JCheckBox pythonCheckBox = new JCheckBox("Python");
        JCheckBox cSharpCheckBox = new JCheckBox("C#");

        JLabel introLabel = new JLabel("簡介:");
        JTextArea introTextArea = new JTextArea(5, 20);

        JLabel dropdownLabel = new JLabel("下拉:");
        String[] dropdownOptions = {"不內(nèi)卷", "規(guī)避競爭的最好方法是避免競爭", "養(yǎng)生上班才好"};
        JComboBox<String> dropdownComboBox = new JComboBox<>(dropdownOptions);

        JButton submitButton = new JButton("提交");
        submitButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                submitForm(nameTextField.getText(), maleRadioButton.isSelected(),
                        javaCheckBox.isSelected(), pythonCheckBox.isSelected(),
                        cSharpCheckBox.isSelected(), introTextArea.getText(),
                        dropdownComboBox.getSelectedItem().toString());
            }
        });
		//設(shè)置布局
        constraints.gridx = 0;//設(shè)置x坐標
        constraints.gridy = 0;//設(shè)置y坐標
        formPanel.add(nameLabel, constraints);//添加組件

        constraints.gridx = 1;
        constraints.gridwidth = 3;//設(shè)置寬度
        formPanel.add(nameTextField, constraints);

        constraints.gridx = 0;
        constraints.gridy = 1;
        formPanel.add(genderLabel, constraints);

        constraints.gridx = 1;
        formPanel.add(maleRadioButton, constraints);

        constraints.gridx = 2;
        formPanel.add(femaleRadioButton, constraints);

        constraints.gridx = 0;
        constraints.gridy = 2;
        formPanel.add(hobbyLabel, constraints);

        constraints.gridx = 1;
        constraints.gridwidth = 1;
        formPanel.add(javaCheckBox, constraints);

        constraints.gridx = 2;
        constraints.gridwidth = 1;
        formPanel.add(pythonCheckBox, constraints);

        constraints.gridx = 3;
        constraints.gridwidth = 1;
        formPanel.add(cSharpCheckBox, constraints);

        constraints.gridx = 0;
        constraints.gridy = 3;
        formPanel.add(introLabel, constraints);

        constraints.gridx = 1;
        constraints.gridwidth = 3;
        formPanel.add(introTextArea, constraints);

        constraints.gridx = 0;
        constraints.gridy = 4;
        formPanel.add(dropdownLabel, constraints);

        constraints.gridx = 1;
        constraints.gridwidth = 3;
        formPanel.add(dropdownComboBox, constraints);

        constraints.gridx = 5;
        constraints.gridy = 6;
        constraints.gridwidth = 4;
        formPanel.add(submitButton, constraints);

        add(formPanel, BorderLayout.CENTER);

        setVisible(true);
    }
	//打開官網(wǎng)
    private void openWebsite() {
        int result = JOptionPane.showConfirmDialog(this, "點擊確認即可打開www.youqiong.net", "打開官網(wǎng)", JOptionPane.OK_CANCEL_OPTION, JOptionPane.INFORMATION_MESSAGE);
        if (result == JOptionPane.OK_OPTION) {
            try {
                URI uri = new URI("https://www.youqiong.net");
                Desktop desktop = Desktop.getDesktop();
                if (desktop.isSupported(Desktop.Action.BROWSE)) {
                    desktop.browse(uri);
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
	//顯示新窗口
    private void showHelpWindow() {
        JFrame helpWindow = new JFrame();
        JScrollPane scrollPane = new JScrollPane();
        JTextPane textPane = new JTextPane();
        StringBuilder content = new StringBuilder();
        for (int i = 1; i <= 200; i++) {
            content.append(i).append("\n");
        }
        textPane.setText(content.toString());
        scrollPane.setViewportView(textPane);
        helpWindow.add(scrollPane);
        helpWindow.setTitle("幫助窗口");
        helpWindow.setSize(400, 300);
        helpWindow.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        helpWindow.setVisible(true);
    }
	//彈出表單信息
    private void submitForm(String name, boolean isMale, boolean hasJavaHobby,
                            boolean hasPythonHobby, boolean hasCSharpHobby,
                            String intro, String selectedOption) {
        JOptionPane.showMessageDialog(this, "姓名:" + name + "\n"
                + "性別:" + (isMale ? "男" : "女") + "\n"
                + "愛好:" + (hasJavaHobby ? "Java " : "") + "\n"
                + "      " + (hasPythonHobby ? "Python " : "") + "\n"
                + "      " + (hasCSharpHobby ? "C#" : "") + "\n"
                + "個人簡介:" + intro + "\n"
                + "下拉框選項:" + selectedOption, "個人基本信息", JOptionPane.INFORMATION_MESSAGE);
    }
	//實例化窗口
    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                new MainWindow();
            }
        });
    }
}

執(zhí)行代碼說明

1.記得先編譯,中文用utf-8


javac -encoding UTF-8 MainWindow.java

2.執(zhí)行命令輸入如下即可

java MainWindow

end:輸入后按回車即可彈出最初的窗口效果。文章來源地址http://www.zghlxwxcb.cn/news/detail-673868.html

到了這里,關(guān)于java使用swing制作桌面圖形應(yīng)用的實例教程的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 《java 桌面軟件開發(fā)》swing 以鼠標為中心放大縮小移動圖片

    《java 桌面軟件開發(fā)》swing 以鼠標為中心放大縮小移動圖片

    swing 使用Graphic2D 繪制圖片,要實現(xiàn)對圖片進行縮放和自由拖動。 1.以鼠標所在的位置為中心,滾輪控制縮放 2.縮放后再支持鼠標拖動。 基本原理: 利用scale() 函數(shù)。進行縮放。但是要注意的地方是,如果是在?public void paintComponent(Graphics g) 里面通過這個Graphics g 參數(shù)獲取gra

    2024年02月06日
    瀏覽(29)
  • Java Swing花樣玩法:教你用代碼制作六一兒童節(jié)的精美賀卡(簡單版)

    Java Swing花樣玩法:教你用代碼制作六一兒童節(jié)的精美賀卡(簡單版)

    ? 博主: 命運之光 ? 專欄: Java經(jīng)典程序設(shè)計 前言:這篇博客在打開可能會自動播放視頻,視頻有音樂,請及時靜音哈?? ? 目錄 ?前言 ?引言 ?簡單介紹一下Javaswing這項技術(shù)簡單介紹一下Javaswing這項技術(shù)(選讀,感興趣的可以了解一下哈(●\\\'?\\\'●)) ?程序展示 ?視頻

    2024年02月07日
    瀏覽(19)
  • 如何使用Java進行桌面應(yīng)用的開發(fā)?

    使用Java進行桌面應(yīng)用的開發(fā)可以借助JavaFX或Swing框架。下面為你提供一些基本的步驟: 安裝Java開發(fā)工具包(JDK):首先,確保你已經(jīng)安裝了Java開發(fā)工具包(JDK),并正確配置了環(huán)境變量。 選擇GUI框架:Java提供了兩個主要的桌面GUI框架:JavaFX和Swing。JavaFX是Oracle推薦的最新的

    2024年02月09日
    瀏覽(26)
  • Python開發(fā)第一步:如何制作一個簡單的桌面應(yīng)用

    Python開發(fā)第一步:如何制作一個簡單的桌面應(yīng)用

    大家好,我是baifagg, 一個熱愛Python的編程愛好者。 今天我們來學習一下, 如何用Python制作一個簡單的桌面應(yīng)用程序。 雖然桌面應(yīng)用程序開發(fā)并不是Python的主要領(lǐng)域, 但是它也有很多優(yōu)秀的庫和工具, 可以幫助我們快速實現(xiàn)想法。 所以不妨跟我一起來探索一下Python的魅力

    2024年02月15日
    瀏覽(33)
  • java swing(GUI) MySQL實現(xiàn)的視頻播放器系統(tǒng)源碼+運行教程

    java swing(GUI) MySQL實現(xiàn)的視頻播放器系統(tǒng)源碼+運行教程

    今天給大家演示一下由Java swing實現(xiàn)的一款簡單的多媒體播放器,項目源碼我會放在我的網(wǎng)站上,并配有視頻配置教程,保證運行起來的。這個小播放器實現(xiàn)了視頻、音頻文件的播放、暫停、快進、快退、停止、全屏等功能,還有歷史記錄功能,調(diào)用的是vcl庫的播放內(nèi)核。接下

    2023年04月08日
    瀏覽(21)
  • 【新手教程】如何在Win11上制作一個模仿MacOS的桌面?

    【新手教程】如何在Win11上制作一個模仿MacOS的桌面?

    起因是早上蹲坑的時候偶然間在小紅書上刷到一篇文章,看了下效果圖感覺還不錯,所以按照文章作者的流程來了一遍。過程中也遇到了一些小問題,正好放假了有空就寫一篇文章記錄一下。先放一下效果: Dock欄是啥玩意?作為一個不熟悉蘋果操作系統(tǒng)的用戶,沒見過這個

    2024年02月06日
    瀏覽(23)
  • 【Java】Java使用Swing實現(xiàn)一個模擬計算器(有源碼)

    【Java】Java使用Swing實現(xiàn)一個模擬計算器(有源碼)

    ? ???個人主頁:哈__ 期待您的關(guān)注? 今天翻了翻之前寫的代碼,發(fā)現(xiàn)自己之前還寫了一個計算器,今天把我之前寫的代碼分享出來。 ?我記得那會兒剛學不會寫,寫的亂七八糟,但拿來當期末作業(yè)還是不錯的哈哈。 直接上源碼,后上講解。 計算器上的按鍵不少,我們都定

    2024年04月11日
    瀏覽(92)
  • Java——一個使用Java Swing實現(xiàn)的考試系統(tǒng)的窗體類

    Java——一個使用Java Swing實現(xiàn)的考試系統(tǒng)的窗體類

    這是一個使用Java Swing實現(xiàn)的考試系統(tǒng)的窗體類。主要包括菜單欄、題目內(nèi)容、選項、按鈕等組件,并且實現(xiàn)了開始考試、上一題、下一題和提交按鈕的功能。 在窗體的構(gòu)造方法中,設(shè)置了窗體的標題、大小和位置,并調(diào)用了init方法和setVisible方法。init方法用于設(shè)置初始界面

    2024年02月11日
    瀏覽(104)
  • 如何使用VNC實現(xiàn)Win系統(tǒng)遠程桌面Ubuntu圖形化界面【內(nèi)網(wǎng)穿透】

    如何使用VNC實現(xiàn)Win系統(tǒng)遠程桌面Ubuntu圖形化界面【內(nèi)網(wǎng)穿透】

    前些天發(fā)現(xiàn)了一個巨牛的人工智能學習網(wǎng)站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉(zhuǎn)到網(wǎng)站 前言 實現(xiàn)ubuntu 系統(tǒng)桌面級別的遠程連接,需要在ubuntu 系統(tǒng)中安裝vnc,既然是桌面,前提是需要ubuntu 帶有圖形化界面,如果沒有,可以執(zhí)行以下命令安裝圖形化界面 1. ubun

    2024年01月19日
    瀏覽(36)
  • PySimpleGUI:使用 Python 輕松制作一個圖形界面(GUI)

    PySimpleGUI:使用 Python 輕松制作一個圖形界面(GUI)

    大家好,GUI(圖形用戶界面),顧名思義就是用圖形的方式,來顯示計算機操作的界面,更加方便且直觀。 一個好看又好用的GUI,可以大大提高大家的使用體驗,提高效率。比如你想開發(fā)一個計算器,如果只是一個程序輸入,輸出窗口的話,是沒有用戶體驗的。所以開發(fā)一個圖

    2024年02月16日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包