Во-первых, я знаю, как добавить Введите горячую клавишу со следующим кодом:Как добавить горячую клавишу Войдите в класс JPanel?
JPanel panel = new JPanel();
//...
JButton button = new JButton("Execute");
panel.getRootPane().setDefaultButton(button); // Hotkey "Enter" by default
// ...
panel.add(button);
Но в этом случае, следующий код ниже
class LeftPanel extends JPanel
{
LeftPanel()
{
setLayout(null);
setBounds(2, 42, 146, 252);
button();
}
void button()
{
JButton exebutton = new JButton("Execute");
//getRootPane().setDefaultButton(exebutton); // Hotkey "Enter" by default
exebutton.setMnemonic(KeyEvent.VK_ENTER); // Shortcut: Alt + Enter
exebutton.setBounds(4, 18, 138, 47);
add(exebutton);
}
}
Как добавить Enter горячие клавиши? getRootPane().setDefaultButton(exebutton);
не работает. Я получил сообщение об ошибке:
Исключение в потоке "главный" java.lang.NullPointerException
Это мой кадр класс
public class MyFrame extends JFrame
{
MyFrame()
{
setTitle("Frame Test");
setSize(400, 200);
setLayout(null);
LeftPanel leftpanel = new LeftPanel();
add(leftpanel);
setVisible(true);
setDefaultCloseOperation(MyFrame.EXIT_ON_CLOSE);
}
}
и мой главный
public static void main(String[] args)
{
new MyFrame();
}
Alt+Enter
ярлык произведение, но не Enter
.
спасибо. Я замечаю, что компилятор мне тоже просит объявить JButton слишком –
Нет проблем! Рад был помочь. :) – Jonah
@LordRixuel, вы должны создать метод, если хотите получить доступ к кнопке за пределами панели, не обращайтесь к переменной класса непосредственно. – camickr