0
組件我正在尋找一種方式來改變一個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());
在完成這將不勝感激
感謝任何幫助,
丹