【问题标题】:How to stop JPanel content from shifting when button is pressed?按下按钮时如何阻止JPanel内容移动?
【发布时间】:2013-12-29 04:43:31
【问题描述】:

这涉及JAVA 编程。 我有一个令人困惑的问题,尽管在互联网上进行了搜索,但我似乎无法弄清楚。 我是一个新手程序员,所以这可能是一个相对愚蠢的问题。

无论如何,这是我的问题: 我制作了一个计算器 GUI 程序(一个简单的),它使用一个 JPanel 和一个文本字段,一个 JButton 和一个 JTextArea

我的问题是,当我按下JButton 并且计算结果显示在JTextArea 中时,如果它的数字足够长,JPanel 上面的所有内容都会向右移动。如何解决此问题,以使内容不会在面板的按钮 click/refresh 上移动?

谢谢, -韩

【问题讨论】:

  • 请显示一些代码。没有它,很难说你会发生什么。
  • 对不起,我是这个论坛的新手,不知道它是如何运作的。当我问这个问题时,我认为这更像是一个概念,而不是我的代码中的“故障”或某些错误。无论如何,MadProgrammer 已经很容易地为我的问题提供了答案,并且我的程序现在可以按我的意愿运行。谢谢大家!
  • 那你为什么不在他的问题上打勾,让其他人知道这个问题已经有了答案?
  • 我的错,我什至没有注意到刻度线。我尝试按下向上​​按钮,但我显然没有足够的“声誉”。对不起,我已经正确地“勾选”了这个问题,因为它现在已经解决了。再次感谢,伙计们!

标签: java swing jpanel repaint buttonclick


【解决方案1】:

从它的声音来看,您已将 textarea 直接添加到容器中,而无需先将其添加到滚动窗格中。

文本区域将随着内容超过其当前宽度/高度而增长。

尝试将您的文本区域添加到滚动窗格,然后将滚动窗格添加到您的容器...

textArea = new JTextArea(...)(
JScrollPane scrollPane = new JScrollPane(textArea);
add(scrollPane);

查看How to use scroll panesHow to use text areas 了解更多详情

【讨论】:

  • 是的,恭喜您,先生!
  • @peeskillet 哇哇!现在我可以休息一下...... 30 秒,然后开始向 200 努力!感谢大家的投票:D
  • @user3143244 感谢您给我小费!
【解决方案2】:

简单的只需在另一个 JPanel 中添加 JTextArea 与 JScrollPane。使用适当的布局。将 JtextArea 的 lineWrap 属性设置为 true。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-04
    • 1970-01-01
    • 1970-01-01
    • 2022-08-13
    相关资源
    最近更新 更多