当前位置: 技术问答>java相关
一个关于KeyEvent的问题?高手帮忙!!!
来源: 互联网 发布时间:2015-08-27
本文导语: 下面的KeyListener是add到JTable上的,我想当用户在JTable上击键时弹出警告,以禁止修改,问题时击键时并不弹出警告,而必需按回车警告才弹出,我希望当游标在JTable上时,无论用户按下哪个键都会弹出警告。怎样修改...
下面的KeyListener是add到JTable上的,我想当用户在JTable上击键时弹出警告,以禁止修改,问题时击键时并不弹出警告,而必需按回车警告才弹出,我希望当游标在JTable上时,无论用户按下哪个键都会弹出警告。怎样修改以下代码???
transient KeyListener tableKeyHandler = new KeyListener()
{
public void keyPressed(KeyEvent ke)
{
if (ke.isActionKey())
{
String keyMeg = "Sorry, You can not modify the data in the table!";
JOptionPane keyAct = new JOptionPane();
keyAct.showMessageDialog(gui,keyMeg);
refresh();//刷新表格方法
}
}
public void keyReleased(KeyEvent ke)
{
}
public void keyTyped(KeyEvent ke)
{
Character ca = new Character(ke.getKeyChar());
if (ca!=null)
{
String keyMeg = "Sorry, You can not modify the data in the table!";
JOptionPane keyAct = new JOptionPane();
keyAct.showMessageDialog(gui,keyMeg);
refresh();//刷新表格方法
}
}
};
transient KeyListener tableKeyHandler = new KeyListener()
{
public void keyPressed(KeyEvent ke)
{
if (ke.isActionKey())
{
String keyMeg = "Sorry, You can not modify the data in the table!";
JOptionPane keyAct = new JOptionPane();
keyAct.showMessageDialog(gui,keyMeg);
refresh();//刷新表格方法
}
}
public void keyReleased(KeyEvent ke)
{
}
public void keyTyped(KeyEvent ke)
{
Character ca = new Character(ke.getKeyChar());
if (ca!=null)
{
String keyMeg = "Sorry, You can not modify the data in the table!";
JOptionPane keyAct = new JOptionPane();
keyAct.showMessageDialog(gui,keyMeg);
refresh();//刷新表格方法
}
}
};
|
hello_wyq(半瓶墨水) 的方法就是针对整个表的,给你个例子,把canEditCell设置成false就行了,或者直接返回false,简单写就是只覆盖isCellEditable这个方法,
public class AblTableModel extends DefaultTableModel
{
String data [][];
// String columnNames[];
int rowCount;
boolean canEditCell = false;
public AblTableModel()
{
super();
}
public void setData(String data[][],String columnNames[])
{
//this.data = data;
// this.columnNames = colunmNames;
super.setDataVector(data,columnNames);
}
public void setData(Vector dataVector,String colNum[])
{
rowCount = dataVector.size();
data = new String[rowCount][colNum.length];
for(int i = 0; i
public class AblTableModel extends DefaultTableModel
{
String data [][];
// String columnNames[];
int rowCount;
boolean canEditCell = false;
public AblTableModel()
{
super();
}
public void setData(String data[][],String columnNames[])
{
//this.data = data;
// this.columnNames = colunmNames;
super.setDataVector(data,columnNames);
}
public void setData(Vector dataVector,String colNum[])
{
rowCount = dataVector.size();
data = new String[rowCount][colNum.length];
for(int i = 0; i
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
站内导航:
特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!