JAVA 中選項卡的使用
JAVA中使用選項卡,要用到JTabbledPane這個容器,現在就來說說這個容器的一些用法:
一:JTabbedPane建構函式:
JTabbedPane():建立一個空的JTabbedPane物件。
JTabbedPane(int tabPlacement):建立一個空的JTabbedPane物件,並指定擺放位置,其位置有四個,JTabbedPane.RIGHT,JTabbedPane.TOP,JTabbedPane..BOTTOM,JTabbedPane.LEFT,圖如下:
二:JTabbedPane的事件處理:
JTabbedPane以處理ChangeEvent事件為主。每當在JTabbedpane選換標籤時,都會產生ChangeEvent事件。因此要處理選換標籤所
對應的操作,必須實現ChangeListener這個interface.另外JTabbedPane上的每個標籤都有索引值(index),一般若沒有加以設定
,索引置從左到右依次是0,1,2.....,依此類推,因此下例中,Picture的索引值為0,Label 2的索引值為1。
一個標籤都有所對應的操作。
通過使用 addTab和 insertTab方法將選項卡/元件新增到 TabbedPane物件中。選項卡通過對應於新增位置的索引來表示,其中第一個選項卡的索引為 0,最後一個選項卡的索引為選項卡數減 1。
TabbedPane使用 SingleSelectionModel來表示選項卡索引集和當前所選擇的索引。如果選項卡數大於 0,則總會有一個被選定的索引,此索引預設被初始化為第一個選項卡。如果選項卡數為 0,則所選擇的索引為 -1。
具體例子:
import java.awt.Button;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
public class JTablePaneAQ extends JFrame implements ChangeListener{
private JTabbedPane tablepane=null;//
int index=0;
public static void main(String[] args) {
JTablePaneAQ aq=new JTablePaneAQ();
}
public JTablePaneAQ()
{
tablepane=new JTabbedPane(JTabbedPane.TOP);
//
JPanel panel_1=new JPanel();
Button buttonwine=new Button("酒水");
panel_1.add(buttonwine);
buttonwine.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
JOptionPane.showMessageDialog(null, "這是酒水的選項卡。");
}
});
//第二個主食選項卡
JPanel panel_2=new JPanel();
Button buttonfood=new Button("主食");
panel_2.add(buttonfood);
buttonfood.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(null, "這是主食的選項卡。");
}
});
/**
* 第三個香菸選項卡
*/
JPanel panel_3=new JPanel();
Button buttoncigerate=new Button("香菸");
panel_3.add(buttoncigerate);
buttoncigerate.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(null, "這是香菸的選項卡。");
}
});
/**
* 新增控制元件
*/
tablepane.add("酒水", panel_1);
tablepane.add("主食",panel_2);
tablepane.add("香菸",panel_3);
this.add(tablepane);
/**
* 設定主視窗屬性
*/
this.setBounds(100, 200, 400, 500);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
/**
* 實現ChangeListener方法,目的在使若左邊的標籤有點選過,右邊的標籤才會顯示Enable狀態。
* getSelectedIndex()方法可返回目前點選標籤的index值,
* getTabCount()方法可返回JTabbedPane上目前共有幾個標籤,
* 而setEnabledAt()方法則是使某個標籤
*的狀態為Enable或Disable(true為Enable,false為Disable).
*/
@Override
public void stateChanged(ChangeEvent arg0) {
// TODO 自動生成的方法存根
if (index!=tablepane.getSelectedIndex()){
if(index<tablepane.getTabCount()-1)
tablepane.setEnabledAt(index+1,true);
}
index=tablepane.getSelectedIndex();
}
}
相關推薦
JAVA 中選項卡的使用
JAVA中使用選項卡,要用到JTabbledPane這個容器,現在就來說說這個容器的一些用法: 一:JTabbedPane建構函式: JTabbedPane():建立一個空的JTabbedPane物件。 JTabbedPane(int tabPlace
java swing中新增選單和 選項卡窗體 。
1、 java中新增選單 。 JMenu jm=new JMenu("File") ; //建立JMenu選單物件 JMenuItem t1=new JMenuItem("item1") ; //選單項 JMenuItem t2=new J
介紹下京東的(選項卡中的選項卡)是怎麽實現的
pad b- cti pre set red 二維數組 node int 我們都誰知道選項卡是通過數組實現的,那麽選項卡中的選項卡無非就是一個二維數組。 道理邏輯很簡單,下面是我實現的一個方法: 1 <!DOCTYPE html> 2 <html
JAVA中日期和時間的格式化選項
println 對象 bsp lec pub cti class 日子 月份 一、使用printf方法 1 import java.util.Date; 2 import java.util.Scanner; 3 4 5 public class Test
Flex中TabNavigator隱藏和顯示選項卡
pro ble 點擊 plain bat summer microsoft _id lai 1、問題背景 遇到這樣一個問題:有四個Tab選項卡。依據不同的參數隱藏和顯示選項卡 2、實現實例 (1)隱藏“春季” protected fun
用angular中的ng-repeat和ng-show來實現tab選項卡
new angular lis content padding col ora ack 顯示 雖然我們可以用angular中的路由來做tab選項卡,但是那會讓我們建立很多的頁面來引入,或者建立 <script type="text/ng-template" id="n
excel怎樣添加的選項卡中含有下拉列表
tar more combo page targe amp 設置 date mic 1 <customUI 2 xmlns="http://schemas.microsoft.com/office/2006/01/customui"> 3
【windows】windows系統下,在任務管理器的進程選項卡中查看PID/任務管理器怎麽查看PID
分享圖片 圖片 技術 啟動 最大值 成功 9.png mage 選擇列 PID,就是windows上的進程ID,是一個進程的唯一標識值。 那今天啟動JDK跑起來一個項目之後,想要在任務管理器中查看這個JDK所在進程的PID但是看不到。 怎麽解決? 1.我在任務管理
angularjs 中的路由 與 bootstrap標簽選項卡的沖突 解決方案
target href targe home 選項 info 圖片 頁面跳轉 tst 當項目中使用了angularjs 的路由,則所有 像a標簽的href 的鏈接都會走路由,實現頁面跳轉,那麽有些地方需要使用選項卡,就會帶來麻煩。 路由使用如下圖: 某頁面需要使用boot
Myeclipse2017中沒有 Dynamic Web Project 選項卡,是怎麽回事?
等等 包含 靜態頁 特性 cap 怎麽 自動 項目 框架 我們在Myeclipse2017中沒有 Dynamic Web Project 選項卡,是怎麽回事? 解釋一: Dynamic Web Project 是Eclipse的項目,與其對應的有Static W
angularjs中的選項卡例項
angularjs中的bug ng-click,賦值,ng-repeat三個一起用會有bug一個angularjs的選項卡 <!DOCTYPE html> <html> <head> <meta charset="utf-8" />
在vue中使用swiper做分類選項卡渲染時遇到的坑
公司產品最近一個版本要求是要做一個分類的選項卡,選項卡可以滑動,可以點選不同分類顯示不同的關卡 當時公司是用了swiper外掛來做的,可是swiper一般是用來做輪播圖,相比較之下還是差別比較大的,奈何我又是一個比較懶的程式猿,只能將swiper來完成需求了~~ 第一步是要引入檔案,我隨便寫
如何在office中新增Mathtype選項卡
這個很簡單, 第一步,你在office的根目錄下建一個名為STARTUP的資料夾 第二部,在Mathtype的安裝路徑中找到兩個資料夾Office Support和MathPage,將裡面的檔案MathType commands 6 For Word.dot、MathTyp
本地連線屬性中的“高階”選項卡不見了(本地連線無高階選項)
點選“開始→執行”(或按 Win+R 鍵),輸入 gpedit.msc 並回車開啟“組策略”視窗,依次點到“使用者配置→管理模板→網路→網路連線”,雙擊右邊的“為管理員啟用 Windows 2000 網路連線設定”項,將該策略設定為“已禁用”,“確定”儲存設定即可 太蛋
C# WinForm如何在選項卡中整合載入多個窗體
專案檔案組織: 主程式介面: 將tabControl1中的兩個選項頁的tag分別寫上form2和form3的類名稱。 被包含窗體Form2: 被包含窗體Form3: 執行結果:from2和form3兩個窗體都整合到form1中的選項卡中顯示:
php如何在頁面中制作三級聯動的選項卡
連接數據庫 oct ++ row strong 獲取 lse 地址查詢 com 我們在網頁中經常會見到多重的選項卡,當一個選項內容發送改變時,另外的選項卡內容也相應改變,例如在某個地址查詢的選項中,當你選擇“山東省”的時候,那麽“市”,“區”的選項也會相應發生變化,本篇將說
easyUI中tabs使用iframe的方式載入選項卡
使用了easyUi,發現panel元件的href比較坑人,不像extJs的html屬性那樣。今天遇到了tabs新增頁籤時需要使用iframe展示的問題,總結如下: function addTab(ti
C#中關於TabControl設定選項卡的大小問題
今天在使用Winform下的TabControl控制元件時,發現選項卡大小的調整不僅僅是設定寬度和高度那麼簡單,下面 對TabControl選項卡大小的設定進行總結(以顯示在頂部的選項卡為例): 設定選項卡大小的第一步就是設定TabControl的
java中使用$.ajax建立下拉選項
從資料庫中取出相應資料,存在list中,下面直接從servlet講:, servlet: 在servlet中,將儲存在list中的資料,轉為json型別: 相應程式碼: Gson gson = newGson();//建立Gson物件 String j
Java圖形介面——選項卡窗格、面板元件、網格佈局
package com.test.swing; import java.awt.*; import javax.swing.*; public class QLogin extends JFrame{ //定義元件 //北部區域 JLabel jl1; //