2015-11-14 37 views
1

我正在嘗試使用Java創建登錄表單。我不能讓它工作。Java,JButton錯誤

我到處都找過那麼互聯網對如何解決這一問題,我無法找到任何東西。

代碼: LoginFrame.java:

import java.awt.*; 
    import java.awt.event.*; 
    import javax.swing.*; 
    public class LoginFrame extends JFrame 
    { 
     JPanel pane = new JPanel(); 
     static JFormattedTextField username = new JFormattedTextField(16); 
     static JFormattedTextField password = new JFormattedTextField(16); 
     static JButton loginButton = new JButton("Login!"); 
     static String input[]; 

     public LoginFrame() throws IOException 
     { 

     super("Login"); 
     setSize(300,150); 
     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     Container con = this.getContentPane(); 
     con.add(pane); 

     pane.add(new JLabel("Username")); 
     pane.add(username); 
     pane.add(new JLabel("Password")); 
     pane.add(password); 
     pane.add(loginButton); 
     @Override 
     IEventHandler eHandler = new IEventHandler(); 
     @Override 
     loginButton.addActionListener(eHandler); 
     setVisible(true); 
     } 

     static String[] getInput() 
     { 
     return input; 
     } 
    } 

IEventHandler.java:

import java.awt.event.*; 

    class IEventHandler implements ActionListener 
    { 

     public void actionPreformed(ActionEvent e) 
     { 
     if(e.getSource() == LoginFrame.loginButton){ 
      LoginFrame.loginButton.setEnabled(false); 
      new AuthLIB().authenticate(LoginFrame.getInput()); 
     } 
     } 
     public IEventHandler() 
     { 
     System.out.println("Event Handler Hooked"); 
     } 
    } 

My Errors

+1

恰好是不工作怎麼辦?你有錯誤嗎?如果是這樣,請發佈它們。 – mezmi

+0

它們張貼在鏈接的一個圖像 – ComputerCandy

+0

什麼,我不明白 – ComputerCandy

回答

2

你是不是覆蓋:在任何方法體。這些

@Override 
IEventHandler eHandler = new IEventHandler(); 
@Override 
loginButton.addActionListener(eHandler); 

應該只是

IEventHandler eHandler = new IEventHandler(); 
loginButton.addActionListener(eHandler); 

假設你要ActionListener.actionPerformed(ActionEvent)

public void actionPreformed(ActionEvent e) 

應使用註解。反正你會看到拼寫錯誤更快。

@Override 
public void actionPerformed(ActionEvent e) 
+0

它的工作,謝謝 – ComputerCandy

+0

@ComputerCandy:如果這爲你工作,請考慮接受它作爲答案。要做到這一點,請點擊答案左側的刻度線,以便它變成綠色。 – halfer