我正在使用Nimbus外观创建一个JTabbedPane
的应用程序
我已使用此代码放置标签:
pane.addTab("Welcome",new ImageIcon("resources\\1.png"),mainPanel,"Takes to the welcome page");
我希望图标显示在左侧
答案 0 :(得分:8)
您可以通过JTabbedPane.setTabComponentAt(int index, Component component)方法设置自定义组件以呈现标签标题:
设置负责呈现标题的组件 指定标签。空值表示
JTabbedPane
将呈现标题 和/或指定选项卡的图标。非空值表示 组件将呈现标题,JTabbedPane
将不呈现标题 标题和/或图标。注意:组件不能是开发人员已经拥有的组件 添加到选项卡式窗格。
例如,你可以这样做:
JLabel label = new JLabel("Tab1");
label.setHorizontalTextPosition(JLabel.TRAILING); // Set the text position regarding its icon
label.setIcon(UIManager.getIcon("OptionPane.informationIcon"));
JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.LEFT);
tabbedPane.addTab(null, new JPanel());
tabbedPane.setTabComponentAt(0, label); // Here set the custom tab component
屏幕截图1:
注意:使用此功能,您可以根据需要设置任何Component
。例如,您可以使用JPanel
制作JButton
来关闭标签:
final JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.LEFT);
ActionListener actionListener = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
JButton button = (JButton)e.getSource();
for(int i = 0; i < tabbedPane.getTabCount(); i++) {
if(SwingUtilities.isDescendingFrom(button, tabbedPane.getTabComponentAt(i))) {
tabbedPane.remove(i);
break;
}
}
}
};
JLabel label = new JLabel("Tab1", UIManager.getIcon("OptionPane.informationIcon"), JLabel.RIGHT);
JButton closeButton = new JButton("X");
closeButton.addActionListener(actionListener);
JPanel tabComponent = new JPanel(new BorderLayout());
tabComponent.add(label, BorderLayout.WEST);
tabComponent.add(closeButton, BorderLayout.EAST);
tabbedPane.addTab(null, new JPanel());
tabbedPane.setTabComponentAt(0, tabComponent); // Here set the custom tab component
屏幕截图2:
您可能也希望看到此主题:JTabbedPane: tab placement set to LEFT but icons are not aligned
答案 1 :(得分:0)
使用HTML格式有一个更简单的解决方案。 这是一个使用html代码格式化文本的示例,但您也可以格式化选项卡中的其他元素:
mongoose.connect('mongodb://localhost:27017/newDB', function(err,db){
if(!err){
acl = new acl(new acl.mongodbBackend(mongoose.connection.db, 'acl_'));
acl.allow('guest', 'business', 'view');
console.log(acl);
var cursor = db.collection('record').find({ip: ipAddress, filename_full: filename});
cursor.each(function (err, doc) {
assert.equal(err, null);
if (doc != null) {
console.dir(doc);
} else {
console.log("Not found");
callback();
}
});*/
}
});