В большинстве случаев вы захотите использовать наследование (т.е. подкласс JButton
).Например,
public abstract JKeyboardButton extends JButton{
public JKeyboardButton(final String key){
super(key);
// include other stuff, if necessary
}
// include other methods common to all JKeyboardButton instances
}
А затем для каждой конкретной кнопки вы захотите создать подкласс JKeyboardButton
, например,
public final class JKeyboardAButton extends JKeyboardButton{
public JKeyboardAButton(){
super("a");
}
// override/implement other methods..
}
И затем, чтобы получить клавишу клавиатурыскажем, a
, все, что вам нужно сделать, это создать экземпляр JKeyboardAButton
, например,
final JKeyboardButton aButton = new JKeyboardAButton();
И тогда, очевидно, вам придется создать класс для каждого ключа и бросить все этиэкземпляры в Keyboard
класс.Но я оставлю вам «более тяжелое» кодирование.
Кроме того, обратите внимание, что модификатор final
не требуется, а скорее является моим личным предпочтением (т.е. для предотвращения подклассов и обеспечения того, чтобыпеременная (даже локальная) назначается только один раз).