JTable没有显示

时间:2014-01-13 18:57:16

标签: java swing jtable jscrollpane

有人能告诉我这段代码有什么问题吗?它除了菜单外没有显示任何内容,我似乎无法弄清楚出了什么问题。

 public class ProfesorSelect extends JFrame {
    public ProfesorSelect(Profesor profesor){
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        JMenuBar menuBar = new JMenuBar();
        JMenu fileMenu = new JMenu("File");
        JMenuItem newItem = new JMenuItem("Logout");
        JMenuItem open = new JMenuItem("Exit");
        setLayout(new GridBagLayout());
        GridBagConstraints constraints = new GridBagConstraints();
        constraints.anchor = GridBagConstraints.CENTER;
        fileMenu.add(newItem);
        fileMenu.add(open);
        setName(profesor.toString() + " /Profesor");
        menuBar.add(fileMenu);
        JScrollPane panel = new JScrollPane();
        JScrollPane scrollPanel = new JScrollPane(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
        for(Clasa clasa: Centralizator.getInstance().getClase()){
            JPanel panelClasa = new JPanel();
            panelClasa.setLayout(new BoxLayout(panelClasa,BoxLayout.Y_AXIS));
            JLabel numeClasa = new JLabel(clasa.getIdClasa());
            ArrayList<String> elevi = new ArrayList<String>();
            for (Elev elev : clasa.getElevi()){
                elevi.add(elev.toString());
            }
            JScrollPane jScrollPane = new JScrollPane(new JList(elevi.toArray()));
            panelClasa.add(numeClasa);
            panelClasa.add(jScrollPane);
            scrollPanel.add(panelClasa);
        }
        add(scrollPanel);

        setJMenuBar(menuBar);
        pack();
        setVisible(true);
    }
}

1 个答案:

答案 0 :(得分:2)

不要使用scrollPane.add这不是滚动窗格的使用方式。

查看How to use scroll panes