1. 程式人生 > >Java選項卡(JTabbedPane)的使用

Java選項卡(JTabbedPane)的使用

JTabbedPane是一種可以放多個面板的並且可以方便切換的容器

1.  建構函式

(1)JTabbedPane( )  建立空的JTabbedPane物件,但實際它的默

            認值為JTabbedPane.Top,也就是說卡片名將放在容器頂部。

(2)JTabbedPane(int tabPlacement) tabPlacement指定卡片名放

           的位置,有四種位置:

                 JTabbedPane.TOP   (放容器頂部)

                 JTabbedPane.BOTTOM(放容器底部)

                 JTabbedPane.LEFT(放容器左邊) 

                JTabbedPane.RIGHT(放容器右)。

(3)JTabbedPane(int tabPlacement,int tabLayoutPolicy)

            tabPlacement與上面是一樣的作用,   tabLayoutPolicy有兩種

           常量,分別是及其作用:                        

                JTabbedPane.WRAP_TAB_LAYOUT

                      作用:設定視窗過小時,標籤(卡名)將以滾動形式顯示。

                JTabbedPane.SCROLL_TAB_LAYOUT

                      作用:設定視窗過小時,增加一行,多餘標籤(卡名)將放在增加行。

2.  事件處理:

        JTabbedPane每換標次籤時,都會產生一個ChangeEvent事件

要換標籤必須實現ChangeListener這個介面,該介面中有

void stateChanged(ChangeEvent e)方法,當偵聽器(e)的目標已

更改其狀態時呼叫。

        每一個標籤都有自己的索引,從左到右依次是0,1,2,3…

3.  幾種方法介紹:

Component add(String title,Component component)

           作用:新增具有指定名字(title)的元件(component

void addChangeListener(ChangeListener l)

          作用:新增事件監聽器(ChangeListener的物件)

 int getSelectedIndex()

          作用:返回當前所選標籤的索引

void setEnabledAt(int index,boolean enabled)

          作用:設定是否啟用 index位置的選項卡。

4.  例子:

// JPanel1.java

import javax.swing.*;

public class  JPanel1 extends JPanel {

    JLabel card1 = new JLabel("111");

    JPanel1() {

       this.add(card1);

    }

}

// JPanel2.java

import javax.swing.*;

public class JPanel2 extends JPanel {   

   JLabel card2=new JLabel("222");

   JPanel2(){

       this.add(card2);

   }

}

//選項卡.java

import java.awt.*;

import javax.swing.*;

import javax.swing.event.*;

public class 選項卡  extends JFrameimplements ChangeListener {

    JTabbedPane Tab=newJTabbedPane(JTabbedPane.TOP);

    JPanel1 card1=new JPanel1();

    JPanel2 card2=new JPanel2();

    public void init(){

       Tab.add("1",card1);

       Tab.add("2",card2);

       this.add(Tab,BorderLayout.CENTER);

       Tab.addChangeListener(this);   

    }

    選項卡(){

       init();

       this.setTitle("選項卡");

       this.setBounds(200,200,400,400);

       this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

       this.setVisible(true);

    }

    public void stateChanged(ChangeEvent arg0) {

       // TODO Auto-generatedmethod stub

       if(Tab.getSelectedIndex()==0){

         //getSelectedIndex()獲取選項卡索引

           Tab.setEnabledAt(0,true);

        //設定啟用索引為0的選項卡

       }else if(Tab.getSelectedIndex()==1){

           Tab.setEnabledAt(1,true);

       }

    }

    public static void main(String[] args) {

       // TODO Auto-generatedmethod stub

        new 選項卡();

    }

}

相關推薦

Java選項JTabbedPane的使用

JTabbedPane是一種可以放多個面板的並且可以方便切換的容器 1.  建構函式 (1)JTabbedPane( )  建立空的JTabbedPane物件,但實際它的默             認值為JTabbedPane.Top,也就是說卡片名將放在容器頂部。 (2

選項1

lec set 樣式 gin relative ctype ive css樣式 lac 選項卡控件它提供一系列操作按鈕,單擊不同的按鈕可以在各個頁面之間進行切換。 選項卡實現的幾種方法: html+css <!DOCTYPE html> <htm

tab選項1:一級tab選項

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <style>

選項Tab切換事件

選項卡切換事件 <style type="text/css"> *{margin: 0; padding: 0; font-family: "微軟雅黑";font-size: 14px;} #container{ width: 398px; ma

HC 原始碼分析 6:MediaInfo選項 CPPageFileMediaInfo

=====================================================Media Player Classic - HC 原始碼分析系列文章列表:===============================================

MUI框架-12-使用原生底部選項凸出圖示案例

MUI框架-12-使用原生底部選項卡(凸出圖示案例) 今天,用 mui 做 app 時,遇到了可能各位都遇到過的頭疼問題:底部中間圖示凸起,如下圖: 最後有原始碼 【提示】:有人問我在 HBuilder 中看不到底部欄,請不要慌,程式碼沒有問題,在模擬器或者真機執行才會有,

Java Swing實戰JFrame和JTabbedPane容器

概述: 專案是一個桌面程式,涉及標籤和按鈕元件、佈局管理器元件、面板元件、列表框和下拉框元件等元件,以及Swing事件處理機制。 下面先從最基礎的介面開始。 /** * @author: lishuai * @date: 2018/11/26 13:51 */ public class Weimi

JS學習筆記 - 面向物件 - 選項 普通選項改寫

  選項卡3 <script> window.onload=function () { new TabSwitch('div1'); }; function TabSwitch(id) // TabSwitch 是 id 的 物件?? { // var oDi

tab切換選項 原生/jQ/vue 實現方式

<!DOCTYPE > <html> <meta http-equiv="Content-Type" content="text/html; charset=utf

Java 6 JVM引數選項大全中文版

本文是基於最新的SUN官方文件Java SE 6 Hotspot VM Options 編寫的譯文。主要介紹JVM中的非穩態選項及其使用說明。 為了讓讀者明白每個選項的含義,作者在原文基礎上補充了大量的資料。希望這份文件,對正在研究JVM引數的朋友有幫助! 另

【jQuery】Tab選項li之間的切換

演示地址:暫未開放,請前往線上程式碼測試網 測試程式碼如下:固定格式在這裡就省略了,如果有問題大家可以自行調整。 No.1 jQuery版 <html> <

Java 集合系列16之 Spring Boot 配置文件 選項配置

writer) face 學習 apach .sql logs aspectj via threshold springboot配置選項(一) =================================================================

java線程

讀寫 img 其他 手動 dem com 字段 只讀 停止線程 java5線程並發庫   線程並發庫是JDK 1.5版本級以上才有的針對線程並發編程提供的一些常用工具類,這些類被封裝在java.concurrent包下。   該包下又有兩個子包,分別是atomic和lock

JAVA學習筆記1——a++與++a的區別

col int 演示 opera 解析 代碼 數據 ++i div 需求:此博客用於解釋i++與++i的區別。 過程: 1、名稱解釋 ++:自增,即在原有數據基礎上+1,再賦給原有數據。 2、程序演示 (1)代碼: 1 class OperateDemo 2 { 3

jdk源碼閱讀筆記之java集合框架LinkedList

ray private array public 源碼閱讀 jdk源碼閱讀 oid color 解釋 關於LinkedList的分析,會從且僅從其添加(add)方法入手。 因為上一篇已經分析過ArrayList,相似的地方就不再敘述,關註點在LinkedList的特點。 屬

JAVA學習筆記

byte repl efi ber 時間 clas 區分大小寫 增強for size @SuppressWarnings("resource")是用來壓制資源泄露警告的。比如使用io類,最後沒有關閉。Set集合特點:1)無序,不隨機2)元素唯一3)沒下標註意:Collect

java學習筆記圖形用戶接口

star strong per getwidth cep runnable graphics s2d gb2 這個學期主要放在ACM比賽上去了,比賽結束了。不知不覺就15周了,這周就要java考試了,復習一下java吧。java的學習的目的還是讓我們學以致用,讓我們可以

JAVA------17.charles青花瓷抓包工具,適用安卓

java 技術 window eight charles bsp wid 9.png mage 1.安裝青花瓷 百度雲 jwindows :鏈接:http://pan.baidu.com/s/1dE6vvFV 密碼:mkce 2.查找 ip地址 3.設置手機,

自制Java虛擬機-對象、new、invokespecial

utf pool tar 字節 can run 可見 frame 屬性 自制Java虛擬機(四)-對象、new、invokespecial 一、對象的表示 剛開始學Java的時候,圖書館各種教程,書名往往都是“Java面向對象高級編程”,通常作者都會與C++做個比較,列出的

JAVA泛型

強制 off 實例 emp 思想 void 成了 意義 依然 一. 泛型概念的提出(為什麽需要泛型)? 首先,我們看下下面這段簡短的代碼: 1 public class GenericTest { 2 3 public static void