Java 图形对象和滚动 - 最简单的方法?

标签 java swing text graphics

我正在开发一款带有聊天框的游戏,但尽管进行了研究(我可能没有寻找正确的东西),我无法找出创建自定义“滚动”的最佳方法 Pane ”用于在图形上绘制“文本框”。这种可怕的绘画表现形式展示了我想要实现的目标:

enter image description here

如果我可以提供更多相关信息,请询问。这是我能弄清楚如何解释它的最好方法。

编辑:好的,为了提供更多信息,游戏使用 JPanel 来显示游戏。这是通过覆盖 JPanel 中的 PaintComponent 来完成的。我不确定是否可以添加一个新组件来绘制它。如果是的话,那么这可能会起作用。我只需要能够将其放置在特定位置即可。如果添加一个新组件可以起作用,那么它就可以起作用,而我感觉自己像个白痴。

最佳答案

选项 1) 使用 JScrollPane 中保存的 JTextArea。选项 2) 使用 JScrollPane 中保存的 JList。 JTextArea 稍微简单一些,但 JList 工作得更好,并且在需要保存大量数据时响应速度更快。教程可以在这里找到:

请注意,在快速浏览 Swing 教程后,您可能很快就能回答这个问题,因此为了将来引用,我添加了指向它们的链接。

<小时/>

编辑
请考虑以下选项以获得更好的解决方案:

  • 请记住,您的 GUI 可以使用多个 JPanel,而且事实上可以而且经常会使用许多
  • 仅使用绘图 JPanel 进行绘图,仅此而已。
  • 换句话说,不要让它容纳任何其他组件。
  • 将其 BorderLayout.CENTER 放置在另一个使用 BorderLayout 的 JPanel 中。
  • 将其他非图形控制结构放置在 JPanel 中,这些结构由上述使用相同 BorderLayout 的 JPanel 保存。这样,您的控件结构(例如 JScrollPane)就会显示在 GUI 中,但不会覆盖并覆盖绘图 JPanel。
  • 将使用主 JPanel 的 BorderLayout 添加到顶级窗口中,或者如果需要更复杂的 GUI,则在另一个 JPanel 中添加。
  • 您将希望这些子 JPanel 使用它们自己的布局,以便整个 GUI 具有易于更改和增强的令人愉悦的外观。

关于Java 图形对象和滚动 - 最简单的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24983411/

相关文章:

java - 更改突出显示文本java的字体样式

c# - 读取文本文件并以内存有效的方式搜索字符串(并在找到时中止)

java - 可以同时打开多个 Eclipse 实例吗?

java - 一起使用 TableCellRenderer 和 getColumnClass

java - 具有通用元素的 Java 继承

java - FocusLost 在 menuaction 之后调用

计算文本文件 C 中的帐户数量

c - c 中的编码和解码文本

java - Google 电子表格月份减 1

java - BoxLayout 中的 JLabel 和 JButton 中心