/**
* 选项卡 JApplet是japplet的扩展
*
* @time 9:09:33 AM
* @author retacn yue
* @Email zhenhuayue@sina.com
*/
public class Test_JtabedPaneTest extends JApplet {
private static final long serialVersionUID = 1L;
// 选项组件
private JTabbedPane tp = new JTabbedPane(SwingConstants.BOTTOM);
// 下接列表组件
private JComboBox combo = new JComboBox();
/**
* 构造器
*/
public Test_JtabedPaneTest() {
// 容器在线
Container container = getContentPane();
// 三个面板
JPanel comboPanel = new JPanel();
JPanel panelOne = new JPanel();
JPanel panelTwo = new JPanel();
// 中间显示面板中的按钮控件
panelOne.add(new JButton("当前选中的是第1个选项卡"));
panelOne.setBackground(Color.cyan);
panelTwo.add(new JButton("当前选中的是第2个选项卡"));
panelTwo.setBackground(Color.orange);
// 将两个tab页添加到选项组件
tp.add(panelOne, "Panel One");
tp.add(panelTwo, "Panel Two");
// 下拉列表
combo.addItem("TOP");
combo.addItem("LEFT");
combo.addItem("RIGHT");
combo.addItem("BOOTOM");
// 设置下拉列表的选中值
setComboValue();
comboPanel.add(new JLabel("选项卡的位置:"));
comboPanel.add(combo);
// 将下拉列表和选项卡两个组件添加到容器中
container.setLayout(new BorderLayout());
container.add(comboPanel, BorderLayout.NORTH);
container.add(tp, BorderLayout.CENTER);
combo.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
// 发生事件的对象
JComboBox comboBox = (JComboBox) e.getSource();
// 返回更改值
int state = e.getStateChange();
// 当前选中
if (state == ItemEvent.SELECTED) {
String selectItemText = (String) comboBox.getSelectedItem();
// 根据下拉列表的选中值设置选项卡的位置
if (selectItemText.equals("TOP")) {
tp.setTabPlacement(JTabbedPane.TOP);
}
if (selectItemText.equals("LEFT")) {
tp.setTabPlacement(JTabbedPane.LEFT);
}
if (selectItemText.equals("RIGHT")) {
tp.setTabPlacement(JTabbedPane.RIGHT);
}
if (selectItemText.equals("BOTTOM")) {
tp.setTabPlacement(JTabbedPane.BOTTOM);
}
// 验证,再次布置其子组件
tp.validate();
}
}
});
}
/**
* 设置下拉列表的选中值
*/
private void setComboValue() {
int placement = tp.getTabPlacement();
String selectedItem = null;
switch (placement) {
case JTabbedPane.TOP:
selectedItem = "TOP";
break;
case JTabbedPane.LEFT:
selectedItem = "LEFT";
break;
case JTabbedPane.RIGHT:
selectedItem = "RIGHT";
break;
case JTabbedPane.BOTTOM:
selectedItem = "BOTTOM";
break;
}
combo.setSelectedItem(selectedItem);
}
}
分享到:
相关推荐
这篇Swing读书笔记目录旨在帮助开发者更好地理解和掌握Swing的相关知识,通过阅读和学习,可以提升在Java GUI编程上的技能。 首先,Swing是Java Foundation Classes (JFC)的一部分,它是Sun Microsystems为Java平台...
### Java Swing 知识总结学习笔记 #### 一、Swing 概述 Swing 是一个用于构建桌面应用程序的 Java 图形用户界面 (GUI) 工具包,它基于 Java Abstract Window Toolkit (AWT) 构建而成。Swing 提供了更丰富的组件集...
### Swing读书笔记:深入理解Swing的包与版面结构 #### Swing的常用包解析 Swing作为Java中用于创建图形用户界面(GUI)的主要库,提供了丰富的组件和功能,其核心包及其作用如下: 1. **`javax.swing`**: - 这是...
10. **Swing应用程序框架(JFrame, JApplet)**:JFrame是Swing中的主窗口,而JApplet则是可以在网页中运行的Swing应用程序。理解如何使用这两个基础框架来组织和展示GUI元素是学习Swing的关键。 学习Swing不仅需要...
### JApplet实现界面的Java计算器代码:详细解析与知识点 #### 1. JApplet简介 `JApplet`是Java中用于创建浏览器内嵌应用程序的类,它继承自`Applet`类并实现了`Component`接口。通过`JApplet`,开发者可以创建具有...
在JavaSwing学习资料中,你将获得深入理解这个强大的GUI库所需的知识。初学者通过学习这些资料,可以掌握如何创建美观且功能丰富的桌面应用程序。 1. **Swing基础** - **组件体系结构**:Swing组件基于轻量级/重型...
Swing 教程 Swing 简介 Swing 是 Java 的一个图形用户界面(GUI)工具包,用于创建跨平台的 GUI 应用程序。Swing 是 Java Foundation Classes(JFC)的...Swing 的优点包括跨平台、轻量级、灵活性强、可扩展性强等。
它们各自承担特定的布局和功能,例如JPanel作为基本容器,JScrollPane提供滚动功能,JToolBar用于创建工具栏,JSplitPane分割视图,JTabbedPane实现选项卡布局。 6. **Swing编程注意事项** - Swing组件与AWT组件...
Swing是Java编程语言中用于构建图形用户界面(GUI)的库,它是Java Foundation Classes (JFC)的一部分。Swing提供了丰富的组件集,允许...通过学习Swing,Java开发者能够构建出更加美观、高效的应用,满足用户的需求。
Swing的类结构相当庞大,其中JComponent是所有轻量组件的基类,它扩展了Container类。例如,JFrame是用于创建Swing窗口的应用程序框架,它是AWT中的Frame类的子类,而JApplet则用于创建Java小应用程序,是Applet类的...
Swing是Java Foundation Classes (JFC)的重要组成部分,它是Java编程语言中用于构建图形用户界面(GUI)的库。Swing提供了丰富的组件...通过深入学习Swing,开发者可以构建出与操作系统无关、用户体验优秀的应用程序。
Swing提供了许多AWT没有的组件,如JTable(表格)、JTree(树形结构)和JTabbedPane(选项卡)。Swing还引入了轻量级组件(JComponent)的概念,使得自定义组件变得更加容易。Swing的组件前缀通常为“J”,例如`...
- **顶级容器**:建议在Swing应用中使用JFrame、JApplet等Swing顶级容器,以减少潜在的问题。 综上所述,选择AWT还是Swing主要取决于项目需求。如果需要与操作系统紧密集成、重视性能,或者只需要基本的GUI功能,...
Swing还引入了模型-视图-控制器(MVC)设计模式,使得数据和界面逻辑分离,提高了代码的可维护性和可扩展性。 事件处理是Swing中的另一个重要概念。通过添加EventListener和实现相应的Listener接口,你可以响应用户...
总的来说,"eclipse swing例子收集" 提供了一个学习和实践Swing GUI编程的平台,Arith.java作为其中一个例子,展示了如何在Eclipse中使用Swing构建具有算术功能的用户界面。通过深入研究这个例子,开发者可以了解到...
Swing不仅包含了AWT中的基本组件(如按钮、复选框等),还新增了许多高级组件,如选项卡面板、滚动面板、树形结构、表格等。此外,Swing还允许组件状态的变化反映在外观上,例如按钮的图标可以根据不同的状态自动...
8. **Swing 工具包扩展**:除了基本组件,Swing 还提供了一些高级组件,如 JTable(表格)、JTree(树状视图)、JTabbedPane(选项卡面板)和 JToolBar(工具栏),它们为应用程序提供了更复杂的数据展示和用户交互...
`JComponent`是Swing组件层次结构的基础,它扩展了AWT的`Component`类,添加了许多高级特性,如内置的事件处理、可定制的外观(LookAndFeel)以及丰富的组件属性。通过`JComponent`,开发者可以方便地自定义组件的...
【Java GUI】(图形用户界面,Graphical User Interface)是Java编程中不可或缺的一部分,...对于初学者来说,"狂神说Java学习笔记"将是一个宝贵的资源,其中包含的源代码和图片能够直观地展示如何将理论转化为实际应用。