我用下面的语句创建了一个JTable,效果如图(附件里的)
//创建一个表格组件
JTable table = new JTable(vRowData,vColumnNames);
//设置此表格的首选大小
table.setPreferredScrollableViewportSize(new Dimension(1000,400));
//在此窗体中增加滚动条
JScrollPane sp = new JScrollPane(table);
f.getContentPane().add(sp,BorderLayout.CENTER);
//table.setFillsViewportHeight(true);
//设置水平和垂直滚动条按需出现
sp.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
sp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
//在此窗体中增加按钮
JButton bSendMail = new JButton("发送");
f.getContentPane().add(bSendMail,BorderLayout.SOUTH);
f.pack();有下面几个问题:
1、调整某列的宽度后整个JTable的宽度不变,导致后面的信息显示不全。
2、滚动条不出现
3、在打开这个JTable时,只能显示表格里的内容,不能显示按钮,要将整个窗体的框拉下来才能显示出“发送”按钮
//创建一个表格组件
JTable table = new JTable(vRowData,vColumnNames);
//设置此表格的首选大小
table.setPreferredScrollableViewportSize(new Dimension(1000,400));
//在此窗体中增加滚动条
JScrollPane sp = new JScrollPane(table);
f.getContentPane().add(sp,BorderLayout.CENTER);
//table.setFillsViewportHeight(true);
//设置水平和垂直滚动条按需出现
sp.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
sp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
//在此窗体中增加按钮
JButton bSendMail = new JButton("发送");
f.getContentPane().add(bSendMail,BorderLayout.SOUTH);
f.pack();有下面几个问题:
1、调整某列的宽度后整个JTable的宽度不变,导致后面的信息显示不全。
2、滚动条不出现
3、在打开这个JTable时,只能显示表格里的内容,不能显示按钮,要将整个窗体的框拉下来才能显示出“发送”按钮
f.setExtendedState(JFrame.MAXIMIZED_BOTH);
但是table的显示区域也变小了,由于行列比较多,我就保留了上一句,默认了最大化打开。
有没有方法让JFrame不能改变窗体大小,因为如果改了窗体的大小,就有可能导致table的显示不全,有些行列看不到。