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

java swing GUI窗口美化方式

 更新時(shí)間:2022年10月31日 17:12:04   作者:ds_surk  
這篇文章主要介紹了java swing GUI窗口美化方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

java swing GUI窗口美化

一般我們寫(xiě)出的窗口是這個(gè)樣子的,文本框和按鈕都不是太美觀,如果按鈕是原色的就更難看了。

今天發(fā)現(xiàn)了一個(gè)更加美觀的窗口模式

可以發(fā)現(xiàn)按鈕和文本框都已經(jīng)有了變化,給窗口潤(rùn)色不少。

其實(shí),只需在調(diào)用程序前加上這段代碼即可。

try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        }catch(Exception e) {
        	System.out.println(e);
        }

如果想改回來(lái)的話,把if語(yǔ)句中的“Nimbus”改為“Windows”就可以了,Java程序默認(rèn)使用Windows模式。

java GUI初步理解

什么是GUI

GUI既圖形用戶界面,是一種以圖形為主體的交互方式。

主要包括AWT組件以及Swing組件以及容器、布局和事件相關(guān)的類(lèi)接口。

AWT是抽象窗口工具包的簡(jiǎn)稱,其中有像窗口、按鈕等組件。而Swing是基于AWT開(kāi)發(fā)的,他的功能更加強(qiáng)大。目前大部分采用swing組件。

容器與布局

容器由Java.awt包提供(AWT中),Swing中由Java.swing包提供。

容器主要包括面板類(lèi)(Panel)、窗口類(lèi)(Window)、結(jié)構(gòu)類(lèi)(Frame)。

容器分為:頂層容器、中間容器、特殊容器。

除頂層容器外,其他兩個(gè)不能單獨(dú)顯示,必須在一定容器中。

添加容器:使用add()方法。

下面讓我們看一個(gè)例子,了解一些其他的方法!

package testasdd;

import java.awt.BorderLayout;

import javax.swing.JButton;
import javax.swing.JFrame;

public class Guione {

?? ?public static void main(String[] args) {
?? ??? ?// TODO Auto-generated method stub
?? ??? ?//創(chuàng)建窗口對(duì)象
? ? ? ? JFrame frm =new JFrame();
? ? ? ? //設(shè)置標(biāo)題
? ? ? ? frm.setTitle("我的世界");
? ? ? ? //設(shè)置布局
? ? ? ? frm.setLayout(new BorderLayout());
? ? ? ? //設(shè)置顯示位置及大小
? ? ? ? frm.setBounds(500, 200, 200, 100);
? ? ? ? //設(shè)置為可顯示的窗口
? ? ? ? frm.setVisible(true);
? ? ? ? //創(chuàng)建按鈕對(duì)象
? ? ? ? JButton but=new JButton("wdwdw");
? ? ? ? //添加按鈕到窗口
? ? ? ? frm.add(but);
? ? ? ? //設(shè)置關(guān)閉方式
? ? ? ? frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
?? ?}
}

面板

面板就是可以將一個(gè)容器的界面分成不同的幾個(gè)部分,有助于美化界面。

JFrame面板默認(rèn)布局管理采用BorderLayout,最多管理五個(gè)組件。

package testasdd;

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

public class Guione {

?? ?public static void main(String[] args) {
?? ??? ?// TODO Auto-generated method stub
?? ??? ?//創(chuàng)建窗口對(duì)象
? ? ? ? JFrame frm =new JFrame();
? ? ? ? //設(shè)置標(biāo)題
? ? ? ? frm.setTitle("我的世界");
? ? ? ? //設(shè)置關(guān)閉方式
? ? ? ? frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
? ? ? ??
? ? ? ? frm.setVisible(true);
? ? ? ??
? ? ? ? JPanel top=new JPanel();
? ? ? ? frm.add(top,BorderLayout.NORTH);
? ? ? ? //設(shè)置提示標(biāo)簽并添加顯示信息
? ? ? ? JLabel show=new JLabel();
? ? ? ? show.setText("TERRARIA");
? ? ? ? //創(chuàng)建輸入框
? ? ? ? JTextField input =new JTextField();
? ? ? ? //設(shè)置為可編輯
? ? ? ? input.setEditable(true);
? ? ? ? //左側(cè)輸入
? ? ? ? input.setHorizontalAlignment(SwingConstants.LEFT);
? ? ? ? //20列
? ? ? ? input.setColumns(20);
? ? ? ? //創(chuàng)建按鈕
? ? ? ? JButton but=new JButton("提交");
? ? ? ? //顯示
? ? ? ? top.add(show);
? ? ? ? top.add(input);
? ? ? ? top.add(but);
?? ?}
}

設(shè)置一個(gè)帶有滾動(dòng)面板的窗體

package testasdd;

import java.awt.*;

import javax.swing.*;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class Guione {

?? ?public static void main(String[] args) {
?? ??? ?JFrame frm=new JFrame();
?? ??? ?frm.setTitle("滾動(dòng)的窗體");
?? ??? ?frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
?? ??? ?
?? ??? ?//創(chuàng)建文本框
?? ??? ?JTextArea ta=new JTextArea();
?? ??? ?//設(shè)置行數(shù)
?? ??? ?ta.setRows(10);
?? ??? ?//設(shè)置列數(shù)
? ? ? ? ta.setColumns(25);
? ? ? ? //設(shè)置初始文本
? ? ? ? ta.setText("我的老家");
? ? ? ? //設(shè)置按鈕
? ? ? ? JButton but=new JButton("就在這個(gè)屯!");
? ? ? ? //創(chuàng)建面板,添加組件
? ? ? ? JPanel p=new JPanel();
? ? ? ? p.add(ta);
? ? ? ? p.add(but);
? ? ? ? //創(chuàng)建滾動(dòng)面板
? ? ? ? JScrollPane sp=new JScrollPane();
? ? ? ? //設(shè)置上面創(chuàng)建的,面板為組件
? ? ? ? sp.setViewportView(p);
? ? ? ? //將滾動(dòng)面板設(shè)置為窗體內(nèi)容面板
? ? ? ? frm.setContentPane(sp);
? ? ? ? frm.setBounds(500,250,300,150);
? ? ? ? frm.setVisible(true);
?? ?}
}

補(bǔ)充

設(shè)置水平或垂直分割的面板

JSplitPane

采用方法

setOrientation(int orientation)
HORIZONAL_SPLIT------>豎直
VERTICAL_SPLIT---------->垂直
-setDividerLocation(double proportionalLocation)

設(shè)置比例

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java 動(dòng)態(tài)模擬操作系統(tǒng)進(jìn)程調(diào)度算法

    Java 動(dòng)態(tài)模擬操作系統(tǒng)進(jìn)程調(diào)度算法

    這篇文章主要介紹了采用java語(yǔ)言編程模擬N個(gè)進(jìn)程采用動(dòng)態(tài)高優(yōu)先權(quán)優(yōu)先進(jìn)程調(diào)度算法。文中代碼具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以了解一下
    2021-12-12
  • JavaWeb文件上傳下載功能示例解析

    JavaWeb文件上傳下載功能示例解析

    這篇文章主要介紹了JavaWeb中的文件上傳和下載功能的實(shí)現(xiàn),文件上傳和下載功能是非常常用的功能,需要的朋友可以參考下
    2016-06-06
  • 完美解決Spring Boot前端的Access-Control-Allow-Origin跨域問(wèn)題

    完美解決Spring Boot前端的Access-Control-Allow-Origin跨域問(wèn)題

    這篇文章主要介紹了完美解決Spring Boot前端的Access-Control-Allow-Origin跨域問(wèn)題,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-05-05
  • Spring Boot 2.X 快速集成單元測(cè)試解析

    Spring Boot 2.X 快速集成單元測(cè)試解析

    這篇文章主要介紹了Spring Boot 2.X 快速集成單元測(cè)試解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • 詳解Java8?CompletableFuture的并行處理用法

    詳解Java8?CompletableFuture的并行處理用法

    Java8中有一個(gè)工具非常有用,那就是CompletableFuture,本章主要講解CompletableFuture的并行處理用法,感興趣的小伙伴可以了解一下
    2022-04-04
  • Spring Integration 實(shí)現(xiàn)消息驅(qū)動(dòng)的詳細(xì)步驟

    Spring Integration 實(shí)現(xiàn)消息驅(qū)動(dòng)的詳細(xì)步驟

    Spring Integration是一個(gè)用于構(gòu)建消息驅(qū)動(dòng)的中間件輕量級(jí)框架,它提供了一種模型和工具,用于在Spring應(yīng)用程序中實(shí)現(xiàn)企業(yè)集成模式,這篇文章主要介紹了Spring Integration 實(shí)現(xiàn)消息驅(qū)動(dòng),需要的朋友可以參考下
    2024-05-05
  • 如何讓java只根據(jù)數(shù)據(jù)庫(kù)表名自動(dòng)生成實(shí)體類(lèi)

    如何讓java只根據(jù)數(shù)據(jù)庫(kù)表名自動(dòng)生成實(shí)體類(lèi)

    今天給大家?guī)?lái)的知識(shí)是關(guān)于Java的,文章圍繞著如何讓java只根據(jù)數(shù)據(jù)庫(kù)表名自動(dòng)生成實(shí)體類(lèi)展開(kāi),文中有非常詳細(xì)的介紹,需要的朋友可以參考下
    2021-06-06
  • Spring責(zé)任鏈模式使用實(shí)例講解

    Spring責(zé)任鏈模式使用實(shí)例講解

    責(zé)任鏈?zhǔn)切袨樾驮O(shè)計(jì)模式的一種,通過(guò)前一個(gè)處理者記錄下一個(gè)處理者的方式形成一條處理鏈??蛻舳嗽谡{(diào)用時(shí)只需要將請(qǐng)求傳遞到責(zé)任上即可,無(wú)需關(guān)注鏈路中的具體的傳遞過(guò)程。而鏈路中內(nèi)部的處理,是按照前一個(gè)處理者記錄的下一個(gè)處理者依次執(zhí)行
    2023-01-01
  • 使用EasyPoi完成復(fù)雜一對(duì)多excel表格導(dǎo)出功能全過(guò)程

    使用EasyPoi完成復(fù)雜一對(duì)多excel表格導(dǎo)出功能全過(guò)程

    這篇文章主要介紹了使用EasyPoi完成復(fù)雜一對(duì)多excel表格導(dǎo)出功能全過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • SpringBoot整合EasyExcel的完整過(guò)程記錄

    SpringBoot整合EasyExcel的完整過(guò)程記錄

    easyexcel是阿里巴巴旗下開(kāi)源項(xiàng)目,主要用于Excel文件的導(dǎo)入和導(dǎo)出處理,下面這篇文章主要給大家介紹了關(guān)于SpringBoot整合EasyExcel的完整過(guò)程,需要的朋友可以參考下
    2021-12-12

最新評(píng)論