2013-07-23 71 views
0

http://i.stack.imgur.com/sJu4p.jpg如何使用Tab鍵在Java

當我按下我想選擇在上述order.how我的文本字段做鍵盤上的Tab鍵選擇文本字段?

+0

你的意思是「製表索引」?告訴我們你的相關代碼 – Raptor

+0

你的意思是「Tab Index」? yep – DnwAlgorithma

+0

Swing不支持這個概念。閱讀教程。 – camickr

回答

0

試試這個例子....在java中

package com.Demo; 

import javax.swing.*; 
import java.awt.*; 
import java.awt.event.KeyAdapter; 
import java.awt.event.KeyEvent; 

@SuppressWarnings("serial") 
public class TabTest extends JFrame { 
    public TabTest() { 
     initialize(); 
    } 

    private void initialize() { 
     setSize(300, 300); 
     setTitle("JTextArea TAB DEMO"); 
     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     setLayout(new BorderLayout()); 

     JTextField textField = new JTextField(); 
     JPasswordField passwordField = new JPasswordField(); 
     final JTextArea textArea = new JTextArea(); 
     JScrollPane scrollPane = new JScrollPane(textArea); 

     // 
     // Add key listener to change the TAB behaviour in 
     // JTextArea to transfer focus to other component forward 
     // or backward. 
     // 
     textArea.addKeyListener(new KeyAdapter() { 
      @Override 
      public void keyPressed(KeyEvent e) { 
       if (e.getKeyCode() == KeyEvent.VK_TAB) { 
        if (e.getModifiers() > 0) { 
         textArea.transferFocusBackward(); 
        } else { 
         textArea.transferFocus(); 
        } 
        e.consume(); 
       } 
      } 
     }); 

     getContentPane().add(textField, BorderLayout.NORTH); 
     getContentPane().add(scrollPane, BorderLayout.CENTER); 
     getContentPane().add(passwordField, BorderLayout.SOUTH); 
    } 

    public static void main(String[] args) { 
     SwingUtilities.invokeLater(new Runnable() { 
      @Override 
      public void run() { 
       new TabTest().setVisible(true); 
      } 
     }); 
    } 
} 
+0

這不回答問題。不要使用KeyListener。 Swing被設計爲與鍵綁定一起使用。 – camickr