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

时间:2014-07-27 17:12:12

标签: java swing text graphics

我正在开发一款有聊天室的游戏,但是尽管我们正在研究,(我可能没有找到正确的东西),但我无法找到最好的创作方式。一个自定义的滚动窗格'对于一个'文本框'画上图形。这种可怕的油漆表现形式显示了我想要完成的事情:

enter image description here

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

编辑:好的,所以要提供更多信息,游戏用来显示游戏的JPanel。它是通过重写JPanel中的PaintComponent来完成的。我不确定是否可以添加新组件来绘制它。如果是,那可能会奏效。我只需要能够将它定位在特定的位置。如果添加一个新的组件可以工作,那就行了,我觉得自己像个白痴。

1 个答案:

答案 0 :(得分:1)

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

请注意,在快速浏览Swing教程后,您可以很快回答这个问题,所以为了将来参考,我已经包含了一个链接。


修改
请考虑这些选项以寻求更好的解决方案:

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