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