非法表达java帧的开始

时间:2013-08-09 05:19:45

标签: java swing jframe awt mixing

java中的这个小代码给了我4个错误。我不明白他们的意思。 请帮帮我。

class Frames extends Frame implements ActionListener {

    Frames() {
        JFrame jf = new JFrame("Welcome");
        Container c = jf.getContentPane();
        JPanel jp = new JPanel();
        c.add(jp);
        JLabel jl = new JLabel("Please enter your name");
        jp.add(jl);
        JTextField jtf = new JTextField(30);
        jp.add(jtf);
        JButton jb = new JButton("Submit");
        jp.add(jb);
        jb.addActionListener(this);
        jl.setForeground(Color.white);
        jp.setBackground(Color.black);
        jf.setBounds(200, 200, 400, 400);
        jf.setVisible(true);
        jf.setDefaultCloseOperation(jf.EXIT_ON_CLOSE);

        public void actionPerformed(ActionEvent ae) {
            JOptionPane.showMessageDialog(frame, "Hello");
        }
    }

    public static void main (String[] args) {
        Frames f = new Frames();
    }
}

2 个答案:

答案 0 :(得分:3)

应关闭Frames()构造函数

中的大括号
Frames() {
    JFrame jf = new JFrame("Welcome");
    Container c = jf.getContentPane();
    JPanel jp = new JPanel();
    c.add(jp);
    JLabel jl = new JLabel("Please enter your name");
    jp.add(jl);
    JTextField jtf = new JTextField(30);
    jp.add(jtf);
    JButton jb = new JButton("Submit");
    jp.add(jb);
    jb.addActionListener(this);
    jl.setForeground(Color.white);
    jp.setBackground(Color.black);
    jf.setBounds(200,200,400,400);
    jf.setVisible(true);
    jf.setDefaultCloseOperation(jf.EXIT_ON_CLOSE);
}

答案 1 :(得分:2)

在启动方法actionPerformed

之前,不要使用}}关闭构造函数框架

方法后}}不正确。