如何通知用户JTabbedPane中的特定Tab需要注意?
发布时间:2020-12-14 05:55:25 所属栏目:Java 来源:网络整理
导读:假设您有一个包含五个或更多选项卡的用户界面,并且您需要通知用户选项卡“2”需要注意. 有没有办法做到这一点?例如,使标签闪烁橙色,或更改标签的颜色?我没有成功使用requestFocus. 编辑:我也有兴趣知道如果可能的话,如何强制关注选项卡2. 解决方法 您可以
假设您有一个包含五个或更多选项卡的用户界面,并且您需要通知用户选项卡“2”需要注意.
有没有办法做到这一点?例如,使标签闪烁橙色,或更改标签的颜色?我没有成功使用requestFocus. 编辑:我也有兴趣知道如果可能的话,如何强制关注选项卡2. 解决方法
您可以通过使用某个计时器更改选项卡位置处的窗格的背景和前景来实现此目的.只需在某个时间间隔内更改它,它就会闪烁.这是一个演示:
JFrame frame = new JFrame(); frame.setSize(400,400); frame.setDefaultCloSEOperation(JFrame.EXIT_ON_CLOSE); final JTabbedPane pane = new JTabbedPane(); JPanel jPanel = new JPanel(); JButton button = new JButton("Blink tab"); jPanel.add(button); pane.addTab("adsad",jPanel); JPanel jPanel1 = new JPanel(); jPanel1.add(new JLabel("hi")); pane.addTab("werqr",jPanel1); final Color defaultBackColor = pane.getBackgroundAt(1); // default background color of tab final Color defaultForeColor = pane.getForegroundAt(1); // default foreground color of tab button.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { Timer timer = new Timer(500,new ActionListener() { boolean blinkFlag = false; @Override public void actionPerformed(ActionEvent e) { blink(blinkFlag); blinkFlag = !blinkFlag; } }); timer.start(); } private void blink(boolean blinkFlag) { if (blinkFlag) { pane.setForegroundAt(1,Color.green); pane.setBackgroundAt(1,Color.orange); } else { pane.setForegroundAt(1,defaultForeColor); pane.setBackgroundAt(1,defaultBackColor); } pane.repaint(); } }); frame.add(pane); frame.setVisible(true); 这里1是要闪烁的选项卡索引.停止闪烁停止计时器并将前景色和背景色设置为默认值.
如果要将焦点转移到该选项卡,可以使用setSelectedIndex(int index)方法. 编辑:- 正如@perp在评论中说的那样(我也测试了它并且他是对的)这对于WindowDefault以外的外观和感觉都不起作用.但前景色(文字颜色)仍然会闪烁. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- java – 有没有比调用Arrays.asList更好的替代List initali
- Java编译器是否针对不同的语言环境进行翻译?
- Java 编程的动态性,第 7 部分: 用 BCEL 设计字节码--转载
- 这个异常的原因是什么,java.io.IOException:Stream关闭了
- Java运算符的基本知识点
- java – 运行时间与O(nlogn)匹配吗?
- java – 将图像解压缩到blobstore中
- java – appengine-maven-plugin配置选项,如jvm标志
- Java微信公众平台开发(13) 微信JSSDK中Config配置
- java IO数据操作流、对象序列化、压缩流代码解析