2015-11-10 2 views
0

Я разработал планку апплета, функциональность которой еще не вставлена. Итак, я создал экземпляры различных типов в классе, а затем создал их тип в функции init(). Но затем я изменил экземпляр массивов в конструкторе GPACalculator, и он дает мне 70 Ошибки компиляции. Я заранее проверил открывающие и закрывающие кронштейны и все еще остается нерешенным.Конструктор JApplet, дающий мне ошибки компиляции

Ошибки бывают разных типов. Некоторые из них являются следующие:

1. Незаконная начало выражения или типа

2. Не заявление

3. Особый характер ожидается

4. интерфейс класса или ожидаемое перечисление

Ошибки начинаются с строки, где я назначил значения String[] description.

Вот моя программа:

import java.awt.BorderLayout; 
import java.awt.FlowLayout; 
import java.awt.GridLayout; 
import javax.swing.JApplet; 
import javax.swing.JButton; 
import javax.swing.JComboBox; 
import javax.swing.JFrame; 
import javax.swing.JLabel; 
import javax.swing.JPanel; 
import javax.swing.JTextField; 
import javax.swing.SpringLayout; 
import javax.swing.SwingUtilities; 
import javax.swing.border.TitledBorder; 

public class GPACalculator extends JApplet { 

    private JButton[] button; //initially instantiated here instead of the constructor 
    private JComboBox[] c; //initially instantiated here instead of the constructor 
    private JFrame frame; 
    private JPanel[] p; //initially instantiated here instead of the constructor 
    private JTextField[] course; //initially instantiated here instead of the constructor 
    private JTextField finalGPA; 
    private JTextField[] points; //initially instantiated here instead of the constructor 
    private SpringLayout s1; 
    private String[] description; //initially instantiated here instead of the constructor 

    public GPACalculator() { 
     button = new JButton[2]; 
     c = new JComboBox[7]; 
     p = new JPanel[9]; 
     course = new JTextField[7]; 
     points = new JTextField[7]; 
     s1 = new SpringLayout(); 

     //error from the next line 

     description = { "Select", "A+", "A", "A-", "B+", "B", "B-", "C+", "C", "C-", "D+", "D", "D-", "F" }; 
     p[0] = new JPanel(s1); 
     for(int i=1; i<9; i++) 
      p[i] = new JPanel(new FlowLayout()); 
     prepareGUI(); 
    } 

    public void prepareGUI() { 
     frame = new JFrame("GPA Calculator"); 
     frame.setSize(400, 400); 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     frame.setLayout(new GridLayout(9,1)); 
     frame.setVisible(true); 
    } 

    public void init() { 
     //Execute a job on the event-dispatching thread; creating this applet's GUI. 
     JLabel label1 = new JLabel("<html><br>Course</html>"); 
     JLabel label2 = new JLabel("<html>Credit<br>Points</html>"); 
     JLabel label3 = new JLabel("<html><br>Grade</html>"); 
     p[0].add(label1); 
     p[0].add(label2); 
     p[0].add(label3); 
     s1.putConstraint(SpringLayout.NORTH, label1, 5, SpringLayout.NORTH, p[0]); 
     s1.putConstraint(SpringLayout.NORTH, label2, 5, SpringLayout.NORTH, p[0]); 
     s1.putConstraint(SpringLayout.NORTH, label3, 5, SpringLayout.NORTH, p[0]); 
     s1.putConstraint(SpringLayout.WEST, label1, 100, SpringLayout.WEST, p[0]); 
     s1.putConstraint(SpringLayout.WEST, label2, 143, SpringLayout.WEST, label1); 
     s1.putConstraint(SpringLayout.WEST, label3, 72, SpringLayout.WEST, label2); 
     frame.add(p[0]); 
     for (int i = 0; i<c.length; i++) { 
      course[i] = new JTextField(18); 
      points[i] = new JTextField(6); 
      p[i+1].add(course[i]); 
      p[i+1].add(points[i]); 
      c[i] = new JComboBox(); 
      for(int j=0; j<description.length; j++) { 
       c[i].addItem(description[j]); 
      } 
      p[i+1].add(c[i]); 
      frame.add(p[i+1]); 
     } 
     button[0] = new JButton("Clear All"); 
     button[1] = new JButton("Calculate your GPA"); 
     finalGPA = new JTextField(6); 
     p[8].add(button[0]); 
     p[8].add(button[1]); 
     p[8].add(finalGPA); 
     frame.add(p[8]); 
     frame.setVisible(true); 
    } 

    public static void main(String[] args) { 

     GPACalculator applet = new GPACalculator(); 
     applet.init(); 
    } 
} 
+0

и какие ошибки в это дает? – Stultuske

+0

@Stultuske Отредактировал мой вопрос с описанием ошибок. –

+0

stacktrace сообщает вам, в какой строке эти ошибки. Вы проверили их? – Stultuske

ответ

1
description = new String[] { "Select", "A+", "A", "A-", "B+", "B", "B-", "C+", "C", "C-", "D+", "D", "D-", "F" }; 

должен сделать трюк

+0

Ошибка исчезла. Поэтому я забыл создать экземпляр String [] внутри конструктора, но это не вызвало проблемы, когда я написал то же самое внутри класса. Как так? –

+1

@ Mr.Robot, если вы объявляете и инициализируете его в том же статусе 'String [] t = {" A "," B "}', то это действительный синтаксис. В противном случае, если вы объявите его где-то сначала 'String [] t' и инициализируете его позже, вам нужно объявить его как' t = new String [] {"A", "B"} '. – SomeJavaGuy

+0

Рад узнать. Спасибо. Будут держать это в виду для будущего кодирования :) –