Swing选项卡(JTabbedPane)的使用
程序员文章站
2024-01-31 22:57:10
...
使用选项卡可以在有限的布局空间内展示更多的内容。Swing 使用 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。
二、常用方法:
选项卡面板和卡片布局不同的是,选项卡面板可以有标签。
三、实例:
package swing;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.Toolkit;
import java.awt.event.KeyEvent;
import javax.swing.ImageIcon;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
/**
* 选项卡面板 JTabbedPane
*/
public class Demo34_JTabbedPane extends JPanel{
public static void main(String[] args) {
JFrame frame=new JFrame("我的电脑 - 属性");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(new Demo34_JTabbedPane(),BorderLayout.CENTER);
SwingUtils.setCenter(frame);//设置窗体大小600*800并居中
frame.setVisible(true);
}
public Demo34_JTabbedPane() {
super(new GridLayout(1,1));
JTabbedPane tabbedPane=new JTabbedPane();
ImageIcon icon=createImageIcon("NEW.png");
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);
}
protected JComponent makeTextPanel(String text){
JPanel panel=new JPanel(false);
JLabel filler=new JLabel(text);
filler.setFont(new Font("宋体", 1, 50));
filler.setHorizontalAlignment(JLabel.CENTER);
panel.setLayout(new GridLayout(1,1));
panel.add(filler);
return panel;
}
protected static ImageIcon createImageIcon(String path){
java.net.URL imgURL=Demo34_JTabbedPane.class.getResource(path);
if(imgURL!=null){
return new ImageIcon(imgURL);
}
else{
System.err.println("Couldn't find file: "+path);
return null;
}
}
}
package swing;
import java.awt.Toolkit;
import javax.swing.JFrame;
public class SwingUtils {
public static void setCenter(JFrame jf) {
int screenWidth=Toolkit.getDefaultToolkit().getScreenSize().width;
int screenHeight=Toolkit.getDefaultToolkit().getScreenSize().height;
int jframeWidth = 800;
int jframeHeight = 600;
jf.setBounds((screenWidth/2)-(jframeWidth/2), (screenHeight/2)-(jframeHeight/2),
jframeWidth, jframeHeight);
}
}
上一篇: java爬虫查成语应用程序Swing编程
下一篇: 如何把一个QT应用程序变为DLL
推荐阅读
-
Swing计时器(Timer)组件的使用
-
Swing 表格(JTable)的使用
-
Java~Swing中下拉式菜单JMenuBar(菜单栏)、JMenu(菜单)和JMenuItem(菜单项)的使用
-
Swing选项卡(JTabbedPane)自定义选项卡样式
-
JavaGUI——swing组件基础(七)选项卡窗格JTabbedPane
-
Swing选项卡(JTabbedPane)的使用
-
Java Swing组件JCheckBox和JRadioButton的简单使用
-
在Word2003窗口的对话框中使用选项卡
-
android TabHost(选项卡)的使用方法
-
ASP.NET中MultiView和View选项卡控件的使用方法