Void对变量main无效?

时间:2014-01-19 17:14:20

标签: java

如何修复错误,Void对变量main无效?我尝试在线查找,但找不到任何东西。我也是新手,所以请放轻松我。我正在学习。

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;


public class Text extends JFrame
{


   JPanel jp = new JPanel();
   JLabel jl = new JLabel();
   JTextField jt = new JTextField("Month",30);
   JTextField jt2 = new JTextField("Date",30);
   JButton jb = new JButton("Enter");

   public Text()
   {
       public static void main (String[] args); {
          setTitle("Tutorial");
          setVisible(true);
          setSize(400, 200);
          setDefaultCloseOperation(EXIT_ON_CLOSE);

          jp.add(jt);
          jp.add(jt2);


          jt.addActionListener(new ActionListener()
          {
                 public void actionPerformed(ActionEvent e)
                 {
                       String input = jt.getText();
                       jl.setText(input); 
                 }
          });

          jp.add(jb);
          jb.addActionListener(new ActionListener()
          {
                  public void actionPerformed(ActionEvent e)
                  {


                         String input = jt.getText();
                         String input2 = jt2.getText();
                         jl.setText(input);
                         jl.setText(input2);
                         int day = Integer.parseInt(input2);
                            if ((input.equals("Test")) && (input2.equals(day >= 26)))//||(input2.equals("27")))))
                                JOptionPane.showMessageDialog(null, "" , "" ,JOptionPane.PLAIN_MESSAGE,aries);
                  }

          });


          add(jp);

   }

   }
}  

3 个答案:

答案 0 :(得分:2)

您已将main方法放在<{1}}的构造函数中。它属于构造函数外部,与构造函数处于同一级别。将它移到构造函数之外。

class Text

答案 1 :(得分:1)

Java不允许在其他方法中定义方法。将main方法移出Text构造函数,并删除提前终止语句的分号。

此外,您有许多属于setTitle的方法(例如setVisibleJFrame) - 这些方法需要移动到实例代码块以使其可访问

public class Text extends JFrame {

    JPanel jp = new JPanel();
    JLabel jl = ...

    public Text() {
        setTitle("Tutorial");
        setVisible(true);
        ...

        add(jp);
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {

            @Override
            public void run() {
                new Text().setVisible(true);
            }
        });
    }
}

答案 2 :(得分:1)

;方法声明后删除main

public static void main (String[] args);
                                       ^-------- Delete this

main方法放在构造函数之外:

public Text() {
...
}

public static void main(...) {
...
}