我写了个简单的代码,大体如下,但是JTable不显示列名,不知道怎么回事,高手帮忙看一下阿 JTable result_Tab = new JTable(10,10);
result_Tab.setBounds(10,10,600,600);
TableColumnModel columnmodel = result_Tab.getColumnModel();
for(int i =0; i< 10; i++)
{
columnmodel.getColumn(i).setHeaderValue("aaa");
}
JCrollPane Pane= new JCrollPane();
Pane.add(result_Tab);
解决方案 »
- 击球高手啊,关于package的问题。。。
- 问一个很简单的问题,如何在swing中添加一个超链接状的文字?
- jsp写的聊天室聊天板块不刷新
- 想转行做Java,请大家帮帮我!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- 求CardLayout的例程?
- 怎样取得操作系统的语言类型
- 求教:关于在java中操作oracle clob
- instanceof是什么意思?
- 用浏览器看applet,总是只能看到修改前的applet,关了浏览器,再开,还是只能看到修改前的,难道真的要重启机子?太夸张了
- 请各位大仙多多指点
- 各视图或函数中的列名必须唯一?????
- charValue()怎么用?
JTable(Object[][] rowData, Object[] columnNames)
rowData使用null
JTable table = new JTable();
((DefaultTableModel)table.getModel()).setColumnIdentifiers(columnNames);
frame.add(sp);
String[] col = {"姓名", "性别", "年龄", "身高", "地址", "学历"}; //定义表头
//定义一个模板并重写其中单元格编辑状态为不可编辑
public DefaultTableModel mm = new DefaultTableModel(col, 0) {
public boolean isCellEditable(int rowindex, int columnindex) {
/**
* 指定单元格编辑状态
* if(rowindex == 3){
return false;
}
*
*/
return false; //全部不可编辑
}
}; JTable jtable = new JTable(mm); //新建一个表格
JScrollPane jscrollpane = new JScrollPane(jtable); //将表格加个滚动条
帮帮我import javax.swing.*;
import java.awt.*;
import java.sql.*;
import java.awt.event.*;
/*
功能实现单击“显示”按钮
显示带标题和滚动条的表格
*/
public class tables
{
public static void main(String args[])
{ WinTable Win=new WinTable();
}
}
class WinTable extends JFrame implements ActionListener
{ JTable table;//表格
Object a[][];//表格内容数组
Object name[]={ "商品编号", "名称","单价","数量","所属类别","易燃","易碎","易挥发"};//标题
JButton button; JScrollPane show;//放置表格的容器 WinTable()
{
a=new Object[20][8];
button=new JButton("显示"); table=new JTable(a,name); button.addActionListener(this); Container con=getContentPane();
show=new JScrollPane(table);
getContentPane().add(show,BorderLayout.CENTER); table.setVisible(false);
show.setVisible(true);
con.add(button,BorderLayout.SOUTH);
setSize(800,400);
setVisible(true);
validate();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }
public void actionPerformed(ActionEvent e)
{
Connection con;
Statement sql;
ResultSet rs;
int cols=0;
if(e.getSource()==button){ try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e2){
System.out.println(" ClassNotFoundException");
} try { con=DriverManager.getConnection("jdbc:odbc:shop","","");
sql=con.createStatement();
rs=sql.executeQuery("SELECT * FROM shop");
while(rs.next())
{ String id=rs.getString(1);
String name=rs.getString(2);
String price=rs.getString(3);
int count=rs.getInt("count");
String suoshu=rs.getString("suoshu");
boolean zy1=rs.getBoolean("zy1");
boolean zy2=rs.getBoolean("zy2");
boolean zy3=rs.getBoolean("zy3");
a[cols][0]=id;
a[cols][1]=name;
a[cols][2]=price;
a[cols][3]=count;
a[cols][4]=suoshu;
if(zy1==true){a[cols][5]="是";}
else a[cols][1]="否";
if(zy2==true){a[cols][6]="是";}
else a[cols][1]="否";
if(zy3==true){a[cols++][7]="是";}
else a[cols++][1]="否";
}
con.close();
}
catch(SQLException e3)
{ System.out.println(e3);
}
table.setVisible(true);
show.setVisible(true);
table.repaint();
//show.validate();
} }
}
JTable table=new JTable(rowData, columnNames);
p.add(table.getTableHeader(),BorderLayout.PAGE_START);
p.add(table,BorderLayout.CENTER);
这样就可以不加JScrollPane时也能显示表头了