我需要對我的Java代碼一些幫助我在Java中的新手,有一次我按了一封信我想顯示一些信息,只是爲了驗證代碼工作我想要做的是。使用javax swing庫特別是keylistener和關鍵事件,我不知道我是否正確地做。 這裏是我的代碼:的Java的KeyListener
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.awt.event.KeyListener;
import java.awt.event.KeyEvent;
public class KeyStrokeButton{
public JFrame frame;
public JPanel panel;
public JButton btnfocus, btnrelease, btnwindow, btnancestor;
public JTextField text;
public static void main(String[] args)
{
SwingUtilities.invokeLater(new Runnable(){
public void run()
{
KeyStrokeButton mydesign = new KeyStrokeButton();
mydesign.design();
}
});
}
public void design()
{
panel = new JPanel();
panel.setLayout(null);
frame = new JFrame("Keystroke Tutorials");
frame.getContentPane().add(panel);
frame.setSize(250, 250);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
btnfocus = new JButton("<html><center>Focus");
btnfocus.setBounds(10, 10, 90, 80);
panel.add(btnfocus);
btnfocus.addKeyListener(new ClickPressed());
btnrelease = new JButton("Release");
btnrelease.setBounds(110, 10, 90, 80);
panel.add(btnrelease);
btnancestor = new JButton("Ancestor");
btnancestor.setBounds(10, 100, 90, 80);
panel.add(btnancestor);
btnwindow = new JButton("Window");
btnwindow.setBounds(110, 100, 90, 80);
panel.add(btnwindow);
}
class ClickPressed implements KeyListener
{
public void KeyPressed(KeyEvent e)
{
//any code.
}
}
}
儘可能我要分開我的代碼的事件,所以我創建一個類,使其可讀。
所以你得到的錯誤? (如果沒有,那麼你可能做對了) – 2012-08-14 00:38:28
這是什麼問題? – 2012-08-14 00:39:01
我不認爲你想使用按鈕的KeyListener。您可能需要考慮通過addActionListener方法向您的按鈕添加ActionListeners。 – km1 2012-08-14 01:42:16