我有这段代码,我只想在程序启动时执行此操作,用户应该可以按Enter键,并且只能按一次...直到重新启动。

我有一个带有JLabel info = new JLabel("press enter to continue");文本的标签,当用户按Enter键时,此文本将更改,并且按Enter键将不再起作用,只有在程序启动时,用户才能按Enter键。

addKeyListener(new KeyAdapter() {
   public void keyPressed(KeyEvent arg0) {
      if(e.getKeyChar() == e.VK_ENTER)
   }
});

最佳答案

采取措施(按Enter键)后,您可以从组件中删除KeyListener。您可以在here中找到有关如何从JPanel删除侦听器的示例。我对示例中的代码进行了一些调整:

KeyAdapter keyAdapter = new KeyAdapter() {
  public void keyPressed(KeyEvent e)
  {
    if(e.getKeyChar() == e.VK_ENTER)
      ....
    }

  }
};

// Register the listener with this JPanel
addKeyListener(keyAdapter);

// Remove the listener from this JPanel
removeKeyListener(keyAdapter);

07-24 18:44
查看更多