box.java:31: invalid method declaration; return type required
        addWindowListener(new WindowAdapter(){
        ^
box.java:31: illegal start of type
        addWindowListener(new WindowAdapter(){
                          ^
box.java:33: <identifier> expected
         });
           ^
3 errors
-_-b  是3个错

解决方案 »

  1.   

    import java.awt.*;
    import java.awt.event.*;
    class box extends Frame
        implements ItemListener
        {
            Checkbox b1,b2,b3,b4;
            TextField tf;
            box(String t)
            {
                super(t);
                setLayout(new FlowLayout());
                b1=new Checkbox("A",false);
                b2=new Checkbox("B",false);
                b3=new Checkbox("C",false);
                b4=new Checkbox("D",false);
                add(b1);   add(b2);   add(b3);   add(b4);
                b1.addItemListener(this);
                b2.addItemListener(this);
                b3.addItemListener(this);
                b4.addItemListener(this);
                tf=new TextField(20);
                add(tf);
                setSize(40,100);
                
                
                addWindowListener(new WindowAdapter(){
            public void windowClosing(WindowEvent e){ System.exit(0);}
             });
                
            }
            public void itemStateChanged(ItemEvent event)
            {
                tf.setText("Checkbox "+event.getItem().toString());
            }
             public static void main(String args[])
             {
                box m=new box("box");
                m.show();
             }
        }不知道这个是哪里来的?
    event.getItemSelectable().getLabel());
      

  2.   

    你还说呢,我是复制书的自带光盘中的代码还有错呢!
    看看吧:import java.sql.*;
    import javax.swing.*;
    import java.awt.event.*;
    import java.awt.*;
    import javax.swing.event.*;public class VLookup extends JApplet
    {
    String dbUrl = "jdbc:odbc:people";
    String user = "";
    String password = "";
    Statement s;
    JTextField searchFor = new JTextField(20);
    JLabel completion = new JLabel(" ");
    JTextArea results = new JTextArea(40, 20); public void init()
    {
    searchFor.getDocument().addDocumentListener(new SearchL());
    JPanel p = new JPanel();
    p.add(new Label("Last name to search for:"));
    p.add(searchFor);
    p.add(completion);
    Container cp = getContentPane();
    cp.add(p, BorderLayout.NORTH);
    cp.add(results, BorderLayout.CENTER);
    try
    {
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    Connection c = DriverManager.getConnection(dbUrl, user, password);
    s = c.createStatement();
    }
    catch (Exception e)
    {
    results.setText(e.toString());
    }
    } class SearchL implements DocumentListener
    {
    public void changedUpdate(DocumentEvent e) {}
    public void insertUpdate(DocumentEvent e)
    {
    textValueChanged();
    }
    public void removeUpdate(DocumentEvent e)
    {
    textValueChanged();
    }
    } public void textValueChanged() {
    ResultSet r;
    if (searchFor.getText().length() == 0)
    {
    completion.setText("");
    results.setText("");
    return;
    }
    try
    {
    r = s.executeQuery(
    "SELECT LAST FROM people.csv people " +
    "WHERE (LAST LIKE '" +
    searchFor.getText() +
    "%') ORDER BY LAST");
    if (r.next())
    completion.setText(r.getString("last"));
    r = s.executeQuery(
    "SELECT FIRST, LAST, EMAIL " +
    "FROM people.csv people " +
    "WHERE (LAST = '" +
    completion.getText() +
    "') AND (EMAIL Is Not Null) " +
    "ORDER BY FIRST");
    }
    catch (Exception e)
    {
    results.setText(
    searchFor.getText() + "\n");
    results.append(e.toString());
    return;
    }
    results.setText("");
    try
    {
    while (r.next())
    {
    results.append(
    r.getString("last") + ", " +
    r.getString("first") + ": " +
    r.getString("email") + "\n");
    }
    }
    catch (Exception e)
    {
    results.setText(e.toString());
    }
    } public static void main(String args[])
    {
    VLookup l = new VLookup();
    JFrame f = new JFrame("Sample JDBC query");
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    f.setSize(500, 200);
    f.getContentPane().add(l);
    l.init();
    l.start();
    f.setVisible(true);
    }
    }
      

  3.   


    我编译后提示的错误是:
    C:\Java源代码\第二章\实例17\VLookup.java:39: error while writing VLookup.SearchL: C:\Java源代码\第二章\实例17\VLookup$SearchL.class (拒绝访问。)
            class SearchL implements DocumentListener
            ^
    1 errorProcess completed.这是什么错啊?
      

  4.   

    把下面这段代码放到box的构造函数里,因为程序代码要写到一个函数里
    addWindowListener(new WindowAdapter(){
            public void windowClosing(WindowEvent e){ System.exit(0);}
             });
    不过修改后,编译还有一个错误,把的itemStateChanged语句改成这样就可以了
     public void itemStateChanged(ItemEvent event)
            {
                tf.setText("Checkbox "+event.getItemSelectable());
            }
      

  5.   

    cq_pro(重庆制造)的错误应该是程序代码的只读属性没有去掉吧
      

  6.   

    把这个class删除后在编译看看.
    C:\Java源代码\第二章\实例17\VLookup$SearchL.class
      

  7.   

    看看VLookup.class文件的属性是不是只读
    改一下
      

  8.   

    public void itemStateChanged(ItemEvent event)
            {
                tf.setText("Checkbox "+event.getItemSelectable());//我想在这里得到被选择的多选框的标签,怎么做? 为什么用getLabel() 不行?
            }
      

  9.   

    tf.setText("Checkbox "+event.getItem().toString());
    这个不是么?event.getItemSelectable()里面就没有getLabel这个方法.