减少抽象类

Cou*_*n22 -1 java keyboard swing abstract-class key-bindings

我在这里有这个代码来创建一个键绑定:

KeyStroke k = KeyStroke.getKeyStroke(KeyEvent.VK_F1, 0);
getInputMap(WHEN_IN_FOCUSED_WINDOW).put(k, k.toString());
getActionMap().put(k.toString(), new AbstractAction()
{ 
    public void actionPerformed(ActionEvent e)
    {
        //put action here
    }
});  
Run Code Online (Sandbox Code Playgroud)

问题是我的程序中有8个.其中每个都创建一个单独的类文件来保存抽象类.如果可能的话,我如何重写这个来限制创建的类的数量.(我已经搜索过这个,但是减少抽象类没有提供任何有用的东西)

tra*_*god 5

除了@EdC 这里建议的扩展,你可以使用composition,如本所示,其中Action使用参数指定给封闭的构造函数JButton.此外,如图所示,Action可以转发ActionEvent给另一个.ActionKeyPadPanel