gpt4 book ai didi

java - Swing:将鼠标悬停在半透明 JPanel 上的单选按钮标签上

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:51:15 27 4
gpt4 key购买 nike

在我的问题中,我有一个不透明的 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,0,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 的颜色会在鼠标悬停时发生变化,并在鼠标退出时重置为原始颜色,文本会在不同的地方重绘,如下图所示:-

http://s13.postimage.org/6yn3cw48n/Untitled.png

如有必要,我也会发布该代码。我认为这两种情况都存在相同的问题。

最佳答案

您得到这些绘画瑕疵可能是因为背景使用了透明色。 JComponents 不支持透明色作为背景色。这里有个好article @camickr 详细解释了问题并提供了替代解决方案。

关于java - Swing:将鼠标悬停在半透明 JPanel 上的单选按钮标签上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11515582/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com