PDA

View Full Version : انتقال Focus



alineghabi
شنبه 22 دی 1386, 13:41 عصر
با سلام
چجوری میتونم روی یک Textbox هنگامی که کلید Enter توسط کاربر زده شد focus رو به شیئ دیگه ای منتقل کنم

zehs_sha
شنبه 22 دی 1386, 17:40 عصر
JTextField txt=new JTextField ();
.
.
.
.
.

txt.grabFocus()

behrangsa
شنبه 22 دی 1386, 20:53 عصر
با سلام
چجوری میتونم روی یک Textbox هنگامی که کلید Enter توسط کاربر زده شد focus رو به شیئ دیگه ای منتقل کنم

با درود

روش درست انجام این کار استفاده از ActionListener است:



JTextField textField = new JTextField();

// the component that you want to grab the focus
JComponent comp = ...

textField.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
comp.requestFocusInWindow();
}
});


در اینجا comp آن کامپوننتی است که میخواهید فوکوس را به آن منتقل کنید. همچنین توجه کنید که نباید از متد grabFocus استفاده کنید:

http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JComponent.html#grabFocus()

البته کد فوق فقط روش انجام این کار را نشان می دهد. توجه کنید که اگر comp لوکال باشد، باید final هم باشد. در صورتی که member variable باشد نیازی به final بودن ندارد.

پیروز باشید،
بهرنگ