我想知道如何从左侧开始设置 JTabbedPane 的选项卡位置。默认情况下,它们位于中间位置,因为我使用 Mac OS X。
如果您需要更多信息,请告诉我。
查看此图片,了解使用默认 JTabbedPane 在我的 mac 中获得的内容:
最佳答案
如果您的目标平台是 Mac,您很可能会遵循 OSX 的风格指南。 Java Development Guide for Mac 。第 40 页讨论了选项卡式 Pane 。
默认情况下,您只能将选项卡放置在不同的一侧,例如:
// Alternative placements:
// JTabbedPane.TOP
// JTabbedPane.RIGHT
// JTabbedPane.LEFT
// JTabbedPane.BOTTOM.
tabbedPane.setTabPlacement(JTabbedPane.TOP);
但是,如果您希望将选项卡放在顶部,但调整到左侧而不是居中,则需要选择不同的外观和感觉,或者修改系统外观。这是可能的,但有点复杂,并且正如已经指出的那样,不推荐这样做。在显示任何内容之前,您必须执行所有更改。有关该主题的起点,请参阅 How to write a Custom Look and Feel
有关运行示例,请参阅代码:
import java.awt.*;
import javax.swing.*;
public class Tab {
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
JFrame frame = new JFrame("TabbedPane");
frame.getContentPane().add(new TabView());
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.setMinimumSize(new Dimension(800, 450));
frame.setLocationRelativeTo(null); // Center
frame.pack();
frame.setVisible(true);
}
});
}
static class TabView extends JPanel {
private JTabbedPane tabbedPane;
TabView() {
createComponents();
makeLayout();
}
private void createComponents() {
tabbedPane = new JTabbedPane();
tabbedPane.addTab("Hello", new JLabel("World"));
tabbedPane.addTab("Goodbye", new JLabel("Sunshine"));
}
private void makeLayout() {
setLayout(new BorderLayout());
// Alternative placements: JTabbedPane.TOP, JTabbedPane.RIGHT, JTabbedPane.LEFT JTabbedPane.BOTTOM.
tabbedPane.setTabPlacement(JTabbedPane.TOP);
// Alternative layout policies: JTabbedPane.WRAP_TAB_LAYOUT or JTabbedPane.SCROLL_TAB_LAYOUT.
tabbedPane.setTabLayoutPolicy(JTabbedPane.WRAP_TAB_LAYOUT);
add(tabbedPane, BorderLayout.CENTER);
}
}
}
关于java - JTabbedPane 的选项卡位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13264927/