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

Java有趣好玩的圖形界面開發(fā)八個(gè)案例實(shí)現(xiàn)

 更新時(shí)間:2022年05月17日 08:57:05   作者:orangemilk_  
今天使用GUI技術(shù)寫了幾個(gè)練習(xí)的Demo,希望對(duì)大家學(xué)習(xí)圖形用戶界面有所幫助,感興趣的同學(xué)來看看吧,動(dòng)手敲一遍理解更通透

雖然GUI技術(shù)沒有很大的市場,甚至很多初學(xué)者放棄學(xué)習(xí)GUI,但是學(xué)習(xí)GUI編程的過程對(duì)于提高編程興趣,深入理解Java編程有很大的作用。效果圖如下,加油吧??!

1.復(fù)選框和單選框按鈕組

—在框架窗口中加入復(fù)選框和單選框按鈕組

import javax.swing.*;
public class App extends JFrame{
    static JFrame jFrame=new JFrame("復(fù)選框和單選組按鈕選取框");
    static JCheckBox jCheckBox1=new JCheckBox("粗體",true);
    static JCheckBox jCheckBox2=new JCheckBox("斜體");
    static JCheckBox jCheckBox3=new JCheckBox("下劃線");
    static JRadioButton jRadioButton1=new JRadioButton("紅色",true);
    static JRadioButton jRadioButton2=new JRadioButton("綠色",true);
    static JRadioButton jRadioButton3=new JRadioButton("藍(lán)色");
    public static void main(String[] args) {
        ButtonGroup buttonGroup=new ButtonGroup();
        jFrame.setLocation(200,150);
        jFrame.setSize(300,220);
        jFrame.setLayout(null);
        jCheckBox1.setBounds(20,20,50,20);
        jCheckBox2.setBounds(20,40,50,20);
        jCheckBox3.setBounds(20,60,70,20);
        jRadioButton1.setBounds(40,100,50,20);
        jRadioButton2.setBounds(40,120,50,20);
        jRadioButton3.setBounds(40,140,50,20);
        jFrame.add(jCheckBox1);
        jFrame.add(jCheckBox2);
        jFrame.add(jCheckBox3);
        buttonGroup.add(jRadioButton1);
        buttonGroup.add(jRadioButton2);
        buttonGroup.add(jRadioButton3);
        jFrame.add(jRadioButton1);
        jFrame.add(jRadioButton2);
        jFrame.add(jRadioButton3);
        jFrame.setDefaultCloseOperation(EXIT_ON_CLOSE);
        jFrame.setVisible(true);
    }
}

2.文本編輯組件和滾動(dòng)窗格

—設(shè)置文本編輯組件和滾動(dòng)窗格

import javax.swing.*;
public class App extends JFrame{
    JTextField jTextField=new JTextField("該文本框不可編輯",30);
    static JPasswordField jPasswordField=new JPasswordField("HelloWorld",30);
    public App(String str){
        super(str);
        jTextField.setBounds(20,40,140,20);
        jTextField.setEditable(false);
        add(jTextField);
    }
    public static void main(String[] args) {
        App jFrame=new App("文本編輯功能窗口");
        JTextArea jTextArea=new JTextArea("你好",10,30);
        JScrollPane jScrollPane=new JScrollPane(jTextArea);
        jFrame.setLocation(200,150);
        jFrame.setSize(240,220);
        jFrame.setLayout(null);
        jScrollPane.setBounds(20,70,160,100);
        jPasswordField.setBounds(20,10,140,10);
        jFrame.add(jPasswordField);
        jFrame.add(jScrollPane);
        char[] passWorld=jPasswordField.getPassword();
        String str=new String(passWorld);
        System.out.println("密碼是:"+passWorld+"轉(zhuǎn)換后"+str);
        jFrame.setVisible(true);
        jFrame.setResizable(false);
        jFrame.setDefaultCloseOperation(EXIT_ON_CLOSE);
    }
}

輸出結(jié)果:密碼是:[C@370736d9轉(zhuǎn)換后HelloWorld

3.多個(gè)選項(xiàng)卡設(shè)置

—在窗口中放一個(gè)選項(xiàng)卡窗格,并在選項(xiàng)卡窗格中加入若干選項(xiàng)卡,每個(gè)選項(xiàng)卡中放置一個(gè)帶圖像的標(biāo)簽組件。

import javax.swing.*;
public class App extends JFrame {
    public App(){
        JLabel[] jLabels=new JLabel[6];
        Icon pic;
        String title;
        for(int i=1;i<=5;i++){
            pic=new ImageIcon("images\\t"+i+".png");
            jLabels[i]=new JLabel();
            jLabels[i].setIcon(pic);
            title="第"+i+"頁";
            jTabbedPane.add(title,jLabels[i]);
        }
        this.add(jTabbedPane);
    }
    JTabbedPane jTabbedPane=new JTabbedPane(JTabbedPane.TOP);
    public static void main(String[] args) {
        App jFrame=new App();
        jFrame.setTitle("選項(xiàng)卡的應(yīng)用");
        jFrame.setSize(300,300);
        jFrame.setDefaultCloseOperation(EXIT_ON_CLOSE);
        jFrame.setVisible(true);
    }
}

4.在框架窗口中加入面板

import javax.swing.*;
import javax.swing.border.TitledBorder;
public class App {
    public static void main(String[] args) {
        JFrame jFrame=new JFrame("我的框架");
        jFrame.setSize(210,180);
        jFrame.setLocation(500,400);
        JPanel jPanel=new JPanel();
        jPanel.setSize(120,90);
        jPanel.setLocation(40,30);
        JButton jButton=new JButton("點(diǎn)擊我");
        jButton.setSize(80,20);
        jButton.setLocation(20,30);
        jFrame.setLayout(null);
        jPanel.setLayout(null);
        jPanel.add(jButton);
        jPanel.setBorder(new TitledBorder("面板區(qū)"));
        jFrame.add(jPanel);
        jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        jFrame.setVisible(true);
    }
}

5.在窗口中加入標(biāo)簽

—在窗口中加入標(biāo)簽,并設(shè)置框架的背景色及標(biāo)簽上文字的顏色和字體。

import javax.swing.*;
import java.awt.*;
public class App {
 public static void main(String[] args) {
  JFrame jFrame=new JFrame("標(biāo)簽類窗口");
  JLabel jLabel=new JLabel("我是一個(gè)標(biāo)簽",JLabel.CENTER);//創(chuàng)建標(biāo)簽類對(duì)象
  jFrame.setLayout(null);//取消默認(rèn)布局管理器
  jFrame.setSize(300,200);//設(shè)置窗口的大小
  Container c=jFrame.getContentPane();//獲取內(nèi)容窗格
  c.setBackground(Color.CYAN);//設(shè)置窗口的背景色
  jLabel.setOpaque(true);//設(shè)置標(biāo)簽為不透明
  jLabel.setBackground(Color.RED);//設(shè)置標(biāo)簽的背景色
  jLabel.setForeground(Color.YELLOW);//設(shè)置標(biāo)簽的前景色
  jLabel.setLocation(80,60);
  jLabel.setSize(130,30);
  Font font=new Font("楷體",Font.PLAIN,20);//創(chuàng)建字體對(duì)象
  jLabel.setFont(font);//設(shè)置標(biāo)簽上的字體
  jFrame.add(jLabel);
  jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
  jFrame.setVisible(true);
 }
}

6.框架中加入指定大小的標(biāo)簽

—在框架中加入指定大小的標(biāo)簽,并設(shè)置當(dāng)鼠標(biāo)懸停在標(biāo)簽上時(shí)給出相應(yīng)的提示信息。

import javax.swing.*;
import java.awt.*;
public class App {
 public static void main(String[] args) {
  JFrame jFrame=new JFrame("標(biāo)簽類窗口");
  JLabel jLabel=new JLabel("我是一個(gè)標(biāo)簽",JLabel.CENTER);//創(chuàng)建標(biāo)簽類對(duì)象
  jFrame.setLayout(null);//取消默認(rèn)布局管理器
  jFrame.setSize(300,200);//設(shè)置窗口的大小
  Container c=jFrame.getContentPane();//獲取內(nèi)容窗格
  c.setBackground(Color.CYAN);//設(shè)置窗口的背景色
  jLabel.setOpaque(true);//設(shè)置標(biāo)簽為不透明
  jLabel.setBackground(Color.RED);//設(shè)置標(biāo)簽的背景色
  jLabel.setForeground(Color.YELLOW);//設(shè)置標(biāo)簽的前景色
  jLabel.setLocation(80,60);
  jLabel.setSize(130,30);
  jLabel.setToolTipText("我被設(shè)置為不透明");
  Font font=new Font("楷體",Font.PLAIN,20);//創(chuàng)建字體對(duì)象
  jLabel.setFont(font);//設(shè)置標(biāo)簽上的字體
  jFrame.add(jLabel);
  jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
  jFrame.setVisible(true);
 }
}

7.在框架窗口中加入按鈕

import javax.swing.*;
import java.awt.*;
public class App extends JFrame {
 public static void main(String[] args) {
  App jFrame=new App();
  jFrame.setDefaultCloseOperation(EXIT_ON_CLOSE);
  ImageIcon icon=new ImageIcon("images\\java.png");
  JButton jButton=new JButton();
  jButton.setText("選擇");
  jButton.setIcon(icon);
  jFrame.setLayout(null);
  jFrame.setSize(200,180);
  jFrame.setTitle("按鈕類窗口");
  jButton.setBounds(50,45,100,40);
  jButton.setToolTipText("我是按鈕");
  jFrame.add(jButton);
  jFrame.setVisible(true);
 }
}

8.框架窗口的創(chuàng)建

import javax.swing.*;
import java.awt.*;
public class App {
    static JFrame jFrame = new JFrame("這是一個(gè)Swing程序");//創(chuàng)建靜態(tài)框架并設(shè)置標(biāo)題
    public static void main(String[] args) {
        JLabel label = new JLabel("我是一個(gè)標(biāo)簽");//創(chuàng)建一個(gè)標(biāo)簽對(duì)象
        jFrame.setSize(400, 300);//設(shè)置框架的大小
        Image image=(new ImageIcon("images\\java.jpg")).getImage();//創(chuàng)建圖標(biāo)對(duì)象
        jFrame.setIconImage(image);//設(shè)置窗口的顯示圖標(biāo)
        jFrame.setLocationRelativeTo(null);//設(shè)置窗口的位置
        jFrame.add(label);//將標(biāo)簽對(duì)象加入到窗口中
        jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//單擊窗口的關(guān)閉按鈕,結(jié)束程序
        jFrame.setVisible(true);//設(shè)置窗口可見
    }
}

總結(jié)

  • 圖形用戶界面是應(yīng)用程序與用戶交互的窗口,利用它可以接受用戶的輸入并向用戶輸出程序執(zhí)行的結(jié)果。
  • 圖形用戶界面技術(shù)(GUI)是指用圖形的方式,借助菜單,按鈕等標(biāo)準(zhǔn)界面元素與鼠標(biāo)操作,幫助用戶方便的向計(jì)算機(jī)系統(tǒng)發(fā)出指令,啟動(dòng)操作,并將計(jì)算機(jī)系統(tǒng)運(yùn)行的結(jié)果以圖形的方式顯示給用戶的技術(shù)。
  • Java提供了兩個(gè)處理圖形界面的包:java.awt和javax.swing。其中javax.swing包是java.awt的擴(kuò)展。
  • Javax.swing包中包含組件類,事件類,接口,布局類,菜單類等,其繼承關(guān)系如下:

少年沒有烏托邦,心向遠(yuǎn)方自明朗。與風(fēng)隨行皆理想,遺憾最終皆幻想。

到此這篇關(guān)于Java有趣好玩的圖形界面開發(fā)八個(gè)案例實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Java圖形界面內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java 中 synchronized的用法詳解(四種用法)

    Java 中 synchronized的用法詳解(四種用法)

    Java語言的關(guān)鍵字,當(dāng)它用來修飾一個(gè)方法或者一個(gè)代碼塊的時(shí)候,能夠保證在同一時(shí)刻最多只有一個(gè)線程執(zhí)行該段代碼。本文給大家介紹java中 synchronized的用法,對(duì)本文感興趣的朋友一起看看吧
    2015-11-11
  • SpringBoot整合Spring Data Elasticsearch的過程詳解

    SpringBoot整合Spring Data Elasticsearch的過程詳解

    這篇文章主要介紹了SpringBoot整合Spring Data Elasticsearch的過程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • springboot cloud使用eureka整合分布式事務(wù)組件Seata 的方法

    springboot cloud使用eureka整合分布式事務(wù)組件Seata 的方法

    這篇文章主要介紹了springboot cloud使用eureka整合分布式事務(wù)組件Seata 的方法 ,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-05-05
  • Spring中的依賴注入DI源碼詳細(xì)解析

    Spring中的依賴注入DI源碼詳細(xì)解析

    這篇文章主要介紹了Spring中的依賴注入DI源碼詳細(xì)解析,Spring的依賴注入(Dependency Injection,DI)是Spring框架核心的一部分,它是實(shí)現(xiàn)控制反轉(zhuǎn)(Inversion of Control,IoC)的一種方式,需要的朋友可以參考下
    2023-11-11
  • Java?實(shí)戰(zhàn)項(xiàng)目之學(xué)生信息管理系統(tǒng)的實(shí)現(xiàn)流程

    Java?實(shí)戰(zhàn)項(xiàng)目之學(xué)生信息管理系統(tǒng)的實(shí)現(xiàn)流程

    讀萬卷書不如行萬里路,只學(xué)書上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+SSM+jsp+mysql+maven實(shí)現(xiàn)學(xué)生信息管理系統(tǒng),大家可以在過程中查缺補(bǔ)漏,提升水平
    2021-11-11
  • 解密Spring?Boot深入理解條件裝配與條件注解

    解密Spring?Boot深入理解條件裝配與條件注解

    條件注解是一種特殊的注解,用于標(biāo)記在配置類、組件類或方法上,它們根據(jù)某些條件的結(jié)果來決定是否應(yīng)用相應(yīng)的配置或組件,這篇文章主要介紹了解密Spring?Boot深入理解條件裝配與條件注解,需要的朋友可以參考下
    2024-06-06
  • MyBatis幾種不同類型傳參的方式總結(jié)

    MyBatis幾種不同類型傳參的方式總結(jié)

    這篇文章主要介紹了MyBatis幾種不同類型傳參的方式總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • springboot項(xiàng)目打包并部署到Tomcat上及報(bào)錯(cuò)處理方案

    springboot項(xiàng)目打包并部署到Tomcat上及報(bào)錯(cuò)處理方案

    這篇文章主要介紹了springboot項(xiàng)目打包并部署到Tomcat上及報(bào)錯(cuò)處理方案,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-08-08
  • Servlet實(shí)現(xiàn)簡單的用戶登錄功能實(shí)例代碼

    Servlet實(shí)現(xiàn)簡單的用戶登錄功能實(shí)例代碼

    這篇文章主要給大家介紹了關(guān)于利用Servlet實(shí)現(xiàn)簡單的用戶登錄功能的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • 親手教你IDEA2020.3創(chuàng)建Javaweb項(xiàng)目的步驟詳解

    親手教你IDEA2020.3創(chuàng)建Javaweb項(xiàng)目的步驟詳解

    這篇文章主要介紹了IDEA2020.3創(chuàng)建Javaweb項(xiàng)目的步驟詳解,本文是小編手把手教你,通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2021-03-03

最新評(píng)論

乐东| 大方县| 昌江| 商都县| 蓬溪县| 黄冈市| 宝清县| 嵊泗县| 丰顺县| 洞头县| 阜阳市| 商城县| 吉安县| 乐业县| 上饶县| 津南区| 个旧市| 黄龙县| 曲沃县| 图片| 马鞍山市| 聂荣县| 南昌县| 航空| 筠连县| 平邑县| 长兴县| 南靖县| 汤阴县| 肃南| 周口市| 桂林市| 呼图壁县| 和林格尔县| 台东县| 莱阳市| 临沧市| 武隆县| 萨迦县| 连山| 福贡县|