JTable不能显示列名,为什么?帮帮忙.

jackkui 2004-07-15 11:40:43
这是我的程序:

我使用 DefaultTableModel时也是,出现相同问题,到底是什么原因,请高手指教.

public class MainFrame extends JFrame {
private Vector data = new Vector();

public MainFrame() {
setSize(400,300);
Init();
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
show();
}

private void Init()
{

for(int i = 0 ; i < 8 ; i++)
{
Vector temp = new Vector();
temp.addElement(String.valueOf(i+100));
temp.addElement(String.valueOf(i+200));
temp.addElement(String.valueOf(i+300));
data.addElement(temp);
}

MyModel myModel = new MyModel(data);
JTable table = new JTable();
table.setAutoCreateColumnsFromModel(false);
table.setModel(myModel);
for(int i = 0 ; i < 3 ;i++)
{
DefaultTableCellRenderer renderer = new
ColoredTableCellRenderer();
TableColumn columns = new TableColumn(i,100, renderer, null);
table.addColumn(columns);

}
Container cp = this.getContentPane();
cp.add(table);
}

public static void main(String args[])
{
MainFrame mainfrm = new MainFrame();
}
}
class MyModel extends AbstractTableModel
{
protected Vector m_data = new Vector();
public static String[] names = {"A","B","C"};

public MyModel(Vector data)
{
m_data = data;
}


public int getColumnCount() {
return names.length;
}


public int getRowCount() {
return m_data == null ? 0 : m_data.size();
}


public Object getValueAt(int rowIndex, int columnIndex) {
return ((Vector) m_data.get(rowIndex)).get(columnIndex);
}

public String getColumnName(int column){
return names[column];
}
}
...全文
336 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
jackkui 2004-07-15
  • 打赏
  • 举报
回复
多谢: zt9788(zt)了
nwpulipeng 2004-07-15
  • 打赏
  • 举报
回复
有问题。。。。。
zt9788 2004-07-15
  • 打赏
  • 举报
回复
加如JSCRO.... 就可以了,还可以this.getcontentPane().add(table.gettableheader(),Bord...part_start);
你自己找把,函数忘了点了

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧