java标题为Nimbus UI问题中JList上的边界
我只想要JList白色的背景,从一个边框到另一个边框。然而,下面的图片正好显示了我的问题。每一个jlist都有一个标题边界。第二个是原样,白色延伸到边界。第一个我已经设置不透明为假,并设置背景为白色,但只有内部,减去插图是白色的。我希望我不必创建ListCellRenderer或重写paint方法来完成如此简单的任务。有什么建议吗
class TextTab extends JPanel
{
String[] textOptions = new String[]{"1 line of text","2 lines of text","3 lines of text","Chest Name","Script with Tail (1 Color)","Script with Tail (2 Color)"};
String[] numberOptions = new String[]{"1\"","2\"","3\"","4\"","6\"","8\"","10\""};
JList<String> textList = new JList<String>(textOptions);
JList<String> numberList = new JList<String>(numberOptions);
GridBagLayout ttGlay = new GridBagLayout();
GridBagConstraints gbc = new GridBagConstraints();
JPanel textNumOptions = new JPanel();
JScrollPane textNumOptionsPane = new JScrollPane(textNumOptions);
public TextTab()
{
textList.setBorder(new TitledBorder("Standard Text"));
textList.setOpaque(false);
textList.setBackground(Color.WHITE);
numberList.setBorder(new TitledBorder("Pre-Cut Numbers"));
setLayout(ttGlay);
gbc.weightx = 1;
gbc.weighty = 1;
gbc.gridx = 0;
gbc.gridy = 0;
gbc.anchor = gbc.NORTH;
gbc.fill = gbc.BOTH;
gbc.gridwidth = 1;
gbc.gridheight = 1;
gbc.insets = new Insets(10,10,0,0);
add(textList,gbc);
gbc.gridx = 1;
gbc.gridy = 0;
gbc.anchor = gbc.NORTH;
gbc.fill = gbc.BOTH;
gbc.gridwidth = 1;
gbc.gridheight = 1;
gbc.insets = new Insets(10,0,0,10);
add(numberList,gbc);
gbc.gridx = 0;
gbc.gridy = 1;
gbc.anchor = gbc.NORTH;
gbc.fill = gbc.BOTH;
gbc.gridwidth = 2;
gbc.gridheight = 1;
gbc.insets = new Insets(0,10,10,10);
add(textNumOptionsPane,gbc);
}
}
# 1 楼答案
我最终覆盖了paint方法,创建了自己的ListCellRenderer,就像我最初想做的那样。这有点费时,但它解决了我的问题