我知道我可以使用KeyListener来检查是否(char) 127
按下DELETE
,但是如何在JTable中将keyListener添加到selectedRow?
编辑:
我已经尝试过了,但是没有用:
myTable.addKeyListener(this);
...
public void keyPressed(KeyEvent e)
{
if(e.getKeyCode() == 127 && myTable.GetSelectedRow() != -1)
{
btnRemove.doClick(); // this will remove the selected row in JTable
}
}
KeyListeners的一个问题是,要侦听的组件 必须 具有焦点。解决此问题的一种方法是使用键绑定。
例如,
// assume JTable is named "table"
int condition = JComponent.WHEN_IN_FOCUSED_WINDOW;
InputMap inputMap = table.getInputMap(condition);
ActionMap actionMap = table.getActionMap();
// DELETE is a String constant that for me was defined as "Delete"
inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_DELETE, 0), DELETE);
actionMap.put(DELETE, new AbstractAction() {
public void actionPerformed(ActionEvent e) {
// TODO: do deletion action here
}
});
这是我的代码: 我所要做的就是使esc按钮与backspace按钮完全相同。所以我想删除
问题内容: 所以我有一个GUI,一个Tile类和一个方法类。我在Game类中创建了四个图块,这些图块由图块组成,每个图块中都包含一个字母和一个颜色。现在,我想创建一个方法,当我单击键盘上的某个键到图块上该特定字母时,它将删除Tile。我该怎么办?是否在模型类中创建该方法并在Game(GUI)类中调用它? 问题答案: 您的游戏是“控制器”,它负责管理功能以及模型与视图之间的通信。 您的视图应代表您的
问题内容: 我需要删除JTable中的所有行。 我已经尝试了以下两种方法: 和 两者都不会删除所有行。有任何想法吗? 问题答案: 以下代码为我工作:
delete 删除表中的数据delete($table, $where) table [string] 表名. where [array] WHERE 删除条件.Return: [number] 返回被删除的行数.一个比较危险的操作,操作前请考虑好。。。 $database->delete("account", [ "AND" => [ "type" => "business"
delete 删除表中的数据delete($table, $where) table [string] 表名. where [array] WHERE 删除条件.Return: [PDOStatement]返回 PDOStatement对象一个比较危险的操作,操作前请考虑好。。。 $database->delete("account", [ "AND" => [ "type" => "busin
问题内容: 当用户在inputAccessoryView中点击“附加”按钮时,我想通过键盘创建一个简单的视图。像这样: 有简单的方法吗?或者我应该创建我的自定义键盘? 问题答案: 您可以将该新子视图添加到您的应用程序窗口。