2010-02-08 48 views
0

嘿,夥計們,看到這個文檔片斷代碼:JTextField - Java swing - 無遊標?

JFrame loginFrame = new JFrame("Login"); 

    loginFrame.setSize(500,400); 
    JPanel loginPanel = new JPanel(); 
    loginPanel.setLayout(new GridLayout(0,2)); 

    JLabel header = new JLabel("Login"); 
    JLabel header2 = new JLabel("blahvlah"); 
    JLabel loginLabel = new JLabel("Login"); 
    JTextField loginField = new JTextField(24); 
    JLabel passLabel = new JLabel("Password"); 
    JTextField passField = new JTextField(24); 

    loginPanel.add(header); 
    loginPanel.add(header2); 
    loginPanel.add(loginLabel); 
    loginPanel.add(loginField); 
    loginPanel.add(passLabel); 
    loginPanel.add(passField); 

    loginFrame.add(loginPanel); 
    loginFrame.setVisible(true); 
loginframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

JTextFields將存在於應用程序,但我不能輸入任何東西放進去?也沒有光標,有什麼問題?另外我的關閉退出似乎並沒有工作?

感謝

+0

@keval:有我們看不到這裏有什麼碼?嘗試從與創建單個「JTextField」無關的代碼中刪除所有內容(或者創建一個僅顯示「JTextField」的新應用程序),並檢查是否可以重新編譯它。 –

回答

7

您發佈不編譯(在你輸入loginframe,而不是loginFrame最後一行)代碼。經過修正,以下程序:

public class JFrameTest { 
    public static void main(String[] args) { 
     JFrame loginFrame = new JFrame("Login"); 

     loginFrame.setSize(500,400); 
     JPanel loginPanel = new JPanel(); 
     loginPanel.setLayout(new GridLayout(0,2)); 

     JLabel header = new JLabel("Login"); 
     JLabel header2 = new JLabel("blahvlah"); 
     JLabel loginLabel = new JLabel("Login"); 
     JTextField loginField = new JTextField(24); 
     JLabel passLabel = new JLabel("Password"); 
     JTextField passField = new JTextField(24); 

     loginPanel.add(header); 
     loginPanel.add(header2); 
     loginPanel.add(loginLabel); 
     loginPanel.add(loginField); 
     loginPanel.add(passLabel); 
     loginPanel.add(passField); 

     loginFrame.add(loginPanel); 
     loginFrame.setVisible(true); 
     loginFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    } 
} 

運行得很好。我可以在兩個JTextField中輸入文字,也可以關閉的JFrame:

alt text http://i45.tinypic.com/15wqvk.png

+0

它在我的系統上看起來完全不同,即時運行linux和使用eclipse,也許我的jdk沒有正確設置? – KP65

+0

我在創建它的屏幕截圖之前調整了JFrame的大小。而GUI組件可能會因底層窗口管理器(我正在運行Ubuntu + Gnome)而有所不同。你是否運行我發佈的課程?你已經安裝了哪些JRE?我建議創建一個新的類'JFrameTest'並複製上面的內容。然後從命令行編譯並運行它。 –

+0

很好的答案/細節層次。喜歡你添加屏幕截圖的事實。 –