2013-05-14 3 views
0

에 오류가 발생하므로 클래스 용 프로그램을 작성 중이며 명령 프롬프트를 통해 실행 가능해야합니다. IE javac filename.java, java 파일 이름. 나는 이클립스에서 코드를 작성 했으므로 문제가 발생했다. 내가 할 수 있나요eclipse에서 프로그램을 작성하면 명령 프롬프트

C:\Users\*****\Desktop>javac QA.java 
    QA.java:8: error: package com.jgoodies.forms.layout does not exist 
    import com.jgoodies.forms.layout.FormLayout; 
            ^
    QA.java:9: error: package com.jgoodies.forms.layout does not exist 
    import com.jgoodies.forms.layout.ColumnSpec; 
            ^
    QA.java:10: error: package com.jgoodies.forms.factories does not exist 
    import com.jgoodies.forms.factories.FormFactory; 
            ^
    QA.java:11: error: package com.jgoodies.forms.layout does not exist 
    import com.jgoodies.forms.layout.RowSpec; 
            ^
    QA.java:32: error: cannot find symbol 
        getContentPane().setLayout(new FormLayout(new ColumnSpec[] { 
               ^
     symbol: class FormLayout 
     location: class QA 
    QA.java:32: error: cannot find symbol 
        getContentPane().setLayout(new FormLayout(new ColumnSpec[] { 
                   ^
     symbol: class ColumnSpec 
     location: class QA 
    QA.java:33: error: cannot find symbol 
            ColumnSpec.decode("220px"), 
            ^
     symbol: variable ColumnSpec 
     location: class QA 
    QA.java:34: error: cannot find symbol 
            FormFactory.UNRELATED_GAP_COLSPEC, 
            ^
     symbol: variable FormFactory 
     location: class QA 
    QA.java:35: error: cannot find symbol 
            ColumnSpec.decode("220px"),}, 
            ^
     symbol: variable ColumnSpec 
     location: class QA 
    QA.java:36: error: cannot find symbol 
          new RowSpec[] { 
           ^
     symbol: class RowSpec 
     location: class QA 
    QA.java:37: error: cannot find symbol 
            RowSpec.decode("97px"), 
            ^
     symbol: variable RowSpec 
     location: class QA 
    QA.java:38: error: cannot find symbol 
            RowSpec.decode("50px"), 
            ^
     symbol: variable RowSpec 
     location: class QA 
    QA.java:39: error: cannot find symbol 
            RowSpec.decode("73px"), 
            ^
     symbol: variable RowSpec 
     location: class QA 
    QA.java:40: error: cannot find symbol 
            RowSpec.decode("42px"),})); 
            ^
     symbol: variable RowSpec 
     location: class QA 
    14 errors 

:의 라인을 따라

import javax.swing.JApplet; 
    import javax.swing.JButton; 

    import java.awt.event.ActionEvent; 
    import java.awt.event.ActionListener; 
    import javax.swing.JLabel; 
    import javax.swing.SwingConstants; 
    import com.jgoodies.forms.layout.FormLayout; 
    import com.jgoodies.forms.layout.ColumnSpec; 
    import com.jgoodies.forms.factories.FormFactory; 
    import com.jgoodies.forms.layout.RowSpec; 
    import java.awt.Font; 


    public class QA extends JApplet implements ActionListener{ 

     int y=0; 
     int x=0; 
     int a=0; 
     int b=0; 
     static int q=-1; 

     JButton btnYes = new JButton("YES"); 
     JButton btnNo = new JButton("NO"); 
     static JLabel lblNewLabel = new JLabel("Use the buttons to answer this question: Do you like pizza?"); 

     public QA() { 

      getContentPane().setLayout(new FormLayout(new ColumnSpec[] { 
        ColumnSpec.decode("220px"), 
        FormFactory.UNRELATED_GAP_COLSPEC, 
        ColumnSpec.decode("220px"),}, 
       new RowSpec[] { 
        RowSpec.decode("97px"), 
        RowSpec.decode("50px"), 
        RowSpec.decode("73px"), 
        RowSpec.decode("42px"),})); 
      btnYes.setFont(new Font("Tahoma", Font.PLAIN, 10)); 


      getContentPane().add(btnYes, "1, 4, right, fill"); 
      btnYes.setActionCommand("Yes"); 
      btnYes.addActionListener(this); 
      btnNo.setFont(new Font("Tahoma", Font.PLAIN, 10)); 

      getContentPane().add(btnNo, "3, 4, left, fill"); 
      btnNo.setActionCommand("No"); 
      btnNo.addActionListener(this); 

      lblNewLabel.setHorizontalAlignment(SwingConstants.CENTER); 
      getContentPane().add(lblNewLabel, "1, 2, 3, 1, fill, fill"); 
     } 

     public void actionPerformed(ActionEvent evt) { 
      Object cmd = evt.getActionCommand(); 
      if (cmd == "Yes") 
      { 
       ++q; 
      } 
      else if (cmd == "No") 
      { 
       ++q; 
     } 
    } 
} 
} 

내가 얻을 오류입니다 다음과 같이 내 코드는? 어떤 도움을 주셔서 감사합니다!

답변

2

클래스 경로에서 JGoodies Forms jar가 누락되었습니다. 당신은 컴파일하려면 here

에서 다운로드 할 수 있습니다 :

javac .;forms-1.2.1.jar QA.java 

을 실행하려면 :

HTML 문서는 제외하고 애플릿 태그

<applet code="QA.class" width=400 height=75 arhive="forms-1.2.1.jar"> </applet> 
을 포함
appletviewer my-qa-test.html 

: 컴파 때 ring String 내용, 사용 String#equals== 연산자는 개체 참조를 비교합니다. jgoodies 물건없이 모든 것을 다시 할 수있는 방법이 있지만,

btnYes.addActionListener(new ActionListener() { 

    @Override 
    public void actionPerformed(ActionEvent e) { 
     q++; 
    } 
}); 
+0

확인 감사 :이 경우 익명 ActionListener 클래스를 사용하여 문제의 분리를 적용? – GiantDwarf

+1

그렇기 때문에'JGoodies' 레이아웃을 기존의 Swing 레이아웃으로 대체해야합니다. [레이아웃 관리자 안내서] (http://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html)를 참조하십시오. 당신은 컨트롤이 거의 없으므로 매우 직관적이어야합니다. – Reimeus

+0

@ Reimeus - 이것은 애플릿 인 것 같습니다. '웹 브라우저'또는 '애플릿 뷰어'를 통해 실행하면 안됩니까? 내가 여기서 무엇을 놓치고 있니? –