如何把回车的焦点落在一个JBUTTON上? 可以用 button.requestFocus() 使此按钮获得焦点 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 加一个内嵌类:class KeyAction extends KeyAdapter { public void keyPressed(KeyEvent keyevent) { if(keyevent.getKeyCode() == 10) { okButton.requestFocus(); user = userName.getText(); //pass = BASE64Encoder.encode(new String(password.getPassword())); pass = new String(password.getPassword()); startConnection(); } } KeyAction() { } } import javax.swing.*;import javax.swing.border.EtchedBorder;import java.awt.*;import java.awt.event.*;interface MyInitScheme { void initVarient(); void initFace();}class MyMenu extends JMenu implements MyInitScheme { public MyMenu(String text) { super(text); initVarient(); initFace(); } public void initFace() { setBackground(SystemColor.desktop); setFont(new Font("Serif", 0, 16)); setForeground(SystemColor.info); setBorder(BorderFactory.createEtchedBorder()); } public void initVarient(){};}class MyMenuItem extends JMenuItem implements MyInitScheme { public MyMenuItem(String text) { super(text); initVarient(); initFace(); } public void initFace() { setBackground(SystemColor.desktop); setFont(new Font("Serif", 0, 16)); setForeground(SystemColor.info); setBorder(BorderFactory.createEtchedBorder()); } public void initVarient(){};}class MyButton extends JButton implements MyInitScheme { public MyButton(String text) { super(text); initVarient(); initFace(); } public void initFace() { setBackground(SystemColor.desktop); setFont(new Font("Serif", 0, 16)); setForeground(SystemColor.info); setBorder(BorderFactory.createEtchedBorder()); } public void initVarient(){};}class MyFrame extends JFrame implements MyInitScheme { private JMenuBar mnuBar = new JMenuBar(); private MyMenu mnuFile = new MyMenu("File"); private JMenuItem mnuFileExit = new MyMenuItem("Exit"); private JMenu mnuHelp = new MyMenu("Help"); private JMenuItem mnuHelpContact = new MyMenuItem("Contact Me"); private JButton btnDefault = new MyButton("Default"); private JButton btnOther = new MyButton("Another"); private KeyAdapter key=new KeyAdapter() { public void keyPressed(KeyEvent e) { if(e.getKeyCode()==KeyEvent.VK_ENTER) { btnDefault.requestFocus(); } } }; public void initVarient(){}; public void initFace() { this.setSize(new Dimension(320, 240)); this.setResizable(false); this.getContentPane().setLayout(null); this.getContentPane().setBackground(SystemColor.activeCaption); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); mnuBar.setBackground(SystemColor.desktop); mnuBar.setBorder(BorderFactory.createRaisedBevelBorder()); mnuFile.setMnemonic('F'); mnuFileExit.setMnemonic('x'); mnuFileExit.addActionListener(new ActionListener () { public void actionPerformed(ActionEvent e) { System.exit(0); } } ); mnuHelp.setMnemonic('H'); mnuHelpContact.setMnemonic('M'); mnuHelpContact.addActionListener(new ActionListener () { public void actionPerformed(ActionEvent e) { try { Process p=Runtime.getRuntime().exec("C:/Program Files/" +"Internet Explorer/IExplore.EXE" +" mailto:[email protected]"); } catch (Exception ex) { System.out.println(ex); } } } ); btnDefault.setBounds(new Rectangle(220, 50, 75, 30)); btnDefault.setMnemonic('D'); btnOther.setBounds(new Rectangle(220, 100, 75, 30)); btnOther.setMnemonic('A'); btnOther.addKeyListener(key); addKeyListener(key); mnuFile.add(mnuFileExit); mnuHelp.add(mnuHelpContact); mnuBar.add(mnuFile); mnuBar.add(mnuHelp); this.setJMenuBar(mnuBar); this.getRootPane().setDefaultButton(btnDefault); this.getContentPane().add(btnDefault, null); this.getContentPane().add(btnOther, null); } public MyFrame(String title) { super(title); initVarient(); initFace(); show(); btnOther.requestFocus(); }}public class MyButtonApp extends JFrame { public static void main(String[] args) { JFrame frame=new MyFrame("Test MyButton"); }} buttom.addKeyListener(new KeyAction()); 对了,对容器里的所有可以获得焦点的控件都要添加这个事件,原来工具条和菜单可以加块捷键。但是别的地方好象没有,现在不知JDK1.4怎样了。 Iforgot(清风雨):兄台的代码看起来好舒服啊,学习学习! 请教一下“为E消的人憔悴”,按照你的方法button.requestFocus() ,怎么不好用呢? getRootPane().setDefaultButton(okButton); 如何执行远程共享目录的java程序,寻求解决方案,感兴趣的进 一个有趣的程序问题,我没搞清楚,欢迎大家猜一下执行结果,一定要先猜再去测试 关于static方法与private变量的问题 一个菜鸟问题,希望有高手解答! 不懂呀 此语句为什么出错? 请教,如何结束后台运行的java程序! 菜鸟要拜师学艺啊! 紧急求救:用过eclipse或者cvs的请进来看一下,多谢个位,在线等候 java 中有没有只取double的小数部分的方法 Metal和BorderLayout的问题 关键字:事件 TextArea Button 在线等待……
class KeyAction extends KeyAdapter
{ public void keyPressed(KeyEvent keyevent)
{
if(keyevent.getKeyCode() == 10)
{
okButton.requestFocus();
user = userName.getText();
//pass = BASE64Encoder.encode(new String(password.getPassword()));
pass = new String(password.getPassword());
startConnection();
}
} KeyAction()
{
}
}
import javax.swing.border.EtchedBorder;
import java.awt.*;
import java.awt.event.*;interface MyInitScheme {
void initVarient();
void initFace();
}
class MyMenu extends JMenu implements MyInitScheme {
public MyMenu(String text) {
super(text);
initVarient();
initFace();
}
public void initFace() {
setBackground(SystemColor.desktop);
setFont(new Font("Serif", 0, 16));
setForeground(SystemColor.info);
setBorder(BorderFactory.createEtchedBorder());
}
public void initVarient(){};
}
class MyMenuItem extends JMenuItem implements MyInitScheme {
public MyMenuItem(String text) {
super(text);
initVarient();
initFace();
}
public void initFace() {
setBackground(SystemColor.desktop);
setFont(new Font("Serif", 0, 16));
setForeground(SystemColor.info);
setBorder(BorderFactory.createEtchedBorder());
}
public void initVarient(){};
}
class MyButton extends JButton implements MyInitScheme {
public MyButton(String text) {
super(text);
initVarient();
initFace();
}
public void initFace() {
setBackground(SystemColor.desktop);
setFont(new Font("Serif", 0, 16));
setForeground(SystemColor.info);
setBorder(BorderFactory.createEtchedBorder());
}
public void initVarient(){};
}class MyFrame extends JFrame implements MyInitScheme {
private JMenuBar mnuBar = new JMenuBar();
private MyMenu mnuFile = new MyMenu("File");
private JMenuItem mnuFileExit = new MyMenuItem("Exit");
private JMenu mnuHelp = new MyMenu("Help");
private JMenuItem mnuHelpContact = new MyMenuItem("Contact Me");
private JButton btnDefault = new MyButton("Default");
private JButton btnOther = new MyButton("Another");
private KeyAdapter key=new KeyAdapter() {
public void keyPressed(KeyEvent e) {
if(e.getKeyCode()==KeyEvent.VK_ENTER) {
btnDefault.requestFocus();
}
}
}; public void initVarient(){};
public void initFace() {
this.setSize(new Dimension(320, 240));
this.setResizable(false);
this.getContentPane().setLayout(null);
this.getContentPane().setBackground(SystemColor.activeCaption);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); mnuBar.setBackground(SystemColor.desktop);
mnuBar.setBorder(BorderFactory.createRaisedBevelBorder()); mnuFile.setMnemonic('F');
mnuFileExit.setMnemonic('x');
mnuFileExit.addActionListener(new ActionListener () {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
} ); mnuHelp.setMnemonic('H');
mnuHelpContact.setMnemonic('M');
mnuHelpContact.addActionListener(new ActionListener () {
public void actionPerformed(ActionEvent e) {
try {
Process p=Runtime.getRuntime().exec("C:/Program Files/"
+"Internet Explorer/IExplore.EXE"
+" mailto:[email protected]");
} catch (Exception ex) {
System.out.println(ex);
}
}
} ); btnDefault.setBounds(new Rectangle(220, 50, 75, 30));
btnDefault.setMnemonic('D'); btnOther.setBounds(new Rectangle(220, 100, 75, 30));
btnOther.setMnemonic('A'); btnOther.addKeyListener(key);
addKeyListener(key); mnuFile.add(mnuFileExit);
mnuHelp.add(mnuHelpContact);
mnuBar.add(mnuFile);
mnuBar.add(mnuHelp); this.setJMenuBar(mnuBar);
this.getRootPane().setDefaultButton(btnDefault);
this.getContentPane().add(btnDefault, null);
this.getContentPane().add(btnOther, null);
} public MyFrame(String title) {
super(title);
initVarient();
initFace();
show();
btnOther.requestFocus();
}
}
public class MyButtonApp extends JFrame {
public static void main(String[] args) {
JFrame frame=new MyFrame("Test MyButton");
}
}
兄台的代码看起来好舒服啊,学习学习!