我想知道如何从左侧开始设置 JTabbedPane 的选项卡位置。默认情况下,它们位于中心位置,因为我使用的是 Mac OS X。
如果您需要更多信息,请告诉我。
查看此图像以了解我使用默认 JTabbedPane 在我的 mac 中获得的内容:
我想知道如何从左侧开始设置 JTabbedPane 的选项卡位置。默认情况下,它们位于中心位置,因为我使用的是 Mac OS X。
如果您需要更多信息,请告诉我。
查看此图像以了解我使用默认 JTabbedPane 在我的 mac 中获得的内容:
如果您的目标平台是 Mac,您很可能会遵循 OSX 的样式指南。 适用于 Mac 的 Java 开发指南。第 40 页讨论了选项卡式窗格。
默认情况下,您只能将选项卡放置在不同的侧面,例如:
// Alternative placements:
// JTabbedPane.TOP
// JTabbedPane.RIGHT
// JTabbedPane.LEFT
// JTabbedPane.BOTTOM.
tabbedPane.setTabPlacement(JTabbedPane.TOP);
但是,如果您想将选项卡放在顶部,但调整到左侧而不是中心,您需要选择不同的外观,或者修改系统外观。这是可能的,但涉及更多,并且正如已经指出的那样,不建议这样做。在显示任何内容之前,您必须执行所有更改。有关该主题的起点,请参阅如何编写自定义外观
有关运行示例,请参见代码:
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);
}
}
}