gpt4 book ai didi

Java 图形用户界面问题

转载 作者:行者123 更新时间:2023-11-30 06:00:44 24 4
gpt4 key购买 nike

我正在设计一个非常简单的 GUI,但没有任何运气。基本上,外部布局有两列,这是一个分隔 Pane (这是针对我正在编写的 IRC 客户端)。左侧是服务器/ channel /用户树,右侧是聊天 Pane 。现在我将其分解,以便在右侧顶部有输出 Pane ,底部有一个单行输入框。

这是创建整个 GUI 的代码(这只是一个片段)

ChatModel cm = new ChatModel();
ChatView cv = new ChatView(cm);

treeViewChatSplitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, serverTreeView, cv);
treeViewChatSplitPane.setSize(500, 500);
treeViewChatSplitPane.setBorder(null);
treeViewChatSplitPane.setDividerSize(3);
this.getContentPane().add(treeViewChatSplitPane);

this.setSize(500, 500);

ChatView 构造函数中有这个(它扩展了 java.awt.Container)

this.model = model;
this.setLayout(new BorderLayout());

mainTextArea = new JTextArea();
mainTextArea.setLineWrap(true);
mainTextArea.setBackground(new Color(255, 255, 255));

inputField = new JTextField();

this.add(mainTextArea, BorderLayout.CENTER);
this.add(inputField, BorderLayout.PAGE_END);

现在一开始看起来不错,但我遇到的问题是您可以将分离器移动到左侧,但不能移动到右侧。事实上,如果你向左移动它,你就不能再向右移动它了。我之前确实让它工作过,但实现得不太好,我忘记了我做了什么。

有什么想法吗?我不明白为什么这行不通。

最佳答案

如果我没记错的话,JSplitPanes 始终遵循其组件的最小尺寸。尝试将 ChatView 的最小大小显式设置为 (0,0) 并查看是否有帮助。如果是这样,您可以查看其中的每个组件,看看哪个组件导致了问题。

关于Java 图形用户界面问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/538240/

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