结果:
Source Code:
package com.learn.gui;
import java.awt.GridLayout;
import java.awt.event.KeyEvent;
import java.net.URL;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
public class JTabbedPaneDemo extends JPanel {
private JTabbedPane jTabbedpane = new JTabbedPane();// 存放选项卡的组件
private String[] tabNames = { "Tab1", "Tab2","Tab13","Tab4" };
ImageIcon icon = createImageIcon("images/middle.gif");
public JTabbedPaneDemo() {
layoutComponents();
}
private void layoutComponents() {
int i = 0;
// 第一个标签下的JPanel
JPanel panel1 = createTab1Panel();
// jTabbedpane.addTab(tabNames[i++],icon,creatComponent(),"first");//加入第一个页面
jTabbedpane.addTab(tabNames[i++], icon, panel1, "Tab1");// 加入第一个页面
jTabbedpane.setMnemonicAt(0, KeyEvent.VK_0);// 设置第一个位置的快捷键为0
// 第二个标签下的JPanel
JPanel jpanelOutputParamsTemp = new JPanel();
jTabbedpane.addTab(tabNames[i++], icon, jpanelOutputParamsTemp, "Tab2");// 加入第一个页面
jTabbedpane.setMnemonicAt(1, KeyEvent.VK_1);// 设置快捷键为1
setLayout(new GridLayout(1, 1));
add(jTabbedpane);
// 第3个标签下的JPanel
JPanel jpanelOutputWsData = new JPanel();
jTabbedpane.addTab(tabNames[i++], icon, jpanelOutputWsData, "Tab3");// 加入第一个页面
jTabbedpane.setMnemonicAt(1, KeyEvent.VK_2);// 设置快捷键为2
setLayout(new GridLayout(1, 1));
add(jTabbedpane);
// 第4个标签下的JPanel
JPanel jpanelEfm = new JPanel();
jTabbedpane.addTab(tabNames[i++], icon, jpanelEfm, "Tab4");// 加入第一个页面
jTabbedpane.setMnemonicAt(1, KeyEvent.VK_3);// 设置快捷键为1
setLayout(new GridLayout(1, 1));
add(jTabbedpane);
}
private ImageIcon createImageIcon(String path) {
URL url = JTabbedPaneDemo.class.getResource(path);
if (url == null) {
System.out.println("the image " + path + " is not exist!");
return null;
}
return new ImageIcon(url);
}
private JPanel createTab1Panel(){
JPanel panel = new JPanel(false);
panel.setLayout(null); // new GridLayout()
JLabel importDir = new JLabel("Import Folder:");
JTextField textImportDir = new JTextField(15);
JButton btnSubmit = new JButton("Submit");
panel.add(importDir);
panel.add(textImportDir);
panel.add(btnSubmit);
importDir.setBounds(100, 75, 100, 25);
textImportDir.setBounds(200, 75, 200, 25);
btnSubmit.setBounds(100, 125, 80, 25);
return panel;
}
/**
* @param args
*/
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
JFrame frame = new JFrame("Test Tab");
frame.setLayout(null);
frame.setContentPane(new JTabbedPaneDemo());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setResizable(false);
frame.setSize(500, 300);
frame.setVisible(true);
}
});
}
}