Я ищу способ изменить графику компоненты на JMenuBar
компоненты на JMenuBar
У меня есть следующие JMenuBar
.
package GUIMain;
import javax.swing.*;
import java.awt.*;
public class MyMenuBar extends JMenuBar
{
int fontMetrics;
FontMetrics fM;
JLabel lblSmartSize = new JLabel("", SwingConstants.CENTER);
JCheckBox chkbtnSmartSize = new JCheckBox();
SortsGui sG;
public MyMenuBar(SortsGui sG)
{
this.sG = sG;
setBorderPainted(true);
makePopUpMenu();
}
void makePopUpMenu()
{
add(Box.createHorizontalGlue());
fM = lblSmartSize.getFontMetrics(lblSmartSize.getFont());
fontMetrics = fM.stringWidth("Enable Smart Resizing?");
lblSmartSize.setMinimumSize(new Dimension(fontMetrics+10,25));
lblSmartSize.setPreferredSize(new Dimension(fontMetrics+10,25));
lblSmartSize.setMaximumSize(new Dimension(fontMetrics+10,25));
add(lblSmartSize);
chkbtnSmartSize.setBackground(lblSmartSize.getBackground());
add(chkbtnSmartSize);
}
}
Это создает JMenuBar
, который выглядит следующим образом (извинениями за взорванного скриншоте)
Как вы можете видеть JMenuBar
имеет JLabel
и JCheckBox
на нем. Как изменить фон JCheckBox
так, чтобы он не имел квадрата вокруг него, который отличается от стандартного вида JMenuBar
.
Я попытался следующий код и до сих пор не увенчались успехом
chkbtnSmartSize.setBackground(this.getBackground());
(С другой попытки)
chkbtnSmartSize.setBackground(lblSmartSize.getBackground());
Любая помощь в решении этого будет благодарные
Спасибо,
Dan