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

java swing GUI窗口美化方式

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

java swing GUI窗口美化

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

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

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

其實,只需在調(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);
        }

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

java GUI初步理解

什么是GUI

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

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

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

容器與布局

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

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

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

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

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

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

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)建窗口對象
? ? ? ? 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)建按鈕對象
? ? ? ? JButton but=new JButton("wdwdw");
? ? ? ? //添加按鈕到窗口
? ? ? ? frm.add(but);
? ? ? ? //設(shè)置關(guān)閉方式
? ? ? ? frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
?? ?}
}

面板

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

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

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)建窗口對象
? ? ? ? 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è)置一個帶有滾動面板的窗體

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("滾動的窗體");
?? ??? ?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("就在這個屯!");
? ? ? ? //創(chuàng)建面板,添加組件
? ? ? ? JPanel p=new JPanel();
? ? ? ? p.add(ta);
? ? ? ? p.add(but);
? ? ? ? //創(chuàng)建滾動面板
? ? ? ? JScrollPane sp=new JScrollPane();
? ? ? ? //設(shè)置上面創(chuàng)建的,面板為組件
? ? ? ? sp.setViewportView(p);
? ? ? ? //將滾動面板設(shè)置為窗體內(nèi)容面板
? ? ? ? frm.setContentPane(sp);
? ? ? ? frm.setBounds(500,250,300,150);
? ? ? ? frm.setVisible(true);
?? ?}
}

補充

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

JSplitPane

采用方法

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

設(shè)置比例

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

相關(guān)文章

  • 超全面的SpringBoot面試題含答案

    超全面的SpringBoot面試題含答案

    這篇文章主要收錄了44道面試中經(jīng)常被問的SpringBoot問題,不管你是正在求職的新手還是已經(jīng)工作很久的高手,這篇關(guān)于SpringBoot的面試題總結(jié)一定會讓你有新的理解,讓我們一起來看看吧
    2023-03-03
  • JAVA集成Freemarker生成靜態(tài)html過程解析

    JAVA集成Freemarker生成靜態(tài)html過程解析

    這篇文章主要介紹了JAVA集成Freemarker生成靜態(tài)html過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-06-06
  • SpringSecurity權(quán)限控制實現(xiàn)原理解析

    SpringSecurity權(quán)限控制實現(xiàn)原理解析

    這篇文章主要介紹了SpringSecurity權(quán)限控制實現(xiàn)原理解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-03-03
  • Mybatis配置映射文件中parameterType的用法講解

    Mybatis配置映射文件中parameterType的用法講解

    這篇文章主要介紹了Mybatis配置映射文件中parameterType的用法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Spring Boot jar可執(zhí)行原理的徹底分析

    Spring Boot jar可執(zhí)行原理的徹底分析

    這篇文章主要給大家介紹了關(guān)于Spring Boot jar可執(zhí)行原理的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用Spring Boot具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • ConcurrentModificationException日志關(guān)鍵字報警思考分析

    ConcurrentModificationException日志關(guān)鍵字報警思考分析

    本文將記錄和分析日志中的ConcurrentModificationException關(guān)鍵字報警,還有一些我的思考,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2023-12-12
  • 最新評論

    洪湖市| 察雅县| 杨浦区| 绥宁县| 蒙山县| 大邑县| 六枝特区| 莲花县| 南康市| 霍城县| 荥阳市| 宜春市| 敦煌市| 平乡县| 房山区| 梁平县| 弥勒县| 海南省| 泰兴市| 剑阁县| 南京市| 张北县| 新郑市| 松桃| 栾城县| 金昌市| 绥芬河市| 芮城县| 康平县| 仁布县| 上思县| 和林格尔县| 肇源县| 温泉县| 临江市| 宁远县| 阿拉尔市| 玉山县| 张家口市| 达日县| 万全县|