1.table.getValueAt(m_nSelectRow,m_nSelectCol);
2.设置整个表不可编辑:
MyTableModel model = new MyTableModel();
JTable table = new JTable(model);class MyTableModel extends DefaultTableModel
{
public boolean isCellEditable(int pRow, int pCol)
{
return false;
}
}
2.设置整个表不可编辑:
MyTableModel model = new MyTableModel();
JTable table = new JTable(model);class MyTableModel extends DefaultTableModel
{
public boolean isCellEditable(int pRow, int pCol)
{
return false;
}
}
1。table.getValueAt(m_nSelectRow,m_nSelectCol);获得的是一个object变量,我要放到string变量中该怎么处理呢?
{
public boolean isCellEditable(int pRow, int pCol)
{
if (col < 2)
{
return false;
}
else
{
return true;
}
}
}
String s = (String) table.getValueAt(...);
否则
String s = String.valueOf(table.getValueAt(...));
or String s = table.getValueAt(...).toString();
有关第一个问题解决了,
但第2个问题我有这个疑问,按照你的意思,构造一个MyTableModel类,我编了一个小程序,但显示出来的只是一片空白,表格没有显示出来,我想,你能不能告诉我如何将这个表格显示出来呢?
然后把这个table加到容器中。
table.setModel(new MyTableModel());
table.setModel(new MyTableModel());
import javax.swing.*;
import java.awt.*;
import java.util.*;
import java.applet.Applet;
import javax.swing.table.*;public class window
{
static JFrame aWindow = new JFrame("48-hours-start-to-finish research turn-key");
public static void main(String [] args)
{
Toolkit theKit = aWindow.getToolkit();
Dimension wndSize = theKit.getScreenSize();
aWindow.setBounds(wndSize.width/4,wndSize.height/4,wndSize.width/2,wndSize.height/2); aWindow.getContentPane().setLayout(null); /*Button b1 = new Button(" MY Test");
b1.setBounds(10,10,120,100);
aWindow.getContentPane().add(b1);*/ mytablemodel model = new mytablemodel();
JTable table1 = new JTable(model);
table1.setModel(model);
table1.setBounds(60,100,100,100);
aWindow.getContentPane().add(table1);
aWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//aWindow.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
aWindow.setVisible(true);
}
}
class mytablemodel extends DefaultTableModel
{
public boolean isCellEditable(int pRow, int pCol)
{
if (pCol < 2)
{
return false;
}
else
{
return true;
}
}}
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.table.*;
import javax.swing.table.JTableHeader;public class Dialog1 extends JDialog
{
BorderLayout borderLayout1 = new BorderLayout();
public MyTableModel model = new MyTableModel();
private int rows=5, cols=3;
public Object[] rowData = new Object[cols];
JScrollPane jScrollPane1 = new JScrollPane();
JTable jTable1 = new JTable(model); public Dialog1(Frame frame, String title, boolean modal)
{
super(frame, title, modal);
try
{
jbInit();
pack();
}
catch(Exception ex)
{
ex.printStackTrace();
}
} public Dialog1()
{
this(null, "", false);
}
void jbInit() throws Exception
{
model.addColumn("列1");
model.addColumn("列2");
model.addColumn("列3"); jTable1.setSize(100,100); jTable1.validate();
this.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
this.setSize(300,350);
this.setLocation(200,250);
this.show();
this.validate();
this.getContentPane().add(jScrollPane1, BorderLayout.NORTH);
jScrollPane1.getViewport().add(jTable1, null);
InitializeTable();
} private void InitializeTable()
{
int colCount = model.getColumnCount();
rowData = new Object[3]; for(int i = 0 ; i < 5; i ++)
{
rowData[0] = "a";
rowData[1] = "b";
rowData[2] = "**********";
model.addRow(rowData);
}
} public static void main(String[] args)
{
new Dialog1();
}
}class MyTableModel extends DefaultTableModel
{
public boolean isCellEditable(int pRow, int pCol)
{
if (pCol < 2)
{
return false;
}
else
{
return true;
}
}
}