JAVA GUI学习 - JTabbedPane选项卡组件学习
2024-10-12 15:49:36
public class JTabbedPaneKnow extends JFrame
{
JTabbedPane jTabbedPane;
JPanel jPanelRed;
JPanel jPanelGreen;
JPanel jPanelYellow;
JPanel jPanelBlue;
public JTabbedPaneKnow()
{
init();
this.setBounds(200, 50, 500, 500);
this.setTitle("选项卡 - 知识");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.add(jTabbedPane);
}
public void init()
{
jPanelBlue = new JPanel();jPanelBlue.setBackground(Color.blue);jPanelBlue.setName("蓝色卡牌");
jPanelGreen = new JPanel();jPanelGreen.setBackground(Color.green);jPanelGreen.setName("绿色卡牌");
jPanelRed = new JPanel();jPanelRed.setBackground(Color.red);jPanelRed.setName("红色卡牌");
jPanelYellow = new JPanel();jPanelYellow.setBackground(Color.yellow);jPanelYellow.setName("黄色卡牌"); //第一个参数:选项卡的标题所在位置:上下左右
//第二个参数:即选项卡呈现的方式:当窗口变小时:卡标题向下排列,或不重排列出现滚动条
jTabbedPane = new JTabbedPane(JTabbedPane.TOP,JTabbedPane.SCROLL_TAB_LAYOUT); //第一个参数:即选项卡显示的标题
//第二个参数:即选项卡没张卡对应的面板
jTabbedPane.add("蓝色卡牌", jPanelBlue);jTabbedPane.add("绿色卡牌", jPanelGreen);
jTabbedPane.add("红色卡牌", jPanelRed);jTabbedPane.add("黄色卡牌", jPanelYellow); //设置默认的选项卡页,方式一:通过选项卡的索引
jTabbedPane.setSelectedIndex(1); //设置默认的选项卡页,方式二:通过选项卡变量名
jTabbedPane.setSelectedComponent(jPanelGreen); //获取当前卡页的选项卡索引
int index = jTabbedPane.getSelectedIndex();
//获取当前卡页的选项卡面板
JPanel jPanel = (JPanel) jTabbedPane.getSelectedComponent();
System.out.println(jPanel.getName()); //为选项卡添加监听器
jTabbedPane.addChangeListener(new JTabbedPaneChangeListener());
}
private class JTabbedPaneChangeListener implements ChangeListener
{
@Override
public void stateChanged(ChangeEvent e)
{
JTabbedPane jTabbedPane = (JTabbedPane) e.getSource();
JOptionPane.showMessageDialog(null, ((JPanel)jTabbedPane.getSelectedComponent()).getName()+":被打开了");
}
}
public static void main(String[] args)
{
JTabbedPaneKnow jTabbedPaneKnow = new JTabbedPaneKnow();
jTabbedPaneKnow.setVisible(true);
} }
最新文章
- AFN解析器里的坑
- jquery css属性练习
- hdu 4698 - Counting(思路)
- GitLab:解决Merge Request中Commits不更新的问题
- [Xamarin.Android] Fragment Tips
- 记录:js删除数组中某一项或几项的几种方法
- 计算器显示e-005什么意思
- Windows7如何在安全模式下卸载驱动(亲测)
- UIPageViewController-浅析
- 【原创】Android 系统稳定性 - ANR(二)
- ZOJ 2476 Total Amount
- java面试题—精选30道Java笔试题解答(二)
- 001-List,数组,Set,Map属性的映射
- PC装MAC(VM虚拟机)想体验苹果系统的福利
- 手机端-ajax跨域请求滚屏分页
- 再谈git和github-深入理解-3
- RxSwift学习笔记9:amb/tabkeWhile/tabkeUntil/skipWhile/skipUntil
- 获取字段唯一值工具- -ArcPy和Python案例学习笔记
- RabbitMQ消息队列名词解释[转]
- pip 解决 ImportError: cannot import name 'main'