JFrame能当作一个组件添加到TabbedPane中吗,
我用选项卡做一个邮件收发的小程序,但是这句话就是编译不过去,tabbedPane.add("收件箱", receivebox); 
receivebox是继承JFrame 的,有人能教教我吗

解决方案 »

  1.   

    package Mail22;import java.awt.*;
    import java.sql.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.util.*;
    import javax.swing.table.*;public class ReceiveBox extends JPanel implements ActionListener {

    private static final long serialVersionUID = 1L; JTable table;//定义表格 DefaultTableModel dtm;//定义数据模型 JScrollPane p1; JButton ok = new JButton("查询"); //JPanel compnel = new JPanel(); //JPanel cominput = new JPanel(); //JPanel tabpanel = new JPanel();

    // JPanel p2 = new JPanel(); JTextField file = new JTextField(10); String[] col = { "学号", "姓名", "性别", "年龄", "系别" }; JLabel bb = new JLabel("       "); Statement stmt; ResultSet rs; public ReceiveBox() {
    String sql = "select sno as 学号,sname as 姓名,ssex as 性别,sage as 年龄,sdept as 系别 from student";
    try { stmt = ConnectServer.con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
    rs = stmt.executeQuery(sql); ResultSetMetaData dbmd = rs.getMetaData();//获得表的元数据
    for (int i = 1; i <= dbmd.getColumnCount(); i++) dtm = new DefaultTableModel(null, col);//建立默认的表格数据模型
    table = new JTable(dtm);//由数据模型建立表格
    initTable();//向表格中添加数据
    table.setRowHeight(20);//设置表格行高
    p1 = new JScrollPane(table);//添加滚动条 // p2.add(bb);
    this.add(p1, "Center");
    //this.add(p2, "South");
    } catch (Exception e) {
    System.out.println(e);
    // dispose();
    }
    /*this.addWindowListener(new WindowAdapter() {
    public void windowClosing(WindowEvent e) {
    try {
    rs.close();
    stmt.close();
    ConnectServer.con.close();
    } catch (SQLException ee) {
    ee.printStackTrace();
    }
    }
    });*/                            
    //setTitle("学生信息分页浏览");
    setSize(600, 400);
    setVisible(true);
    }//end public XsdaBrowse() void initTable() {
    dtm.setRowCount(0);//清空模型中的数据
    try { while (rs.next()) {
    Vector v1 = new Vector();//建立行向量
    for (int i = 1; i <= col.length; i++)//将当前记录的个列添加到行向量 {
    v1.addElement(rs.getString(i)); System.out.println(rs.getString(i));
    }
    dtm.addRow(v1);//将行向量添加到数据模型
    }
    } catch (SQLException e) {
    e.printStackTrace();
    }
    dtm.fireTableStructureChanged();//通知所有的listener,表格的结构已经改变
    }//end void initTable() public void actionPerformed(ActionEvent e) { initTable(); } public static void main(String args[]) { JFrame.setDefaultLookAndFeelDecorated(true);
    Font font = new Font("JFrame", Font.PLAIN, 14);
    Enumeration keys = UIManager.getLookAndFeelDefaults().keys();
    while (keys.hasMoreElements()) {
    Object key = keys.nextElement();
    if (UIManager.get(key) instanceof Font)
    UIManager.put(key, font);
    }
    if (!ConnectServer.conn(
    "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=stu",
    "sa", "")) {
    JOptionPane.showMessageDialog(null, "数据库连接失败");
    System.exit(0); } ReceiveBox aa = new ReceiveBox();
    }
    }或者我想ReceiveBox不继承JFrame,然后继承JPanel,可是这个数据库查询的界面就是出不来,但是控制台能显示查询出来的数据了,我想借鉴这个学生信息查询程序来从数据库里查询邮件信息,有些东西我注释掉了,也许是不能注释掉,拜托大家教教我了,谢谢了
      

  2.   

    界面的代码还差好多JPanel要放JFrame上才显示的