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

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

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

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

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

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

下面舉例說(shuō)明一下JScrollPane的方法

JScrollPane的構(gòu)造方法及方法
方法聲明 功能描述
JScrollPane() 創(chuàng)建一個(gè)空的JScrollPane面板
JScrollPane(Component view) 創(chuàng)建一個(gè)顯示指定組件的JScrollPane面板,只要組件大小超過(guò)面板大小就會(huì)出現(xiàn)水平和垂直滾動(dòng)條
JScrollPane(Component view,int vsbPolicy,int hsbPoliy) 創(chuàng)建一個(gè)顯示指定容器的JScrollPane面板
import java.awt.*;
import javax.swing.*; 
public class Main extends JFrame{
	public Main(){
		this.setTitle("PanelDemo");
		JScrollPane scrollPane=new JScrollPane();
		//設(shè)置水平進(jìn)度條需要時(shí)出現(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面板添加在滾動(dòng)面板上顯示
		scrollPane.setViewportView(panel);
		//將滾動(dòng)面板添加到窗體的中部(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擁有三個(gè)常用的頂層容器類

  • JFrame
  • JDialog
  • JApplet

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

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

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

4,頂層容器類通常含有一個(gè)Menu Bar, 這個(gè)Menu Bar可以帶來(lái)更好的使用體驗(yàn),比如在Mac系統(tǒng)中,Menu bar會(huì)顯示在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()
    }
}

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

相關(guān)文章

  • Eclipse 項(xiàng)目出現(xiàn)錯(cuò)誤(紅色嘆號(hào))解決方法

    Eclipse 項(xiàng)目出現(xiàn)錯(cuò)誤(紅色嘆號(hào))解決方法

    這篇文章主要介紹了Eclipse 項(xiàng)目出現(xiàn)錯(cuò)誤(紅色嘆號(hào))解決方法的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • 關(guān)于spring 掃描不到j(luò)ar中class文件的原因分析及解決

    關(guān)于spring 掃描不到j(luò)ar中class文件的原因分析及解決

    這篇文章主要介紹了關(guān)于spring 掃描不到j(luò)ar中class文件的原因分析及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • 關(guān)于MyBatis模糊查詢的幾種實(shí)現(xiàn)方式

    關(guān)于MyBatis模糊查詢的幾種實(shí)現(xiàn)方式

    在實(shí)際項(xiàng)目中,我們會(huì)經(jīng)常對(duì)數(shù)據(jù)做一些模糊查詢的操作,這時(shí)候就需要利用到 like字段,那么在Mybatis中,有哪些方式可以實(shí)現(xiàn)模糊查詢呢,需要的朋友可以參考下
    2023-05-05
  • Java 構(gòu)造方法的使用詳解

    Java 構(gòu)造方法的使用詳解

    構(gòu)造方法是類的一種特殊方法,用來(lái)初始化類的一個(gè)新的對(duì)象,在創(chuàng)建對(duì)象(new 運(yùn)算符)之后自動(dòng)調(diào)用。Java 中的每個(gè)類都有一個(gè)默認(rèn)的構(gòu)造方法,并且可以有一個(gè)以上的構(gòu)造方法
    2021-11-11
  • @CacheEvict注解,清除緩存方式

    @CacheEvict注解,清除緩存方式

    這篇文章主要介紹了@CacheEvict注解,清除緩存方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • Java Lambda表達(dá)式原理及多線程實(shí)現(xiàn)

    Java Lambda表達(dá)式原理及多線程實(shí)現(xiàn)

    這篇文章主要介紹了Java Lambda表達(dá)式原理及多線程實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • MyBatis映射器mapper快速入門教程

    MyBatis映射器mapper快速入門教程

    使用mapper接口的方式,不用寫接口實(shí)現(xiàn)類,直接完成數(shù)據(jù)庫(kù)操作,簡(jiǎn)單方便。使用mapper接口,采用的是面向接口編程的思想,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧
    2022-09-09
  • SpringBoot 創(chuàng)建容器的實(shí)現(xiàn)

    SpringBoot 創(chuàng)建容器的實(shí)現(xiàn)

    這篇文章主要介紹了SpringBoot 創(chuàng)建容器的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • 淺談Java中ArrayList的擴(kuò)容機(jī)制

    淺談Java中ArrayList的擴(kuò)容機(jī)制

    本文主要介紹了淺談Java中ArrayList的擴(kuò)容機(jī)制,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • spring boot整合redis實(shí)現(xiàn)RedisTemplate三分鐘快速入門

    spring boot整合redis實(shí)現(xiàn)RedisTemplate三分鐘快速入門

    這篇文章主要介紹了spring boot整合redis實(shí)現(xiàn)RedisTemplate三分鐘快速入門,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12

最新評(píng)論

卢氏县| 莆田市| 郓城县| 勃利县| 白玉县| 三原县| 肥东县| 丰城市| 平武县| 孝感市| 原阳县| 莱西市| 菏泽市| 海宁市| 天祝| 孟连| 富源县| 托克逊县| 台中市| 宽城| 灌阳县| 祁东县| 突泉县| 都兰县| 浦县| 呼和浩特市| 肇东市| 商洛市| 栾川县| 房产| 兴仁县| 松溪县| 城固县| 黑河市| 谢通门县| 连州市| 扬中市| 安塞县| 乌拉特后旗| 镇巴县| 凉山|