我写这段代码用于在表格中显示字符串 .
但它没有显示,也没有效果 .
什么是problrem?
public pamnel() {
initComponents();
String[] columnNames = {"First Name",
"Last Name",
"Sport",
"# of Years",
"Vegetarian"};
Object[][] data = {
{"Kathy", "Smith",
"Snowboarding", new Integer(5), new Boolean(false)},
{"John", "Doe",
"Rowing", new Integer(3), new Boolean(true)},
{"Sue", "Black",
"Knitting", new Integer(2), new Boolean(false)},
{"Jane", "White",
"Speed reading", new Integer(20), new Boolean(true)},
{"Joe", "Brown",
"Pool", new Integer(10), new Boolean(false)}
};
jTable1 = new JTable(data, columnNames);
}
编辑:我在面板上添加Jtable .
在主面板中添加一个jframe .
JFrame frame = new JFrame();
frame.add(new pamnel());
frame.setVisible(true);
frame.setSize(600, 600);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
显示该表但未显示数据 . 表的行和列是空的!
4 回答
您必须将JTable添加到其父组件和setVisible() .
尝试这样的事情,只是为了让它运行 . 请注意,您在pammel方法中删除了
void
,并添加了一个main .你真的自己编写代码吗?我记得这是来自oracle swing教程 . 无论如何,您还没有将
JTable
添加到组件中 . 请注意以下sourceJTable被添加到
SimpleTableDemo
构造函数中的JPanel中 . 然后将JPanel设置为主JFrame中的内容窗格,其作为frame.setVisible(true) . 这发生在createAndShowGUI
方法中 . 您的代码不显示JTable的原因是因为JTable是一个抽象小部件 . 您需要将抽象窗口小部件添加到组件,例如JFrame(在上面的示例中),以便显示它 .它的接缝就像新的JTable没有被添加到
pamnel
.可能在
initComponents()
中添加了另一个未使用数据初始化的实例add
方法不会向组件添加对变量的引用,它只会添加变量的值 . 因此,如果更改了变量,则组件仍包含先前(旧)值 .更改create-add的顺序: