1

我正在向选项卡添加图标,但我希望 ImageIcon 适合所有选项卡组件。

在此处输入图像描述

我试过这段代码

ImageIcon icon = new ImageIcon("images/itemtexto-off.png");
Image img = icon.getImage() ;  
Image newimg = img.getScaledInstance( 50, 25,  java.awt.Image.SCALE_DEFAULT ) ;  
icon = new ImageIcon( newimg );
tabbedPaneProductDetail.setIconAt(0, icon);

我也尝试将此作为解决方案,但没有奏效。

JLabel label = new JLabel(icon);
label.setBackground(Color.BLUE);
tabbedPaneProductDetail.setTabComponentAt(1,label);
4

2 回答 2

2

您可以尝试使用 UIManager。在开始创建组件之前,在程序的开头添加以下内容:

UIManager.put("TabbedPane.tabInsets", new Insets(0, 0, 0, 0));

当然不是所有的 LAF 都支持这个选项。有关更多信息,请参阅UIManager 默认值。

于 2013-08-27T14:39:40.393 回答
1

我找到了一个解决方案,我不知道它是否正确,感谢@camickr

tabbedPane.setUI(new SynthTabbedPaneUI(){

Insets insets =new Insets(0, 0, 0, 0);

@Override
protected Insets getTabInsets(int tabPlacement,
                  int tabIndex){
                  return insets;
}

});

在此处输入图像描述

更新

我找到了另一种设置此属性的解决方案

UIManager.getLookAndFeelDefaults().put("TabbedPane:TabbedPaneTab.contentMargins",  new Insets(0, 0, 0, 0));
于 2013-08-27T15:12:28.843 回答