2014-04-09 2 views
0

내 palindrome 프로그램에서 작업하고 JFrame에 구현하고 있습니다. Img는 결과를 CalculateButtonHandler 범위에 결과를 표시하는 방법에 대해 고집했다. 어떤 도움을 주시면 감사하겠습니다. Heres는내 프로그램을 끝내기 위해 뭔가가 누락되었습니다.

내 코드 :

import java.awt.*; 
import javax.swing.*; 
import java.awt.event.*; 
import java.util.*; 

public class Exercise5 extends JFrame 
{ 
    private static final int Width = 400; 
    private static final int Height = 200; 

    private JLabel wordJL,resultJL; 
    private JTextField wordTF,resultTF; 

    private JButton checkJB,exitJB; 

    private CalculateButtonHandler checkHandler; 
    private ExitButtonHandler exitB; 

    public Exercise5() 
    { 
     setTitle ("Palindrome"); 
     wordJL = new JLabel ("Enter a word: ", SwingConstants.RIGHT); 
     resultJL = new JLabel ("Result: ", SwingConstants.RIGHT); 

     wordTF = new JTextField(10); 

     resultTF = new JTextField(10); 

     checkJB = new JButton ("Calculate"); 
     checkHandler = new CalculateButtonHandler(); 

     exitJB = new JButton ("Exit"); 
     exitB = new ExitButtonHandler(); 
     exitJB.addActionListener (exitB); 

     Container pane = getContentPane(); 
     pane.setLayout (new GridLayout (3,2)); 

     pane.add(wordJL); 
     pane.add(wordTF); 
     pane.add(checkJB); 
     pane.add(exitJB); 
     pane.add(resultJL); 
     pane.add(resultTF); 

     setSize(Width, Height); 
     setVisible (true); 
     setDefaultCloseOperation (EXIT_ON_CLOSE); 
    } 

    private class CalculateButtonHandler implements ActionListener 
     { 
     public void actionPerformed (ActionEvent e) 
     { 
     if(e.getSource().equals(checkJB)) { 
      String pal1, pal2=""; 
      pal1 = wordTF.getText(); 
      int length = pal1.length(); 

      for (int i = length - 1 ; i >= 0 ; i--) { 
       pal2 = pal2 + pal1.charAt(i); 
      } 

      if (pal1.equals(pal2)) 
       resultTF.setText("True"); 
       else 
        resultTF.setText("False"); 


     } 
     } 
    } 

    private class ExitButtonHandler implements ActionListener 
    { 
    public void actionPerformed (ActionEvent e) 
    { 
     System.exit(0); 
     } 
    } 

    public static void main (String[] args){ 
     Exercise5 rectObject = new Exercise5(); 
    } 

    } 
+0

을 무엇 내가 문자열에 입력하면이 당신에게 – CMPS

+0

을 제공 단어 텍스트 필드는 결과 텍스트 필드에 아무런 결과도주지 않습니다. @AmirBawab – user3513143

답변

1

당신이 checkJB의 액션 청취자로서 checkHandler을 추가하지 않은 .. 시도 :

checkJB = new JButton ("Calculate"); 
checkHandler = new CalculateButtonHandler(); 
checkJB.addActionListener(checkHandler); //THIS LINE! 
+0

예. 고마워 남자 – user3513143

+0

prob, btw 필요하지 않을 수도 있습니다 :'if (e.getSource(). equals (checkJB))' –