【发布时间】:2016-03-16 04:02:07
【问题描述】:
我正在尝试将这个带有 JScrollPane(带有垂直但不是水平滚动条)的 JTextArea 添加到我的框架中,但结果只是一个灰色区域,右侧有一个滚动条......我可能正在做一些非常愚蠢的事情但我已经对 JPanel 做了同样的事情,它确实有效
public class Chats {
public static int height = 600;
public static int length = 400;
public static void init(String me, String you){
JFrame frame = new JFrame ("Chat");
frame.setSize(larguraframe, alturaframe);
frame.setLocation(620, 100);
frame.setResizable(false);
frame.setLayout(null);
frame.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
JTextArea chat = new JTextArea();
chat.setColumns(10);
chat.setLineWrap(true);
chat.setWrapStyleWord(true);
JScrollPane scrollpane = new JScrollPane(chat, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER;
scrollpane.setBounds(length/8 - 27, height/9 + 27, 350, 380);
chat.setPreferredSize(new Dimension(lenght-15, 7*height/8-27));
frame.add(chat);
frame.add(scrollpane);
frame.setVisible(true);
}
}
我不介意更改框架的布局,但我真的想要一个可以让我将东西准确放置在我想要的位置的布局。谢谢
编辑
好的,它现在显示在我的框架上,但 TextArea 仍然无法调整大小。当我使用 JTextfield 和带有侦听器的 JButton 在其中写入内容时,该侦听器将 JTextfield 的文本附加到 JTextArea,然后将 JTextField 中的文本设置为“”,它最多只能接受一定数量的行。在那之后,它看起来还是一样的。
【问题讨论】:
-
请您发布您的输出图片...
-
您的代码也包含多个错误...其中一行的长度拼写错误。
-
@ITguy 谢谢,但那是因为我在上传之前翻译了它。
-
因为这条线,它无法调整大小:
frame.setResizable(false); -
1) 从不设置JTextArea的preferredSize,除非你想创建一个在需要时不会添加额外行的JTextArea。而是设置 JTextArea 的行和列属性。
标签: java swing chat jscrollpane