首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java GUI问题

Java GUI问题
EN

Stack Overflow用户
提问于 2009-02-11 18:56:41
回答 5查看 789关注 0票数 2

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

这是在整体上创建GUI的代码(这只是一小段代码)

代码语言:javascript
复制
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)中包含以下内容

代码语言:javascript
复制
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);

现在,它最初看起来很好,但我遇到的问题是,您可以将拆分器移动到左侧,但不能移动到右侧。事实上,如果你向左移动,你就不能再向右移动了。我之前确实让它工作了,但实现不是很好,我已经忘记了我做了什么。

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

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-02-11 19:06:50

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

票数 4
EN

Stack Overflow用户

发布于 2009-02-11 19:07:19

您在任何地方都设置了ChatView的最小大小吗?如果是这样,这个最小值不是等于帧大小( 500 X 500 )吗?

使用所提供的信息进行故障排除有些困难,但以下建议对我(以及使用它的人)总是有效的。

  • 创建可能工作的最简单的框架,并添加一个带有两个按钮的SplitPane。
  • 在那里调整大小。
  • 在一切顺利,进程替换你的一个components.
  • Then另一个。
  • 会检测出是哪一个导致了奇怪的行为。
  • 在此基础上,开始执行相同的操作,将其替换为您能想到的最小组件(例如,使用JPanel替换)

顺便说一句,也许用javax.swing.JComponent代替java.awt.Container会更好。

我们的想法是从最简单的事情开始,从最简单的事情开始,并从那里发展。大多数时候,问题出在我们设置的一些愚蠢的属性中,并清理了它出现的所有问题。

这应该不会超过1小时。为了这个。

票数 1
EN

Stack Overflow用户

发布于 2009-04-17 08:25:35

如果两个组件都有合理的首选大小和最小大小,而您仍然看到奇怪的行为,那么您可能需要在JSplitPane上调用setResizeWeight()

请注意,以编程方式设置分隔符位置(setDividerLocation())几乎不起作用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/538240

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档