java - 将 JScrollPane 和 JTextArea 添加到 JDailog 中

标签 java swing jscrollpane jtextarea jdialog

public class DailogDemo 
{

private JDialog chatdailog;
private JTextArea chatHistory;
private JScrollPane mScrollMessage; 

DailogDemo()
{
chatdailog=new JDialog();
chatdailog.setSize(300, 400);

chatHistory=new JTextArea();
chatHistory.setPreferredSize(new Dimension(150,100));
mScrollMessage=new JScrollPane();
mScrollMessage.add(chatHistory);
mScrollMessage.setBounds(4, 10, 150, 100);
mScrollMessage.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED);
chatdailog.add(mScrollMessage);
chatdailog.show();
}

public static void main(String args[])
{
    new DailogDemo();
}
}

在上面的代码中,我看不到 JScrollPane 中的 JTextArea。有人知道我做错了什么吗?

最佳答案

  • 使用JTextArea(int rows, int columns)

  • 不要设置和删除 chatdailog.setSize(300, 400);

  • 不要设置和删除 chatHistory.setPreferredSize(new Dimension(150,100));

  • 不要设置和删除 mScrollMessage.add(chatHistory);使用JScrollPane scrollPane = new JScrollPane(textArea);相反

  • 不要设置和删除 mScrollMessage.setBounds(4, 10, 150, 100);

  • 不要设置和删除 chatdailog.show();使用chatdailog.setVisible(true);

  • 添加代码行chatdailog.pack()行前chatdailog.setVisible(true);

  • 是否还有另一个父项 JDialog包裹chatdailog.setVisible(true);进入invokeLater()

关于java - 将 JScrollPane 和 JTextArea 添加到 JDailog 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11649564/

相关文章:

java - 如何每秒唤醒一个线程,Java

java - Intellij断点报告方法抛出 'java.lang.ClassNotFoundException'异常即使变量存在

java - Swing 屏幕键盘

java - JScrollPane - 只有垂直滚动?

java - 使用java中的循环创建具有不同标识的类

java - 为枚举构建一个通用的 DynamoDB 编码

java - 为什么我无法使用 Graphics drawString 方法可视化字符串

java - 程序崩溃时如何避免连接泄漏

Java - 透明的 JScrollPane

java - JTable左上线不可见