需要找出我的代码出错的地方

时间:2014-12-03 20:56:02

标签: java swing

正在处理这个Java的GUI代码,我不断收到一个错误:

  

guiconstruct.java:30:错误:方法声明无效;返回类型   要求ÏϧÏpublicRecitate_7();

我希望有人能告诉我这个错误意味着什么。我知道它的公共评估线7接近结束,或者至少我相信。任何帮助都将非常感激。

谢谢。代码如下:

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

public class guiconstruct extends JFrame {

    private JLabel blankoneL, blanktwoL, blankthreeL,
            scoreL, weightL, oneL, twoL, threeL, fourL, averageL;

    private JTextField oneTF, twoTF, threeTF, fourTF, woneTF, wtwoTF,
            wthreeTF, wfourTF, averageTF;

    private JButton submitB, resetB, exitB;

    private SubmitButtonHandler sbHandler;
    private ResetButtonHandler rbHandler;
    private ExitButtonHandler ebHandler;
    //indicate the size of the window

    private static final int WIDTH = 500;

    private static final int HEIGHT = 400;

    public Evaluate_7();
    {
        //Create labels
        blankoneL = new JLabel("");
        blanktwoL = new JLabel("");
        blankthreeL = new JLabel("");

        scoreL = new JLabel("Score", SwingConstants.CENTER);//swingConstants." " tells the program how to align the text in the window
        weightL = new JLabel("Weight", SwingConstants.CENTER);
        oneL = new JLabel("Test Score One: ", SwingConstants.RIGHT);
        twoL = new JLabel("Test Score Two: ", SwingConstants.RIGHT);
        threeL = new JLabel("Test Score Three: ", SwingConstants.RIGHT);
        fourL = new JLabel("Test Score Four: ", SwingConstants.RIGHT);
        averageL = new JLabel("Weighted Average: ", SwingConstants.RIGHT);

        //Create textfields
        oneTF = new JTextField(5);
        twoTF = new JTextField(5);
        threeTF = new JTextField(5);
        fourTF = new JTextField(5);
        woneTF = new JTextField(5);
        wtwoTF = new JTextField(5);
        wthreeTF = new JTextField(5);
        wfourTF = new JTextField(5);
        averageTF = new JTextField(5);

        //create Submit Button
        submitB = new JButton("Submit");
        sbHandler = new SubmitButtonHandler();
        submitB.addActionListener(sbHandler);
        //Create Reset Button
        resetB = new JButton("Reset");
        rbHandler = new ResetButtonHandler();
        resetB.addActionListener(rbHandler);

        //Create Exit Button
        exitB = new JButton("Exit");
        ebHandler = new ExitButtonHandler();
        exitB.addActionListener(ebHandler);

        //Set the title of the window
        setTitle("Evaluate 6 IT145");

        //Get the container
        Container pane = getContentPane();

        //Set the layout
        pane.setLayout(new GridLayout(7, 3));

        //Place the components in the pane
        pane.add(blankoneL);
        pane.add(scoreL);
        pane.add(weightL);
        pane.add(oneL);
        pane.add(oneTF);
        pane.add(woneTF);
        pane.add(twoL);
        pane.add(twoTF);
        pane.add(wtwoTF);
        pane.add(threeL);
        pane.add(threeTF);
        pane.add(wthreeTF);
        pane.add(fourL);
        pane.add(fourTF);
        pane.add(wfourTF);
        pane.add(averageL);
        pane.add(averageTF);
        pane.add(blanktwoL);
        pane.add(submitB);
        pane.add(resetB);
        pane.add(exitB);
        //set the size of the window and display it

        setSize(WIDTH, HEIGHT);
        setVisible(true);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
    }

    private class SubmitButtonHandler implements ActionListener {

        public void actionPerformed(ActionEvent e);

        private class ResetButtonHandler implements ActionListener {

            public void actionPerformed(ActionEvent e);
            {
                double one, wone, two, wtwo, three, wthree, four, wfour, ave;

                twoDigits = new DecimalFormat("0.00");
                one = Double.parseDouble(oneTF.getText());
                wone = Double.parseDouble(woneTF.getText());
                two = Double.parseDouble(twoTF.getText());
                wtwo = Double.parseDouble(wtwoTF.getText());
                 = Double.parseDouble(threeTF.getText());

                wthree = Double.parseDouble(wthreeTF.getText());
                four = Double.parseDouble(fourTF.getText());
                wfour = Double.parseDouble(wfourTF.getText());
                ave = (one * wone + two * wtwo + three * wthree + four * wfour) / (wone + wtwo + wthree + wfour);

                averageTF.setText("" + twoDigits.format(ave));
            }
        }

        private class ExitButtonHandler implements ActionListener {

            public void actionPerformed(ActionEvent e);
            {
                System.exit(0);
            }
        }

        public static void main(String[] args) {
            Evaluate_7 wAveObject = new Evaluate_7();
        }
    }
}

1 个答案:

答案 0 :(得分:2)

您为您的班级guiconstruct命名,但之后您将构造函数Evaluate_7命名为(并且在该行的末尾有一个分号)。所以编译器认为Evaluate_7是一种方法,它确实会缺少一个返回类型。