JTabbedPaneのタブの位置を左から設定するにはどうすればよいですか。MacOSXを使用しているため、デフォルトでは中央の位置にあります。
さらに詳しい情報が必要な場合はお知らせください。
この画像を参照して、デフォルトのJTabbedPaneを使用してMacに何が表示されるかを確認してください。
JTabbedPaneのタブの位置を左から設定するにはどうすればよいですか。MacOSXを使用しているため、デフォルトでは中央の位置にあります。
さらに詳しい情報が必要な場合はお知らせください。
この画像を参照して、デフォルトの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);
}
}
}