2015-01-30 3 views
0

그래서 나는 코드를 컴파일하고 실행하기 위해 main이 있어야하는 곳으로 머리를 감싸는 데 어려움을 겪고있다. Java가 하나의 주요 메소드를 필요로한다는 것을 알고 있습니다. 나는 그것을 특정 영역에 넣었지만 어떤 클래스는 정의되지 않았다고 설명한다. 나는 교수가 요구 한 것보다 더 많은 것을 시도 했었습니다. 아마도 이것이 최선의 아이디어는 아니었지만 이것을 이해하는 것은 인정 될 것입니다. 고맙습니다. 이 프로그램의 목적은 사용자 입력을 받아 숫자 값을 곱하는 것임을 설명하는 것을 잊어 버렸습니다. 나는 이것을 성취하려고 노력했지만 C++을 배우고 나면, 파싱은 약간 혼란 스럽다.이 코드에서 프로그램을 실행하기 위해 main이 구현되는 위치는 어디입니까?

/** 
    * 
    *@author ngc5043 
    *@version 1.0 
    */ 

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

public class Nicolas_Carabajal_Assignment3 extends JFrame 
{ 
     private JPanel panel; 
     private JLabel messageLabel; 
     private JTextField ExTextField; 
     private JButton calcButton; 
     private final int WINODW_WIDTH = 310; 
     private final int WINDOW_HEIGHT = 100; 

    public Nicolas_Carabajal_Assignment3(int WINDOW_WIDTH) 
    { 
    setTitle("Expressions Window"); 
    setSize(WINDOW_WIDTH, WINDOW_HEIGHT); 
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    buildPanel(); 
    add(panel); 
    setVisible(true); 
    } 

    private void buildPanel() 
    { 
     messageLabel = new JLabel("Please Enter a Number"); 
     ExTextField = new JTextField(10); 
     calcButton = new JButton("Calculate"); 
     calcButton.addActionListener(new CalcButtonListener()); 
     panel = new JPanel(); 
     panel.add(messageLabel); 
     panel.add(ExTextField); 
     panel.add(calcButton); 
    } 

    private class CalcButtonListener implements ActionListener 
    { 
     public void actionPerformed(ActionEvent e) 
     { 
      String inputString; 
      double answerOne; 
      inputString = ExTextField.getText(); 
      answerOne = Double.parseDouble(inputString)* inputString; 
      JOptionPane.showMessageDialog(null,"Your Answer Is" + answerOne);     
     } 

    } 

    } 
+0

응답 코드를 통합하려면 질문에있는 코드를 업데이트하지 마십시오. 귀하의 질문은 미래의 시청자를 위해 혼란스럽게합니다. 추가 문제가있는 경우 의견을 사용하여 설명을 요청하거나 새로운 질문을하십시오. – Radiodef

답변

0

Nicolas_Carabajal_Assignment3 클래스에 주 방법을 배치하십시오. main 메소드에서 해당 클래스의 새 인스턴스를 만들고 다른 모든 코드가 올바른 것으로 가정하면 JFrame이 표시되어야합니다.

0

이것은 매우 간단합니다. 생성자 바로 앞에 코드의 시작 부분에 추가하면됩니다.

public class Nicolas_Carabajal_Assignment3 extends JFrame { 
    private JPanel panel; 
    private JLabel messageLabel; 
    private JTextField ExTextField; 
    private JButton calcButton; 
    private final int WINODW_WIDTH = 310; 
    private final int WINDOW_HEIGHT = 100; 

    public static void main(String[] args){ 
     Nicolas_Carabajal_Assignment3 main = new Nicolas_Carabajal_Assignment3(SIZE_OF_WINDOW); 
     main.buildPanel(); 
    } 
    ... 

희망이 도움이됩니다. :)

+0

도움 주셔서 감사합니다. 당신이 나에게해야한다고 말한 코드를 추가했습니다. 나는이 일을 꼼짝 않고 바라 보았을 것이고 아마도 이것은 매우 간단 할 것이지만 지금은 이것에 오류가 있다고 말한다. Nicolas_Carabajal_Assignment3.java:25 : 오류 : 예상 공공 Nicolas_Carabajal_Assignment3 (window_width, window_height에) 죄송합니다 – ngcarabajal

+0

이 조금 늦게이지만, 당신이해야 할 모든 당신의 window_width, window_height에 공개로 WINDOW_HIGHT 설정됩니다. – FireRaven

관련 문제