`

漂亮地构造JTabbedPane

阅读更多
import javax.swing.JTabbedPane;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JComponent;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.KeyEvent;

public class Test1 extends JPanel {
	public Test1() {
		super(new GridLayout(1, 1));

		JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.TOP);
		ImageIcon icon = createImageIcon("images/middle.gif");

		JComponent panel1 = makeTextPanel("Panel #1");
		tabbedPane.addTab("Tab 1", icon, panel1, "Does nothing");
		tabbedPane.setMnemonicAt(0, KeyEvent.VK_1);

		JComponent panel2 = makeTextPanel("Panel #2");
		tabbedPane.addTab("Tab 2", icon, panel2, "Does twice as much nothing");
		tabbedPane.setMnemonicAt(1, KeyEvent.VK_2);

		JComponent panel3 = makeTextPanel("Panel #3");
		tabbedPane.addTab("Tab 3", icon, panel3, "Still does nothing");
		tabbedPane.setMnemonicAt(2, KeyEvent.VK_3);

		JComponent panel4 = makeTextPanel("Panel #4 (has a preferred size of 410 x 50).");
		panel4.setPreferredSize(new Dimension(410, 50));
		tabbedPane.addTab("Tab 4", icon, panel4, "Does nothing at all");
		tabbedPane.setMnemonicAt(3, KeyEvent.VK_4);

		// Add the tabbed pane to this panel.
		add(tabbedPane);

		// The following line enables to use scrolling tabs.
		tabbedPane.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);
	}

	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;
	}

	/** Returns an ImageIcon, or null if the path was invalid. */
	protected static ImageIcon createImageIcon(String path) {
		java.net.URL imgURL = Test1.class.getResource(path);
		if (imgURL != null) {
			return new ImageIcon(imgURL);
		} else {
			System.err.println("Couldn't find file: " + path);
			return null;
		}
	}

	/**
	 * Create the GUI and show it. For thread safety, this method should be
	 * invoked from the event dispatch thread.
	 */
	private static void createAndShowGUI() {
		// Create and set up the window.
		JFrame frame = new JFrame("TabbedPaneDemo");
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		// Add content to the window.
		frame.add(new Test1(), BorderLayout.CENTER);

		// Display the window.
		frame.pack();
		frame.setVisible(true);
	}

	public static void main(String[] args) {
		// Schedule a job for the event dispatch thread:
		// creating and showing this application's GUI.
		SwingUtilities.invokeLater(new Runnable() {
			public void run() {
				// Turn off metal's use of bold fonts
				UIManager.put("swing.boldMetal", Boolean.FALSE);
				createAndShowGUI();
			}
		});
	}
}

 看这代码,漂亮,飘逸!

分享到:
评论
2 楼 dracularking 2010-11-08  
暈,1樓,不反對異議,但至少也要給理由才有意義吧,這裡只歡迎純道交流~
1 楼 happyfish356 2010-11-04  
看这代码,漂亮,飘逸?
我有点呕吐的感觉

相关推荐

    带关闭按钮的JTabbedPane

    这个特定的项目是关于如何在`JTabbedPane`的每个选项卡上添加一个关闭按钮,使得用户能够动态地移除不需要的面板。这通常涉及到自定义`JPanel`和利用事件处理机制来实现这一功能。 首先,让我们深入了解一下`...

    swing自定义JTabbedPane组件外观

    在Java Swing库中,`JTabbedPane`是一个非常重要的组件,它允许用户在多个面板(JPanel)之间切换,每个面板都可以包含不同的内容。自定义`JTabbedPane`的外观可以提升应用程序的用户体验,使其更加个性化和专业。...

    Jtabbedpane实现多任务

    5. **动态添加和移除选项卡**:在运行时,可以使用`addTab()`和`removeTabAt()`方法动态地添加或移除选项卡。 6. **禁用和启用选项卡**:通过`setEnabledAt(int index, boolean enabled)`方法可以启用或禁用特定的...

    java swing JTabbedPane实例

    Java Swing 是Java GUI...总之,`JTabbedPane`是Java Swing中非常实用的一个组件,它极大地提高了用户界面的组织性和可用性。通过熟练掌握`JTabbedPane`的使用,开发者能够构建出更加直观和功能丰富的桌面应用程序。

    netbeans实现的可关闭“JTabbedPane”

    6. **兼容性**: 这个实现应该与标准的`JTabbedPane`保持高度的兼容性,以便于在其他不使用NetBeans的项目中也能方便地集成和使用。 在压缩包`OnClosingJTab`中,很可能包含了这个具有关闭功能的`JTabbedPane`的源...

    Java中JTabbedPane(选项卡)的用法实例

    通过`JTabbedPane`,开发者可以轻松地创建出功能丰富的图形用户界面,提供更直观的操作体验。在实际项目中,你可以根据需求添加更多的选项卡,或者将更复杂的组件(如表格、树形视图等)嵌入到选项卡中,以满足各种...

    java swing jTabbedPane 自定义UI(宽、高、放大、文本、颜色、间距) 简单易懂带注释可直接运行

    java swing jTabbedPane 自定义的U,包括(宽、高、点击放大、文本字体、背景颜色、选项卡间距等) 简单易懂带注释可直接运行

    JTabbedPane简单示例

    一个简单的标签页实例

    选项卡面板例子JTabbedPane

    在Java Swing库中,`JTabbedPane`是一个非常重要的组件,用于创建选项卡式界面,类似于许多应用程序中常见的“文件”、“编辑”、“查看”等菜单项的组织方式。在这个例子中,我们将深入探讨`JTabbedPane`的使用,...

    带关闭按钮可定制的JTabbedPane

    带关闭按钮可定制的JTabbedPane,首先解决了java自带的UI丑的不行的问题,然后附带了可关闭按钮,这个可关闭按钮,可以在添加标签时,自定义是否出现.该资源属于网络资源,谢谢作者的无私奉献.象征性的收1点积分,因为我的...

    java Swing实现选项卡功能(JTabbedPane)实例代码

    你可以通过调用其构造函数 `JTabbedPane(int tabPlacement)` 来指定选项卡的位置。`tabPlacement` 参数可以是 `javax.swing.SwingConstants` 接口中的常量,例如 `TOP`、`BOTTOM`、`LEFT` 或 `RIGHT`,分别表示选项...

    java swing-JTabbedPane的使用

    JTabbedPane是Swing库提供的一个选项卡面板组件。它可以在图形界面中创建多个选项卡,并在用户点击不同选项卡时显示相应的内容。

    增强型JTabbedPane

    在Java Swing库中,`JTabbedPane`是一个用于创建多面板界面的强大组件,它使得用户可以在不同的选项卡之间切换以查看或操作不同的内容。然而,标准的`JTabbedPane`并未提供直接的方法来在选项卡集的开头或结尾添加...

    JTabbedPanel的标签

    通过精细地控制颜色、形状和事件处理,我们创造出了既美观又实用的标签页设计。这种方法不仅可以应用于JTabbedPane,还可以推广到其他Swing组件的自定义设计中,为开发者提供了强大的工具,以构建更具吸引力和专业性...

    java swing漂亮界面 超酷 javaswing教程

    6. **JTabbedPane和JSplitPane**:JTabbedPane可以创建带有标签的页面,方便切换不同视图;JSplitPane则用于分割窗口,让用户可以调整两个区域的大小。 7. **对话框**:JOptionPane提供了一些预定义的对话框,如...

    学生成绩系统_实现成绩的查询和排序。具体要求如下:使用jtabbedpane,建立三个选项卡“成绩输入,实验内容:实现成绩的查询和排序

    具体要求如下:使用JTabbedPane,建立三个选项卡“成绩输入”、“成绩查询”、“成绩排序” ① 成绩输入:从界面上输入学生的学号和成绩,点击“确认”按钮进行保存。 ② 成绩查询:输入学生的学号,点击“查询”...

    最漂亮的Swing

    2. **组件丰富**:Swing包含了大量的组件,如JButton、JLabel、JTextField、JTextArea、JTable、JTree、JTabbedPane等,可以满足各种复杂应用的需求。 3. **可定制性**:Swing提供了一系列的外观和布局管理器,...

    动态删减选项卡的效果示例

    动态删减选项卡的效果示例! 值得下载看看!资源免费,大家分享!! 更多免费资源 http://ynsky.download.csdn.net/

Global site tag (gtag.js) - Google Analytics