java – Swing:将鼠标悬停在半透明JPanel上的单选按钮标签上
发布时间:2020-12-15 00:04:24 所属栏目:Java 来源:网络整理
导读:在我的问题中,我有一个不透明的JPanel和另一个半透明(半透明)的JPanel,它位于第一个JPanel上.当我在顶部JPanel上添加单选按钮时.问题是每当我在每个单选按钮的标签区域上输入鼠标时(每次我将鼠标从标签上移开),它会变得越来越暗. package trial;import java.
在我的问题中,我有一个不透明的JPanel和另一个半透明(半透明)的JPanel,它位于第一个JPanel上.当我在顶部JPanel上添加单选按钮时.问题是每当我在每个单选按钮的标签区域上输入鼠标时(每次我将鼠标从标签上移开),它会变得越来越暗.
package trial; import java.awt.Color; import javax.swing.ButtonGroup; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JRadioButton; public class Test { public static void main(String arg[]){ JFrame rootframe = new JFrame("Test panel"); rootframe.setSize(800,550); rootframe.setExtendedState(JFrame.MAXIMIZED_BOTH); JPanel basePanel = new JPanel(); //fills rootFrame basePanel.setOpaque(true); basePanel.setBackground(Color.yellow ); JPanel panelContainingRadioButtons = new JPanel();//wraps radio buttons panelContainingRadioButtons.setOpaque(true); panelContainingRadioButtons.setBackground(new Color(0,100) ); ButtonGroup buttonGroup1 = new ButtonGroup(); JRadioButton jRadioButton1 = new JRadioButton(); jRadioButton1.setText("Text A..............................."); jRadioButton1.setOpaque(false); jRadioButton1.setForeground( Color.white); buttonGroup1.add(jRadioButton1); JRadioButton jRadioButton2 = new JRadioButton(); jRadioButton2.setOpaque(false); jRadioButton2.setForeground( Color.white); buttonGroup1.add(jRadioButton2); jRadioButton2.setText("Text B......................."); JRadioButton jRadioButton3 = new JRadioButton(); jRadioButton3.setOpaque(false); jRadioButton3.setForeground( Color.white); buttonGroup1.add(jRadioButton3); jRadioButton3.setText("Text C................................"); panelContainingRadioButtons.add(jRadioButton1); panelContainingRadioButtons.add(jRadioButton2); panelContainingRadioButtons.add(jRadioButton3); basePanel.add(panelContainingRadioButtons); rootframe.add(basePanel); rootframe.setVisible(true); } } 我相信这不是单选按钮的问题,因为在另一个场合,我观察到在相同条件下,如果我将JLabel添加到顶部JPanel,并将侦听器添加到顶部面板,以便jLabel文本的颜色将当鼠标悬停时更改,并在鼠标退出时重置为原始颜色,文本将在不同位置重绘,如下图所示: – 如有必要,我也会发布该代码.我认为这两个案例都存在同样的问题. 解决方法
您可能会因为用于背景的透明颜色而获得这些绘画工件. JComponents不支持透明颜色作为背景颜色.这是@camickr的一个很好的
article,详细解释了这个问题,并提供了另一种解决方案.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- java – @PostConstruct为@ConversationScoped bean多次调用
- 详解MySQL的简易封装以及使用
- java – 如何使JButton具有简单的平面样式?
- Java第一次找到一个特定的字母
- 第八周课程总结&实验报告(六)
- iOS10实现推送功能时的注意点和问题总结
- java – 在JPA中使用MAX()无法使用SELECT查询获得正确的值
- java – 通过在eclipse中设置断点来调试ServletContextList
- java – 如何使用毕业生构建Android应用程序时如何删除特定
- java – 如何从我的Android应用程序通过WhatsApp向特定联系