日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

24、Java Swing JTabbedPane:选项卡组件

發布時間:2025/3/20 java 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 24、Java Swing JTabbedPane:选项卡组件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

使用選項卡可以在有限的布局空間內展示更多的內容。Swing 使用 JTabbedPane 類實現選項卡。

JTabbedPane 類創建的選項卡可以通過單擊標題或者圖標在選項卡之間進行切換

JTabbedPane 類的常用構造方法:

  • JTabbedPane():創建一個具有默認 JTabbedPane.TOP 布局的空 TabbedPane。
  • JTabbedPane(int tabPlacement):創建一個空的TabbedPane,使其具有以下指定選項卡布局中的一種:JTabbedPane.TOP、JTabbedPane.BOTTOM、JTabbedPane.LEFT
    或 JTabbedPane.RIGHT。

創建了 JTabbedPane 實例之后,可使用 addTab() 方法和 insertTab() 方法將選項卡/組件添加到 TabbedPane 對象中。選項卡通過對應于添加位置的索引來表示,其中第一個選項卡的索引為 0,最后一個選項卡的索引為選項卡數量減 1

TabbedPane 使用 SingleSelectionModel 屬性來表示選項卡索引集和當前所選擇的索引。如果選項卡數量大于 0,則總會有一個被選定的索引,此索引默認被初始化為第一個選項卡;如果選項卡數量為 0,則所選擇的索引為 -1

JTabbedPane類的常用方法:

  • add(Component component,int index) ----在指定的選項卡索引位置添加一個 component,默認的選項卡標題為組件名稱
  • addTab(String title, Component component) ----添加一個使用 title 作為標題,且沒有圖標的組件
  • getComponentAt(int index) ----返回 index 位置的組件
  • getSelectedComponent() ----返回此選項卡窗格當前選擇的組件
  • getSelectedIndex() ----返回當前選擇的此選項卡窗格的索引
  • getTabCount() ----返回此 tabbedPane 的選項卡數
  • insertTab(String title,Icon icon,Component component, String tip,int index)---- 在 index 位置插入一個組件,該組件通過 title 或 icon(任意一個 都可以為 null)來表示
  • isEnabledAt(int index) ----返回當前是否啟用了 index 位置的選項卡
  • remove(int index)---- 移除對應于指定索引的選項卡和組件
  • setEnabledAt(int index,boolean enabled)---- 設置是否啟用 index 位置的選項卡
  • setMnemonicAt(int tablndex,int mnemonic) ----設置用于訪問指定選項卡的鍵盤助記符
  • setTitleAt(int index,String title)---- 將 index 位置的標題設置為 title,它可以為 null
  • setToolTipTextAt(int index,String toolTipText) ----將 index 位置的工具提示文本設置為
    toolTipText,它可以為 null

選項卡面板和卡片布局不同的是,選項卡面板可以有標簽。下面的示例代碼創建了一個選項卡面板,并在選項卡面板中添加了一個 JPand 面板。

JTabbedPane tabbedPane=new JTabbedPane(); ImageIcon icon=new ImageIcon("temp.gif"); JComponent panel1=makeTextPanel("Panel#1"); //創建一個jPanel容器,容納其他組件 tabbedPane.addTab("Tab 1",icon,panel1,"Does nothing"); tabbedPane.setMnemonicAt(0,KeyEvent.VK_1); //設置快捷鍵

該代碼段中的第三條語句向選項卡面板 tabbedPane 中添加了一個 panel1 組件(該組件是一個 JPanel 對象),該方法中的第一個參數是選項卡標簽文本;第二個參數是 Icon 對象,它作為選項卡標簽上的圖標;第三個參數是添加到選項卡上的組件;第四個參數是當鼠標指針放在選項卡標簽上時出現的提示信息。

例 1
使用 JTabbedPane 類創建一個包含 4 個標簽的選項卡面板,并分別為每個選項卡填充內容,主要實現過程如下。

(1) 創建一個 TabbedPaneDemo 類并繼承 JPanel 父類。

import javax.swing.JPanel; import javax.swing.*; import java.awt.*; import java.awt.event.KeyEvent; public class TabbedPaneDemo extends JPanel {public static void main(String[] args){JFrame frame=new JFrame("我的電腦 - 屬性");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.add(new TabbedPaneDemo(),BorderLayout.CENTER);frame.pack();frame.setVisible(true);} }

(2) 在構造方法中創建空白選項卡,新建標簽,指定標簽的文本和圖片,以及標簽對應的內容面板和快捷訪問符。這些代碼如下:

public TabbedPaneDemo() {super(new GridLayout(1,1));JTabbedPane tabbedPane=new JTabbedPane();ImageIcon icon=createImageIcon("tab.jp1g");JComponent panel1=makeTextPanel("計算機名");tabbedPane.addTab("計算機名",icon, panel1,"Does nothing");tabbedPane.setMnemonicAt(0,KeyEvent.VK_1);JComponent panel2=makeTextPanel("硬件");tabbedPane.addTab("硬件",icon,panel2,"Does twice as much nothing");tabbedPane.setMnemonicAt(1,KeyEvent.VK_2);JComponent panel3=makeTextPanel("高級");tabbedPane.addTab("高級",icon,panel3,"Still does nothing");tabbedPane.setMnemonicAt(2,KeyEvent.VK_3);JComponent panel4=makeTextPanel("系統保護");panel4.setPreferredSize(new Dimension(410,50));tabbedPane.addTab("系統保護",icon,panel4,"Does nothing at all");tabbedPane.setMnemonicAt(3,KeyEvent.VK_4);add(tabbedPane); }

(3) 編寫 makeTextPane() 方法的實現,該方法主要用于創建一個內容面板,并在面板上添加指定的文本內容,具體實現代碼如下所示。

protected JComponent makeTextPanel(String text) {JPanel panel=new JPanel(false);JLabel filler=new JLabel(text);filler.setHorizontalAlignment(JLabel.CENTER);panel.setLayout(new GridLayout(1,1));panel.add(filler);return panel; }

(4) 構造方法中用到的 createImageIcon() 方法主要用于加載圖片,如果圖片不存在則返回 null。

protected static ImageIcon createImageIcon(String path) {java.net.URL imgURL=TabbedPaneDemo.class.getResource(path);if(imgURL!=null){return new ImageIcon(imgURL);}else{System.err.println("Couldn't find file: "+path);return null;} }

(5) 運行程序,結果如圖 1 所示。假設存在構造方法中指定的圖片,那么在圖 1 所示的運行效果中,每個單擊選項卡標簽前都帶有各自的圖標。

總結

以上是生活随笔為你收集整理的24、Java Swing JTabbedPane:选项卡组件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 综合色在线观看 | 一区二区三区视频免费 | 兔费看少妇性l交大片免费 日韩高清不卡 | 大奶子情人 | 蜜臀99久久精品久久久久久软件 | 欧洲综合视频 | 成人试看120秒体验区 | 秋霞影院午夜老牛影院 | www.午夜视频 | 中文字幕第5页 | 玖玖爱精品 | 日本午夜大片 | 亚洲污污视频 | 黄色日皮视频 | 国产成人麻豆免费观看 | 欧美日韩午夜精品 | 337p粉嫩色噜噜噜大肥臀 | 久久久午夜精品福利内容 | 午夜视频在线观看网站 | 一区二区三区中文字幕 | 日韩特级| 国产一区二区黄 | 日韩欧美一级视频 | 国产日韩三级 | 激情av | 不卡中文一二三区 | 五月亚洲综合 | 欧美hdse| 一本大道av伊人久久综合 | 五月在线视频 | 中文字幕国产视频 | 人人爽人人香蕉 | 久久久久无码精品国产sm果冻 | 久久爰 | h片在线观看 | 中文字幕在线看片 | 欧美不卡一区二区三区 | 人人草人 | 午夜av剧场 | 野花成人免费视频 | 中文在线a√在线 | 老司机一区二区 | 日韩特级黄色片 | 97视频免费观看 | 黄色一极毛片 | 久热国产精品视频 | 久久久久久久久久久久久女过产乱 | 蜜桃成人在线视频 | 天天撸天天操 | 黄色片在线观看免费 | 小sao货cao死你 | 亚洲欧美日韩精品色xxx | 日韩在线一级 | 男人插女人视频网站 | 日韩xx视频 | 黄色a级大片 | 国产亚洲性欧美日韩在线观看软件 | 午夜久久久久久噜噜噜噜 | 亚洲av无码国产综合专区 | 嫩草嫩草嫩草嫩草嫩草嫩草 | 91色综合 | 日韩精品一区二区三区在线播放 | 四虎新网站 | 医生强烈淫药h调教小说视频 | 欧美资源网 | 三年大片在线观看 | 五月天久久综合 | 嫩草嫩草嫩草嫩草嫩草嫩草 | 色哟哟无码精品一区二区三区 | 久久久这里有精品 | 青青草原在线免费 | 久久婷婷国产 | 在线观看国产黄 | h在线免费观看 | 青青草综合视频 | 国产爽视频 | 无码精品人妻一区二区三区湄公河 | 深夜福利视频网站 | 99热伊人| 亚洲射色 | 无码人妻精品一区二区三区9厂 | 网站在线看| 诱惑av | 色婷婷色综合 | 亚洲情热 | 国产精品丝袜黑色高跟鞋的设计特点 | 亚洲成人日韩在线 | 尤物视频免费观看 | 欧美精品欧美极品欧美激情 | 久久高清免费 | 欧美日韩五区 | 欧美日韩亚洲第一 | 在线免费观看你懂的 | 亚洲精品一区二三区不卡 | 屁屁影院第一页 | 五月天伊人网 | 夜夜爽妓女8888视频免费观看 | www.sesehu.com | 日韩黄色片免费看 |