欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java圖形界面之JFrame,JLabel,JButton詳解

 更新時(shí)間:2021年04月27日 14:33:35   作者:Ragel  
這篇文章主要介紹了Java圖形界面之JFrame、JLabel、JButton詳解,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)java的小伙伴們有非常好的幫助,需要的朋友可以參考下

一、JFrame

package Demo03;

import javax.swing.*;
import java.awt.*;

public class JFrame01 {
    public static void main(String[] args) {
        JFrame f = new JFrame("第一個(gè)Swing窗體");
        Dimension d = new Dimension(); // 創(chuàng)建一個(gè)Dimension 對(duì)象,通過(guò)設(shè)置這個(gè)對(duì)象去達(dá)到改變Frame窗體大小的目的
        d.setSize(230,80); // set方法設(shè)置d對(duì)象大小
        f.setSize(d); // 這里就是通過(guò)設(shè)置JFrame的大小為Dimension的大小的方法,去達(dá)到改變大小的目的
        f.setBackground(Color.WHITE); // 設(shè)置顏色
        Point p = new Point(300,200); // 設(shè)置坐標(biāo)點(diǎn),原理一樣
        f.setLocation(p); // 原理一樣,因?yàn)樵O(shè)置的點(diǎn)是窗體的左上角,所以這么設(shè)置即可
        f.setVisible(true); // 讓窗體顯示

        /*
            窗體首先需要能夠顯示出來(lái)
            //f.setVisible(true);
            以上便能夠使窗體顯示出來(lái)

            然后是窗體的 大小以及位置,也就是約束
            //f.setSize() 和 f.setLocation() 可以改變其大小和位置,也就是建立約束

            其他的設(shè)置如底色等,如果缺省,會(huì)是白色
            //f.setBackground(Color.WHITE);
         */
    }
}

代碼截圖:

JFrame代碼截圖

JFrame實(shí)例運(yùn)行結(jié)果

運(yùn)行結(jié)果:

照著代碼敲一遍,然后注釋掉一部分代碼,查看報(bào)錯(cuò)提示或者運(yùn)行結(jié)果

從這個(gè)角度去學(xué)習(xí)也是可以的

二、JLabel

package Demo03;

import javax.swing.*;
import java.awt.*;

public class JFrame02 {
    public static void main(String args[]){
        JFrame frame = new JFrame("Welcome to Libra's learning space."); // 實(shí)例化窗口對(duì)象,這里主要是設(shè)置顯示文字內(nèi)容
        JLabel lab = new JLabel("It is inside of learning space.",JLabel.CENTER); // 實(shí)例化標(biāo)簽文本,這里主要是設(shè)置顯示文字內(nèi)容

        frame.add(lab); // 將標(biāo)簽添加進(jìn)窗口
        frame.setSize(500,300); // 設(shè)置窗口大小
        frame.setBackground(Color.WHITE); // 設(shè)置窗口底色
        frame.setLocation(300,200); // 設(shè)置窗口位置
        frame.setVisible(true); // 設(shè)置窗口顯示

        /*
            其他的組件需要通過(guò)添加才能夠在窗口上
            //frame.add(lab);

            這里傳入了兩個(gè)參數(shù),一個(gè)是文本內(nèi)容,一個(gè)是文本樣式,其中選擇了居中,可以通過(guò)拖動(dòng)窗口來(lái)檢查是否居中
            //JLabel lab = new JLabel("It is inside of learning space.",JLabel.CENTER);

            在java中,所有的東西都是對(duì)象,所以都需要先實(shí)例化,也就是new一個(gè)出來(lái),然后通過(guò)設(shè)置這個(gè)實(shí)例化后的對(duì)象進(jìn)行使用
            其他的與上一張基本一致,這里不再贅述
         */
    }
}

代碼截圖:

JLabel代碼截圖

運(yùn)行結(jié)果:

JLabel實(shí)例運(yùn)行結(jié)果

三、JButton

package Demo03;

import javax.swing.*;
import java.awt.*;

public class JFrame03 {
    public static void main(String args[]){
        JFrame frame = new JFrame("Welcome to Libra's learning space."); // 實(shí)例化窗口對(duì)象,這里主要是設(shè)置顯示文字內(nèi)容
        JButton but = new JButton("It is Button."); // 實(shí)例化按鈕
        JLabel lab = new JLabel("This is Libra's learning space.",JLabel.CENTER); // 實(shí)例化標(biāo)簽對(duì)象

        frame.add(but); // 將按鈕添加進(jìn)窗口
        frame.add(lab); // 將標(biāo)簽添加進(jìn)窗口
        frame.setSize(500,300); // 設(shè)置窗口大小
        frame.setBackground(Color.WHITE); // 設(shè)置窗口底色
        frame.setLocation(300,200); // 設(shè)置窗口位置
        frame.setVisible(true); // 設(shè)置窗口顯示

        but.setBounds(0,0,100,50); // 設(shè)置按鈕大小及位置
        lab.setBounds(0,0,50,50);

        /*
            實(shí)例化標(biāo)簽組件是為了不讓按鈕默認(rèn)樣式生效,當(dāng)只有一個(gè)按鈕組件的時(shí)候,默認(rèn)填滿(mǎn)整個(gè)窗口,讀者可以自己手動(dòng)嘗試一下,復(fù)制了代碼后將標(biāo)簽相關(guān)的代碼注釋掉

            四個(gè)值都為int類(lèi)型,分別是位置和大小
            // but.setBounds(x,y,width,height);


            按鈕的顯示文本可以像示例中這樣實(shí)例化時(shí)設(shè)置,也可以稍后設(shè)置
            下面第一行和后兩行的效果是一樣的,讀者可以手動(dòng)嘗試一下
            // JButton but = new JButton("It is Button.");
            // JButton but = new JButton();
            // but.setLabel("It is Button.");

            其他的與前幾張相差不大,這里不做贅述

         */
    }
}

代碼截圖:

JButton代碼截圖

運(yùn)行結(jié)果:

JButton實(shí)例運(yùn)行結(jié)果

四、小結(jié)

想要達(dá)到圖形化界面,那目的就是展示一些什么,例如圖片,文字等。

而這些不能憑空產(chǎn)生,需要有一個(gè)能夠裝載其的容器,也就是窗口,接下來(lái)需要展示的內(nèi)容都會(huì)在這個(gè)窗口上,窗口里。

窗口可以顯示出來(lái),但是計(jì)算機(jī)不知道會(huì)是什么樣的,所以需要我們自己去設(shè)定其樣式。

樣式的設(shè)定可以缺省,一般來(lái)講缺省了不會(huì)報(bào)錯(cuò),因?yàn)槠渲皇怯幸粋€(gè)默認(rèn)值,所以缺省了會(huì)設(shè)定為默認(rèn)值,例如窗口底色,大小,位置

窗口的形狀等都可以自己去設(shè)定,具體的可以查閱官方文檔主動(dòng)學(xué)習(xí)

JLabel中不止可以設(shè)置文字,還可以設(shè)置圖片,將圖像數(shù)據(jù)以byte數(shù)組的形式設(shè)置上去

那既然JLabel可以,JButton上也是可以的,具體的可以查閱官方文檔了解

到此這篇關(guān)于Java圖形界面之JFrame、JLabel、JButton詳解的文章就介紹到這了,更多相關(guān)Java JFrame、JLabel、JButton內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 基于resty?security的Api權(quán)限控制與事務(wù)支持

    基于resty?security的Api權(quán)限控制與事務(wù)支持

    這篇文章主要為大家介紹了基于resty?security的Api權(quán)限控制與事務(wù)支持讓數(shù)據(jù)操作處于事務(wù)控制下,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2022-03-03
  • JAVA版排序算法之快速排序示例

    JAVA版排序算法之快速排序示例

    這篇文章主要介紹了JAVA版排序算法之快速排序,結(jié)合實(shí)例形式分析了基于java版的遍歷、遞歸實(shí)現(xiàn)快速排序功能的具體步驟與操作技巧,需要的朋友可以參考下
    2017-01-01
  • 基于多網(wǎng)卡環(huán)境下Eureka服務(wù)注冊(cè)IP的選擇問(wèn)題

    基于多網(wǎng)卡環(huán)境下Eureka服務(wù)注冊(cè)IP的選擇問(wèn)題

    這篇文章主要介紹了基于多網(wǎng)卡環(huán)境下Eureka服務(wù)注冊(cè)IP的選擇問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Spring Framework遠(yuǎn)程代碼執(zhí)行漏洞分析(最新漏洞)

    Spring Framework遠(yuǎn)程代碼執(zhí)行漏洞分析(最新漏洞)

    Spring Framework 是一個(gè)開(kāi)源應(yīng)用框架,旨在降低應(yīng)用程序開(kāi)發(fā)的復(fù)雜度,它具有分層體系結(jié)構(gòu),允許用戶(hù)選擇組件,同時(shí)還為 J2EE 應(yīng)用程序開(kāi)發(fā)提供了一個(gè)有凝聚力的框架,對(duì)Spring遠(yuǎn)程代碼執(zhí)行漏洞相關(guān)知識(shí)感興趣的朋友一起看看吧
    2022-04-04
  • Java中如何將list轉(zhuǎn)為樹(shù)形結(jié)構(gòu)

    Java中如何將list轉(zhuǎn)為樹(shù)形結(jié)構(gòu)

    這篇文章主要介紹了Java中如何將list轉(zhuǎn)為樹(shù)形結(jié)構(gòu),本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-09-09
  • Java ArrayList的不同排序方法

    Java ArrayList的不同排序方法

    這篇文章主要介紹了Java ArrayList的不同排序方法,感興趣的小伙伴們可以參考一下
    2015-12-12
  • SpringBoot?+DynamicDataSource切換多數(shù)據(jù)源的全過(guò)程

    SpringBoot?+DynamicDataSource切換多數(shù)據(jù)源的全過(guò)程

    這篇文章主要介紹了SpringBoot?+DynamicDataSource切換多數(shù)據(jù)源的全過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • SpringAop @Aspect織入不生效,不執(zhí)行前置增強(qiáng)織入@Before方式

    SpringAop @Aspect織入不生效,不執(zhí)行前置增強(qiáng)織入@Before方式

    這篇文章主要介紹了SpringAop @Aspect織入不生效,不執(zhí)行前置增強(qiáng)織入@Before方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Spring Boot報(bào)錯(cuò):No session repository could be auto-configured, check your configuration的解決方法

    Spring Boot報(bào)錯(cuò):No session repository could be auto-configured

    這篇文章主要給大家介紹了關(guān)于Spring Boot報(bào)錯(cuò):No session repository could be auto-configured, check your configuration的解決方法,文中給出了詳細(xì)的解決方法,對(duì)遇到這個(gè)問(wèn)題的朋友們具有一定參考價(jià)值,需要的朋友下面來(lái)一起看看吧。
    2017-07-07
  • SpringMVC 中文亂碼的解決方案

    SpringMVC 中文亂碼的解決方案

    這篇文章主要介紹了SpringMVC 中文亂碼的解決方案,幫助大家更好的理解和學(xué)習(xí)使用SpringMVC,感興趣的朋友可以了解下
    2021-04-04

最新評(píng)論