gpt4 book ai didi

java - 添加 JToolbar 后 JSplitPane 的 BorderLayout 问题 (Java)

转载 作者:行者123 更新时间:2023-11-30 05:59:40 25 4
gpt4 key购买 nike

问题:

我的程序布局很好,如下所示,然后我将 JToolbar 添加到 BorderLayout.PAGE_START这是添加 JToolbar 之前的屏幕截图: alt text

这是添加 JToolbar 后的样子: alt text

我可以知道我做错了什么吗?

这是我使用的代码:

    //Create the text pane and configure it.
textPane = new JTextPane();
-snipped code-
JScrollPane scrollPane = new JScrollPane(textPane);
scrollPane.setPreferredSize(new Dimension(300, 300));

//Create the text area for the status log and configure it.
changeLog = new JTextArea(5, 30);
changeLog.setEditable(false);
JScrollPane scrollPaneForLog = new JScrollPane(changeLog);

//Create a split pane for the change log and the text area.
JSplitPane splitPane = new JSplitPane(
JSplitPane.VERTICAL_SPLIT,
scrollPane, scrollPaneForLog);
splitPane.setOneTouchExpandable(true);

//Create the status area.
JPanel statusPane = new JPanel(new GridLayout(1, 1));
CaretListenerLabel caretListenerLabel =
new CaretListenerLabel("Caret Status");
statusPane.add(caretListenerLabel);

//Create the toolbar
JToolBar toolBar = new JToolBar();
-snipped code-

//Add the components.
getContentPane().add(toolBar, BorderLayout.PAGE_START);
getContentPane().add(splitPane, BorderLayout.CENTER);
getContentPane().add(statusPane, BorderLayout.PAGE_END);

//Set up the menu bar.
actions = createActionTable(textPane);
JMenu editMenu = createEditMenu();
JMenu styleMenu = createStyleMenu();
JMenuBar mb = new JMenuBar();
mb.add(editMenu);
mb.add(styleMenu);
setJMenuBar(mb);

请帮忙,我是 GUI 构建的新手,我不想使用 Netbeans 为我拖放 UI...提前谢谢您。

最佳答案

不要在 JFrame 上使用 setSize(),而是像现在一样设置中心组件的首选大小并调用 pack() ,这“使该窗口的大小适合其子组件的首选大小和布局。”扩展 @Bragaadeesh 的示例,

public static void main(String[] args) {
TestFrame frame = new TestFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.build();
frame.pack();
frame.setVisible(true);
}

然后,更改为 scrollPane.setPreferredSize(new Dimension(500, 300))JTextArea changeLog = new JTextArea(10, 30) 以查看差异。

关于java - 添加 JToolbar 后 JSplitPane 的 BorderLayout 问题 (Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2753530/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com