2013-03-04 2 views
-5

콘솔에 두 개의 단어를 출력하려고 할 때 if 문을 사용하여 입력 한 내용에 관계없이 항상 한 단어 만 반환합니다.내 Java 코드에 문제가 생겼습니다.

내 전체 코드 : 여기

public class Frame{ 

    //Declaring needed text variables 

    //Text Pane 
    static JFormattedTextField formattedTextField = new JFormattedTextField(); 
    static String username = formattedTextField.getText(); 

    //Frame 
    static JFrame UsernameFrame = new JFrame("Welcome"); 

    /** 
    * @wbp.parser.entryPoint 
    */ 
    public static void frame(){ 

     /** 
     * Configuring the Frame 
     */ 
     UsernameFrame.setSize(400,150); 
     UsernameFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     UsernameFrame.getContentPane().setLayout(null); 

     /** 
     * Configuring Submit button 
     */ 
     JButton btnSubmit = new JButton("Submit"); 
     btnSubmit.setBounds(0, 89, 384, 23); 
     btnSubmit.addActionListener(new ActionListener(){ 
      public void actionPerformed(ActionEvent e){ 
       if(username.length() < 5){ 
        System.out.println("no"); 
       } 
       if(username.length() > 5){ 
        System.out.println("continue"); 
       } 
       //Execute when the button is pressed 
       System.out.println("The button has been pressed"); 
      } 
     }); 
     UsernameFrame.getContentPane().add(btnSubmit); 

     /** 
     * Configuring user-name text pane 
     */ 
     JLabel lblEnterYourSelected = new JLabel("Enter your selected username below"); 
     lblEnterYourSelected.setHorizontalAlignment(SwingConstants.CENTER); 
     lblEnterYourSelected.setBounds(81, 11, 214, 14); 
     UsernameFrame.getContentPane().add(lblEnterYourSelected); 

     /** 
     * Configuring content pane 
     */ 
     formattedTextField.setBounds(129, 36, 120, 20); 
     UsernameFrame.getContentPane().add(formattedTextField); 
     UsernameFrame.setVisible(true); 




    } 
} 

내가 솔루션에 대한 좋은 거래를 보았다 난 그냥 하나를 찾을 수 없습니다

if(username.length() < 5){ 
    System.out.println("no"); 
} 
if(username.length() > 5){ 
    System.out.println("continue"); 
} 

함께 일하고 있어요 특정 라인입니다.

+5

Java에서 길이가 잘못되지 않았습니다! –

+0

음 .. 괜찮 았어 .. 뭐가 문제 야 ..? –

+0

코드가 사용자 이름의 값으로 어떻게 읽히는 지 혼란 스럽습니다. 사용자 이름이 정적 변수 인 이유는 무엇입니까? – JBentley

답변

3

버튼을 누른 후에 사용자 이름 값을 읽어야합니다.이 경우 입력 한 최신 값을 사용하고 길이를 확인하십시오.

당신이 다음과 같이이 작동

public void actionPerformed(ActionEvent e){ 
      String username = formattedTextField.getText(); 

       if(username.length() < 5){ 
        System.out.println("no"); 
       } 
       if(username.length() > 5){ 
        System.out.println("continue"); 
       } 
       //Execute when the button is pressed 
       System.out.println("The button has been pressed"); 
      } 

선언합니다. 또한 길이가 5 인 경우 테스트 조건을 포함해야합니다.

+0

고마워요! –

관련 문제