jungil
Posts: 5
Nickname: jungil
Registered: Aug, 2002
|
|
Help!About hotKey!
|
Posted: Aug 12, 2002 8:05 PM
|
|
Advertisement
|
I need help!! Now, i want to make an application with several hotKeys in JFrame.My source like this:
import javax.swing.*; import java.awt.*; import java.awt.event.*; import javax.swing.border.*; import java.util.*; public class Demo extends JFrame { public Demo () { try { jbInit(); } catch(Exception e) { e.printStackTrace(); } } private void jbInit() throws Exception { this.enableEvents(AWTEvent.KEY_EVENT_MASK); getContentPane().setLayout(null); closeBtt.setBounds(new Rectangle(0, 13, 19, 40)); closeBtt.setBorder(new TitledBorder("")); closeBtt.setHorizontalAlignment(SwingConstants.LEFT); closeB tt.setHorizontalTextPosition(SwingConstants.LEFT); closeBtt.setMargin(new Insets(0, 0, 0, 0)); closeBtt.setMnemonic('0'); closeBtt.setText("X"); closeBtt.setVerticalAlig nment(SwingConstants.TOP); closeBtt.setVerticalTextPosition(SwingConstants.TOP);
this.setEnabled(true);
templateLab.setText("template"); templateLab.setBounds (new Rectangle(23, 25, 80, 17)); templateCB.setBounds(new Rectangle(103, 23, 109, 21));
codeLab.setText("name"); codeLab.setBounds(new Rectangle(225, 26, 33, 17));
codeTxt.setBounds(new Rectangle(266, 23, 63, 21));
setBtt.setBounds(new Rectangle(340, 20, 79, 27)); setBtt.setBorder(new TitledBorder("")); setBtt.setText("set");
getContentPane().add(templateCB, null); getContentPane().add(codeTxt, null); getContentPane().add(setBtt, null); getContentPane().add(closeBtt, null); getContentPane().add(templateLab, null); this.getContentPane().add(codeLab, null); }
protected void processKeyEvent(KeyEvent evt) { super.processKeyEvent(evt); if(evt.getKeyCode() == KeyEvent.VK_F4){ System.out.println("AAAA"); } }
public static void main(String[] args) { try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch(Exception e) { ; }
Demo demo = new Demo(); demo.setBounds(50,50,479, 80); demo.show(); }
private JButton closeBtt = new JButton(); private JLabel templateLab = new JLabel(); private JComboBox templateCB = new JComboBox(); private JLabel codeLab = new JLabel(); private JTextField codeTxt = new JTextField(); private JButton setBtt = new JButton(); }
when i clicked the F4 button, i can not catch the KeyEvent. "AAAA" is not printed. What problem with my program? help me, plz thank u
BTW, if i remove all the components from JFrame except label, "AAAA" will be printed.
if possible, give me a demo.
|
|