JPanel p1=new JPanel();
Container cp = getContentPane();
JScrollPane sp1 = new JScrollPane(p1);
JTable table=new JTable(ss ,s);//ss为内容的二维数组,S是标题的一维数组。
p1.add(table);
sp1.setPreferredSize(new Dimension(150,150));
cp.add(sp1);
这样,在表格中只有,SS的内容,没有S
如果程序改成这样:
JTable table = new JTable(ss, s);
JScrollPane scroll = new JScrollPane(table);
getContentPane().add(scroll);
这样就一切正常
请问第1步,为什么,不能显示标题数组S啊?
Container cp = getContentPane();
JScrollPane sp1 = new JScrollPane(p1);
JTable table=new JTable(ss ,s);//ss为内容的二维数组,S是标题的一维数组。
p1.add(table);
sp1.setPreferredSize(new Dimension(150,150));
cp.add(sp1);
这样,在表格中只有,SS的内容,没有S
如果程序改成这样:
JTable table = new JTable(ss, s);
JScrollPane scroll = new JScrollPane(table);
getContentPane().add(scroll);
这样就一切正常
请问第1步,为什么,不能显示标题数组S啊?
去掉这个
直接把jtable加到JScrollPane里
但是必须 需要JScrollPane
如果你加在JScrollPane还需要修改jtable中别的参数
必须把jtable加到JScrollPane里
才可以显示header
那么按照你的就是把它加到了jpanel里面这样的话,相当于没有加到JScrollPane里
自然显示不出来header了
就是最上面显示每一列是什么内容。
表头: 学生编号 学生姓名 这个是后面的s控制的
内容: 001 aaa 这个是2位数组里面控制的
表头的显示是要用header把他显示出来的
是正解
楼主的第一步是把JTable加到了p1(JPanel)里面,
然后把p1加到JScrollPane里,
是间接加到JScrollPane中去的,
而JTable必须直接加到JScrollPane里才能显示表头
只有直接把JTable加到JScrollPane里才能显示表头
其它没方法了?
,具体的忘了~~
import java.io.IOException;import javax.swing.JFrame;
import javax.swing.JTable;public class T {
public static void main(String[] args) throws IOException {
JTable table = new JTable(5, 3);
JFrame f = new JFrame();
f.getContentPane().add(table, BorderLayout.CENTER);
f.getContentPane().add(table.getTableHeader(), BorderLayout.NORTH);
f.setSize(200 ,200);
f.setLocationRelativeTo(null);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
}