编写包含选项卡面板(JTabbedPane)的窗口程序,初始选择的选项卡是“选项卡C”,选项卡标题中设定图标和文本,每个选项卡中包含一个标签组件,把鼠标移动到选项卡标题上会显示提示信息
时间: 2024-09-26 08:18:05 浏览: 45
JAVA选项卡的实现.txt
4星 · 用户满意度95%
在Java Swing库中,你可以创建一个窗口程序,其中包含一个`JTabbedPane`用于管理多个选项卡。下面是一个简单的示例,展示如何设置初始选中的选项卡、标题图标、文本以及悬停提示:
```java
import javax.swing.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
public class TabbedPaneExample extends JFrame {
private JTabbedPane tabbedPane;
public TabbedPaneExample() {
// 初始化窗口
setTitle("选项卡面板示例");
setSize(400, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 创建并初始化JTabbedPane
tabbedPane = new JTabbedPane();
// 创建三个选项卡
JPanel tabPageA = createPanel("选项卡A", "icon_a.png"); // 假设icon_a.png是图标文件路径
JPanel tabPageB = createPanel("选项卡B", "icon_b.png");
JPanel tabPageC = createPanel("选项卡C", "icon_c.png"); // 设置为默认选中
tabbedPane.add(tabPageA, "选项卡A");
tabbedPane.add(tabPageB, "选项卡B");
tabbedPane.add(tabPaneC, "选项卡C");
// 设置提示信息
tabbedPane.addMouseListener(new MouseAdapter() {
@Override
public void mouseEntered(MouseEvent e) {
String tipText = (String) tabbedPane.getTitleAt(tabbedPane.getLeadIndex());
Toolkit.getDefaultToolkit().beep(); // 鼠标悬停时响铃作为提示
JOptionPane.showMessageDialog(null, "您已将鼠标悬停在:" + tipText);
}
});
// 将JTabbedPane添加到窗口内容
setContentPane(tabbedPane);
setVisible(true);
}
private JPanel createPanel(String title, String iconPath) {
JPanel panel = new JPanel();
JLabel titleLabel = new JLabel(title);
titleLabel.setIcon(new ImageIcon(iconPath)); // 设置图标
// 添加标签组件或其他需要的内容...
// 这里仅示例标签组件
JLabel label = new JLabel("这是选项卡内的内容...");
panel.add(titleLabel);
panel.add(label);
return panel;
}
// 主函数入口
public static void main(String[] args) {
EventQueue.invokeLater(() -> new TabbedPaneExample());
}
}
```
在这个例子中,我们首先创建了一个`JFrame`窗口,然后创建了`JTabbedPane`对象。给每个选项卡创建一个对应的`JPanel`,设置了图标和文本。为了在鼠标悬停时显示提示,我们添加了一个鼠标进入事件处理器。
注意:这个代码假设你已经有了图标文件(如`icon_a.png`, `icon_b.png`, 和 `icon_c.png`)。实际运行时,你需要替换这些路径为你实际的图标文件位置。
阅读全文