gpt4 book ai didi

Java JButton 文本和焦点显示不正确、重叠

转载 作者:行者123 更新时间:2023-11-30 03:11:48 24 4
gpt4 key购买 nike

我用 JButtons 创建了一个简单的 swing GUI。当我启动 GUI 时,this is what it looks like

enter image description here

如果我单击每个按钮一次,it looks like this.

enter image description here

如何删除每个按钮上的幻影文本,以及如何删除已单击按钮上的深灰色焦点?下面是我的按钮类

package gui;

import java.awt.Color;
import java.awt.Dimension;

import javax.swing.JButton;
import javax.swing.JPanel;

public class MenuButton extends JButton{

private static final long serialVersionUID = 1L;

public MenuButton(String text, JPanel container){
setPreferredSize(new Dimension((int)(container.getSize().width),50));
setBackground(new Color(168, 228, 247, 0));
setForeground(Color.WHITE);
setText(text);
setOpaque(false);
setFocusPainted(false);
setBorderPainted(false);
setRolloverEnabled(false);
setContentAreaFilled(false);
}

public void addTo(JPanel container){
container.add(this);
}
}

我在 main 中创建了一个“MenuButton”的新实例,并将其添加到名为 JMenu 的 Jpanel 中,但没有执行任何进一步操作。因此,它现在应该做的就是显示一个带有适当文本的 JButton,并且没有所有悬停/单击/鼠标悬停突出显示效果。

最佳答案

setBackground(new Color(168, 228, 247, 0));
setOpaque(false);

您的参数存在冲突。您说按钮是透明的(因此您不希望绘制背景),但您尝试为其指定带有 alpha 值的背景颜色。

使用其中之一,但不能同时使用。

如果您确实决定需要具有 alpha 值的背景,那么您将遇到绘画问题。查看Backgrounds With Transparency了解问题的解释和一些解决方案。

关于Java JButton 文本和焦点显示不正确、重叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33473182/

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