看下面这个程序:编译能通过,可是运行时,出现这些错误,请问是怎么回事?Exception in thread "main" java.lang.Error: Do not use UnicodeWindow.add() use U
nicodeWindow.getContentPane().add() instead
        at javax.swing.JFrame.createRootPaneException(JFrame.java:465)
        at javax.swing.JFrame.addImpl(JFrame.java:491)
        at java.awt.Container.add(Container.java:307)
        at UnicodeWindow.initializeTable(Exec.java:79)
        at UnicodeWindow.<init>(Exec.java:40)
        at Exec.main(Exec.java:15)
Press any key to continue...
程序代码如下:import java.awt.Dimension;
import java.awt.Font;
import java.awt.Toolkit;
import java.util.Vector;import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.ScrollPaneConstants;//测试类
public class Exec {
public static void main(String[] args) {
// 创建窗体类变量
UnicodeWindow dw = new UnicodeWindow("演示Unicode码"); // 将窗体最大化显示
Toolkit theKit = dw.getToolkit();
Dimension wndSize = theKit.getScreenSize();
dw.setBounds(0, 0, wndSize.width, wndSize.height); // 点击关闭按钮可以退出程序
dw.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 设置窗体为可见
dw.setVisible(true);
}
}// 界面窗体
class UnicodeWindow extends JFrame {
// 显示所有Unicode码的表格
JTable jt = null; // 构造函数
public UnicodeWindow(String title) {
super(title); // 对表格进行初始化
initializeTable();
} // 初始化表格的函数
private void initializeTable() {
// 表格列标题
Vector header = new Vector(); // 设置表格列标题
for (int i = 0; i < 10; i++)
header.add(String.valueOf(i + 1)); // 表格内容
Vector contents = new Vector(); // 存储表格每行内容的临时向量
Vector subVector = new Vector(); // 循环所有的Unicode编码
for (int i = 0; i < Short.MAX_VALUE * 2; i++) {
subVector.add(i + ":" + (char) i);
// 每10个为一行
if (i % 10 == 0 && i != 0) {
// 添加到表格内容中
contents.add(subVector);
subVector = new Vector();
}
}
// 创建表格
jt = new JTable(contents, header);
jt.setFont(new Font("宋体", Font.BOLD, 16));
jt.setRowHeight(20); // 设置表格的滚动条
int v = ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS;
int h = ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS;
JScrollPane jsp = new JScrollPane(jt, v, h); // 添加表格
add(jsp);
}
}