Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » Java GUI 设计 » Swing  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 为什么我的JTable没有表头呢?
herong





发贴: 10
积分: 0
于 2006-03-25 20:11 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list

import javax.swing.*;
import javax.swing.table.*;

public class Main {
public void start() {
JFrame.setDefaultLookAndFeelDecorated(true);
JFrame frame = new JFrame("Test");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JTable table = new JTable(new TestTableModel());

frame.add(table);

frame.pack();
frame.setVisible(true);

return;
}

private class TestTableModel extends AbstractTableModel {
public Object getValueAt(int rowIndex, int columnIndex) {
return rowIndex * columnIndex;
}

public int getColumnCount() {
return 7;
}

public int getRowCount() {
return 7;
}
}

public static void main(String[] args) {
new Main().start();
}
}


结果运行出来之后没有表头(就是可以用鼠标调整列宽的那行),请问是怎么回事呢?



作者 Re:为什么我的JTable没有表头呢? [Re:herong]
lsyl





发贴: 1
积分: 0
于 2006-03-25 22:47 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
这样写就可以了

JTable table = new JTable(new TestTableModel());
JScrollPane sp=new JScrollPane(table );
frame.add(sp);



作者 Re:为什么我的JTable没有表头呢? [Re:herong]
herong





发贴: 10
积分: 0
于 2006-03-26 11:12 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
可以了,谢谢:)

可是为什么我这样写就整个表格都显示不出来呢?

JScrollPane sp = new JScrollPane();
sp.add(table);
frame.add(sp);

我是新手,还请多帮忙:)



作者 Re:为什么我的JTable没有表头呢? [Re:herong]
liuzhenke15





发贴: 45
积分: 0
于 2006-03-30 13:17 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
JTable的设计者把显示表头的功能交给JScrollPane,这是因为除了JTable外,其它的Component都可以放在JScrollPane中,其显示逻辑是一样的。但这也同时增加了对使用过VB\VC\BC\DELPHI等出学者的困惑。

另外,如果您的程序连个表格都显示不出来,请尝试:
frame.getContentPane().setLayout(new BorderLayout());
frame.getContentPane().add(sp,BorderLayout.CENTER);




flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923