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

Java基礎(chǔ)入門 Swing中間容器的使用

 更新時間:2021年12月04日 15:13:48   作者:「已注銷」  
這篇文章主要介紹了Java基礎(chǔ)入門 Swing中間容器的使用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Java基礎(chǔ)入門 Swing中間容器

在Swing中不僅有JFrame、JDialog這樣的頂級窗口,還擁有一些中間容器,這些容器不能單獨存在,必須依存在頂級窗口中。最常見的是JPanel、JScrollPane。

  • JPanel:JPanel和AWT中的Panel組件使用方法基本一致,他是一個無邊框不能被放大、移動、關(guān)閉的面板,它的默認(rèn)布局管理器是FlowLayout,當(dāng)然這是可以使用setLayout()方法重新設(shè)置的
  • JScrollPane:與JPanel不同的是,JScrollPane是一個帶有滾動條的面板容器而且這個面板只能添加一個組件,如果想添加多個組件就必須先把多個組件添加到Panel中再將Panel添加到JScroollPane中

下面舉例說明一下JScrollPane的方法

JScrollPane的構(gòu)造方法及方法
方法聲明 功能描述
JScrollPane() 創(chuàng)建一個空的JScrollPane面板
JScrollPane(Component view) 創(chuàng)建一個顯示指定組件的JScrollPane面板,只要組件大小超過面板大小就會出現(xiàn)水平和垂直滾動條
JScrollPane(Component view,int vsbPolicy,int hsbPoliy) 創(chuàng)建一個顯示指定容器的JScrollPane面板
import java.awt.*;
import javax.swing.*; 
public class Main extends JFrame{
	public Main(){
		this.setTitle("PanelDemo");
		JScrollPane scrollPane=new JScrollPane();
		//設(shè)置水平進(jìn)度條需要時出現(xiàn)
		scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
		//設(shè)置垂直進(jìn)度條一直出現(xiàn)
		scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
		
		JPanel panel=new JPanel();
		panel.add(new JButton("按鈕1"));
		panel.add(new JButton("按鈕2"));
		panel.add(new JButton("按鈕3"));
		panel.add(new JButton("按鈕4"));
		for(int i=5;i<100;i++){
			panel.add(new JButton("按鈕"+i));
		}
		
		//將JPanel面板添加在滾動面板上顯示
		scrollPane.setViewportView(panel);
		//將滾動面板添加到窗體的中部(CENTER)
		this.add(scrollPane,BorderLayout.CENTER);
		
		//創(chuàng)建窗體可關(guān)閉按鈕
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setSize(400,250);
		this.setVisible(true);
	}
	public static void main(String[] args)throws Exception{
       new Main();
	}
}

Java Swing頂層容器類

Swing擁有三個常用的頂層容器類

  • JFrame
  • JDialog
  • JApplet

1,任何畫面類,必須是容器類的分支,任何界面樹的頂層容器類必須是上面三個中的一個。

2,任何畫面組件只能被容器類引用一次,如果復(fù)制他們到另外的容器類,它會被從第一個容器類中刪除然后放在第二個容器類中。

3,頂層容器類都含有一個內(nèi)容面板,包含了頂層容器要顯示的內(nèi)容

4,頂層容器類通常含有一個Menu Bar, 這個Menu Bar可以帶來更好的使用體驗,比如在Mac系統(tǒng)中,Menu bar會顯示在screen頂上而不是app頂上。

注意,JPanel默認(rèn)的排版方式是FlowLayout

但是可以使用頂層容器類的setContentPanel替換成自定義布局的JPanel類。

示例代碼:

package com.jesse.kotlin.com.jesse.gui 
import java.awt.BorderLayout
import java.awt.Dimension
import javax.swing.*
 
class WindowMain { 
    private val rootContainer = JFrame("GUI Demo") 
    fun buildGui(){
        rootContainer.defaultCloseOperation = JFrame.EXIT_ON_CLOSE
        var label = JLabel("Hello world")
        rootContainer.contentPane.add(label, BorderLayout.CENTER)
        rootContainer.preferredSize = Dimension(400, 300)
 
        var menuPanel:JMenuBar = JMenuBar()
        menuPanel.add(JMenu("help"))
        rootContainer.jMenuBar = menuPanel
 
        rootContainer.pack()
        rootContainer.isVisible = true
    }
} 
fun main(args: Array<String>) {
    SwingUtilities.invokeLater {
        WindowMain().buildGui()
    }
}

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

相關(guān)文章

  • springBoot 插件工具熱部署 Devtools的步驟詳解

    springBoot 插件工具熱部署 Devtools的步驟詳解

    這篇文章主要介紹了springBoot 插件工具 熱部署 Devtools,本文分步驟給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-10-10
  • springboot配置nacos的實現(xiàn)示例

    springboot配置nacos的實現(xiàn)示例

    本文將介紹如何在Spring?Boot中配置Nacos,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-09-09
  • Javaweb實現(xiàn)在線人數(shù)統(tǒng)計代碼實例

    Javaweb實現(xiàn)在線人數(shù)統(tǒng)計代碼實例

    這篇文章主要介紹了Javaweb實現(xiàn)在線人數(shù)統(tǒng)計代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11
  • Spring使用注解方式實現(xiàn)創(chuàng)建對象

    Spring使用注解方式實現(xiàn)創(chuàng)建對象

    這篇文章主要介紹了Spring使用注解方式實現(xiàn)創(chuàng)建對象,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2023-02-02
  • Java序列化反序列化原理及漏洞解決方案

    Java序列化反序列化原理及漏洞解決方案

    這篇文章主要介紹了Java序列化反序列化原理及漏洞解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-08-08
  • Hibernate雙向多對多映射關(guān)系配置代碼實例

    Hibernate雙向多對多映射關(guān)系配置代碼實例

    這篇文章主要介紹了Hibernate雙向多對多映射關(guān)系配置代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-10-10
  • Springboot設(shè)置文件上傳大小限制的實現(xiàn)示例

    Springboot設(shè)置文件上傳大小限制的實現(xiàn)示例

    Spring Boot工程嵌入的tomcat限制了請求的文件大小默認(rèn)為1MB,單次請求的文件的總數(shù)不能大于10Mb,本文主要介紹了Springboot設(shè)置文件上傳大小限制的實現(xiàn)示例,感興趣的可以了解一下
    2023-11-11
  • 有關(guān)Java中的BeanInfo介紹

    有關(guān)Java中的BeanInfo介紹

    Java的BeanInfo在工作中并不怎么用到,我也是在學(xué)習(xí)spring源碼的時候,發(fā)現(xiàn)SpringBoot啟動時候會設(shè)置一個屬叫"spring.beaninfo.ignore",網(wǎng)上一些地方說這個配置的意思是是否跳過java BeanInfo的搜索,但是BeanInfo又是什么呢?本文我們將對此做一個詳細(xì)介紹
    2021-09-09
  • idea新建maven項目沒有src目錄的操作方法

    idea新建maven項目沒有src目錄的操作方法

    這篇文章主要介紹了idea新建maven項目沒有src目錄的兩種操作方法,需要的朋友可以參考下
    2018-03-03
  • Spring 單元測試中如何進(jìn)行 mock的實現(xiàn)

    Spring 單元測試中如何進(jìn)行 mock的實現(xiàn)

    這篇文章主要介紹了Spring 單元測試中如何進(jìn)行 mock的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12

最新評論