java - JTabbedPane:选项卡左侧的图标

标签 java swing icons jtabbedpane nimbus

你好,我正在使用灵气外观,并且有一个带有图标和文本的选项卡式 Pane 。 现在图标出现在文本的右侧,而我希望它出现在左侧。

我还想在图标和文本之间添加一些间距。

谢谢!

最佳答案

需要自己设置tab组件;它控制选项卡标题的呈现方式。

// Create tabbed pane and add tabs.
JTabbedPane tabbedPane = ...

// Create bespoke component for rendering the tab.
JLabel lbl = new JLabel("Hello, World");
Icon icon = new ImageIcon(getClass().getResource("/foo/bar/hello.jpg"));
lbl.setIcon(icon);

// Add some spacing between text and icon, and position text to the RHS.
lbl.setIconTextGap(5);
lbl.setHorizontalTextPosition(SwingConstants.RIGHT);

// Assign bespoke tab component for first tab.
tabbedPane.setTabComponentAt(0, lbl);

显然,您可以将其封装在一个实用方法中:

private void addTab(JTabbedPane tabbedPane, Component tab, String title, Icon icon) {
  tabbedPane.add(tab);

  JLabel lbl = ... // Create bespoke label for rendering tab title.

  tabbedPane.setTabComponentAt(tabbedPane.getTabCount() - 1, lbl);
}

关于java - JTabbedPane:选项卡左侧的图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1782224/

相关文章:

java - Glassfish 中的服务器身份验证模块转发

java - 多态性:构造函数不接受参数

java - 使用 Spring Boot 应用程序作为 gradle 的依赖项

java - MySql 中的 Row_Number() 结果值为 Double,但在 IBM Data Studio 中结果为 Int

html - 悬停时更改按钮内箭头的形状和颜色

java - 是否可以在 for 循环中删除字符串数组中非数字的元素?

java - 动态插入数组的大小并将旧值保留在数组中

java - 在 .jar 文件中加载图像时出现 NullPointerException

Android tabHost 和 tabWidget 图标问题

html5up 模板添加额外的 Font Awesome 图标