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()

07-26 04:07