Java JTable和JPanel

Java JTable和JPanel,java,swing,jtable,jpanel,jtableheader,Java,Swing,Jtable,Jpanel,Jtableheader,我的JTable没有显示我的列名,我不明白为什么。谁能帮我告诉我为什么?先谢谢你 package projet.ihm; import java.awt.Color; public class VueOccupations extends JPanel { class MonModeleTableOccupation extends AbstractTableModel { @Override public boolean i

我的JTable没有显示我的列名,我不明白为什么。谁能帮我告诉我为什么?先谢谢你

    package projet.ihm;

    import java.awt.Color;

    public class VueOccupations extends JPanel {

    class MonModeleTableOccupation extends AbstractTableModel {
        @Override
        public boolean isCellEditable(int rowIndex, int columnIndex) {

            return true;
        }

        private JoursHoraire jours;
        // initialise ma liste de joueurs
        public MonModeleTableOccupation( JoursHoraire jour) {
            super();
            this.jours=jour;
            ///périodes = périodes;
            //jours = JoursHoraire.valueOf(jour);
        }


        //  @Override
        //  public void setValueAt(Object aValue, int l, int c) {
        //  JoursHoraire[] jours=JoursHoraire.values();
        //  Joueur j = joueurs.get(l);
        //  switch (c) {
        //
        //  case 1:
        //      j.setPrenom((String) aValue);
        //  break;
        //case 2:
        //  j.setDate((Date) aValue);
        //}

        //}

        @Override
        public Class<?> getColumnClass(int c) {
            return getValueAt(0, c).getClass();

        }

        @Override
        public String getColumnName(int c) {
            // TODO Auto-generated method stub
            switch (c) {
            case 0:
                return "périodes";
            case 1:
                return "Jour";
            case 2:
                return "Heure Debut";
            case 3:
                return "Heure Fin";
            case 4:
                return "Local";
            }
            return "Vide";

        }


        @Override
        public int getColumnCount() {

            return 5;
        }

        @Override
        public int getRowCount() {

            return Periode.NB_PERIODES;
        }

        @Override
        public Object getValueAt(int l, int c) {

            JoursHoraire jour = jours.JEUDI;
            // System.out.println(l+" "+c+"   "+j);
            switch (c) {
            case 0:
                return jour.values();
            case 1:
                return jour.values();
            case 2:
                // return sdf.format(j.getDate());
                return jour.values();
            }
            return "Vide";
        }

    }


    private ControleurJHOccupation ctrl;
    private JTable table;
    private JTable table_1;
    private JComboBox cbModule;
    private JComboBox cbPeriode; 
    private JComboBox<JoursHoraire> cbJour;
    private JComboBox<HeureMinute> cbHeureD;
    private JComboBox<HeureMinute> cbHeureFin;
    private ModèleJHOccupation modèleJHOccupation;

    public VueOccupations(ControleurJHOccupation ctrl)throws HeadlessException {
        modèleJHOccupation = new ModèleJHOccupation(ctrl);
        // super(new ModèleJHProfesseur(ctrl),
        // ctrl.getFacade().getIdsProfesseurs());
        this.ctrl=ctrl;
        JLabel lblModule = new JLabel("Choix Module");
        cbModule = new JComboBox();
        table = new JTable(modèleJHOccupation);
        cbPeriode = new JComboBox();
        cbJour = new JComboBox();
        cbHeureD = new JComboBox();
        cbHeureFin = new JComboBox();

        String[] listeModule = ctrl.getFacade().getIdsModules();
        for (int p = 0; p < listeModule.length; p++)
            cbModule.addItem(listeModule[p]);

        HeureMinute[] listeHDeb=SlotsJour.getHeuresJournée();
        for (int p = 0; p < listeHDeb.length ; p++)
            cbHeureD.addItem(listeHDeb[p]); 

        HeureMinute[] listeHFin=SlotsJour.getHeuresJournée();
        for (int p = 0; p < listeHFin.length ; p++)
            cbHeureFin.addItem(listeHFin[p]); 

        JoursHoraire[] jour=JoursHoraire.values();
        for (int p = 0; p < jour.length ; p++)
            cbJour.addItem(jour[p]); 


        List<Periode> période =ctrl.getFacade().getListePériode();
        for (int i = 0; i < période.size(); i++){
            cbPeriode.addItem( période.get(i).getId());

        }


        initGui();
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(600, 500);
        setVisible(true);



        JButton btnAjoutOcc = new JButton("Ajout Occupation");

        JScrollPane scrollPane = new JScrollPane();
        GroupLayout groupLayout = new GroupLayout(this);
        groupLayout.setHorizontalGroup(
                groupLayout.createParallelGroup(Alignment.LEADING)
                .addGroup(groupLayout.createSequentialGroup()
                        .addGroup(groupLayout.createParallelGroup(Alignment.TRAILING)
                                .addGroup(groupLayout.createSequentialGroup()
                                        .addGap(18)
                                        .addComponent(lblModule)
                                        .addPreferredGap(ComponentPlacement.UNRELATED)
                                        .addComponent(cbModule, 0, 466, Short.MAX_VALUE))
                                        .addGroup(groupLayout.createSequentialGroup()
                                                .addContainerGap(44, Short.MAX_VALUE)
                                                .addGroup(groupLayout.createParallelGroup(Alignment.TRAILING)
                                                        .addGroup(groupLayout.createSequentialGroup()
                                                                .addComponent(scrollPane, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                                                .addPreferredGap(ComponentPlacement.RELATED)
                                                                .addComponent(table_1, GroupLayout.PREFERRED_SIZE, 514, GroupLayout.PREFERRED_SIZE))
                                                                .addGroup(groupLayout.createSequentialGroup()
                                                                        .addComponent(cbPeriode, GroupLayout.PREFERRED_SIZE, 79, GroupLayout.PREFERRED_SIZE)
                                                                        .addPreferredGap(ComponentPlacement.RELATED)
                                                                        .addComponent(cbJour, GroupLayout.PREFERRED_SIZE, 79, GroupLayout.PREFERRED_SIZE)
                                                                        .addPreferredGap(ComponentPlacement.RELATED)
                                                                        .addComponent(cbHeureD, GroupLayout.PREFERRED_SIZE, 79, GroupLayout.PREFERRED_SIZE)
                                                                        .addPreferredGap(ComponentPlacement.RELATED)
                                                                        .addComponent(cbHeureFin, GroupLayout.PREFERRED_SIZE, 81, GroupLayout.PREFERRED_SIZE)
                                                                        .addPreferredGap(ComponentPlacement.UNRELATED)
                                                                        .addComponent(btnAjoutOcc, GroupLayout.PREFERRED_SIZE, 168, GroupLayout.PREFERRED_SIZE)))))
                                                                        .addGap(42))
                );
        groupLayout.setVerticalGroup(
                groupLayout.createParallelGroup(Alignment.LEADING)
                .addGroup(groupLayout.createSequentialGroup()
                        .addContainerGap()
                        .addGroup(groupLayout.createParallelGroup(Alignment.BASELINE)
                                .addComponent(lblModule)
                                .addComponent(cbModule, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                                .addGroup(groupLayout.createParallelGroup(Alignment.LEADING)
                                        .addGroup(groupLayout.createSequentialGroup()
                                                .addPreferredGap(ComponentPlacement.UNRELATED)
                                                .addComponent(table_1, GroupLayout.PREFERRED_SIZE, 161, GroupLayout.PREFERRED_SIZE))
                                                .addGroup(groupLayout.createSequentialGroup()
                                                        .addGap(42)
                                                        .addComponent(scrollPane, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)))
                                                        .addGap(47)
                                                        .addGroup(groupLayout.createParallelGroup(Alignment.BASELINE)
                                                                .addComponent(cbPeriode, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                                                .addComponent(cbJour, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                                                .addComponent(cbHeureD, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                                                .addComponent(cbHeureFin, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                                                .addComponent(btnAjoutOcc))
                                                                .addContainerGap(227, Short.MAX_VALUE))
                );
        setLayout(groupLayout);
    }

    private void initGui() {
        //monModeleTableOccupation = new MonModeleTableOccupation(JoursHoraire jour);
        table_1 = new JTable(monModeleTableOccupation);
        //table.getColumnModel().getColumn(2).setCellRenderer(new Rend);
        table_1.setAutoCreateRowSorter(true);
        table_1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
        table_1.setBackground(Color.cyan);
        table_1.getSelectionModel().addListSelectionListener(new ListSelectionListener() {

            @Override 
            public void valueChanged ( ListSelectionEvent evt ) {

                if ( evt . getValueIsAdjusting ()) return ;

                int i =table . getSelectedRow ();
                if (i >= 0) {

                    i =table.convertRowIndexToModel (i);
                    System.out.println(i);
                } else 
                {}}}
                );





        JScrollPane scp = new JScrollPane(table);
        //getRootPane().getContentPane().add(scp);
        add(scp, BorderLayout.CENTER);      
        //JPanel panelSud = new JPanel();
        //getContentPane().add(panelSud, BorderLayout.NORTH);

    }


    private MonModeleTableOccupation monModeleTableOccupation;





    private void setDefaultCloseOperation(int exitOnClose) {
        // TODO Auto-generated method stub

    }
}
package projet.ihm;
导入java.awt.Color;
公共类VueOccupations扩展了JPanel{
类MonModeleTableOccupation扩展了AbstractTableModel{
@凌驾
公共布尔值isCellEditable(int-rowIndex、int-columnIndex){
返回true;
}
私人期刊;
//姓名首字母缩写为ma liste de Jouers
公共职业{
超级();
这个。焦耳=焦耳;
///佩里奥德斯=佩里奥德斯;
//焦耳=焦耳时的价值(焦耳);
}
//@覆盖
//public void setValueAt(对象aValue,int l,int c){
//JoursHoraire[]jours=JoursHoraire.values();
//焦耳j=焦耳数get(l);
//开关(c){
//
//案例1:
//j.setPrenom((字符串)aValue);
//中断;
//案例2:
//j.设定日期((日期)aValue);
//}
//}
@凌驾
公共类getColumnClass(int c){
返回getValueAt(0,c).getClass();
}
@凌驾
公共字符串getColumnName(int c){
//TODO自动生成的方法存根
开关(c){
案例0:
返回“périodes”;
案例1:
返回“Jour”;
案例2:
返回“Heure首次亮相”;
案例3:
返回“Heure Fin”;
案例4:
返回“本地”;
}
返回“Vide”;
}
@凌驾
public int getColumnCount(){
返回5;
}
@凌驾
public int getRowCount(){
返回周期e.NB_周期;
}
@凌驾
公共对象getValueAt(int l,int c){
JoursHoraire jour=jours.JEUDI;
//系统输出打印项次(l+“”+c+“”+j);
开关(c){
案例0:
返回当前值();
案例1:
返回当前值();
案例2:
//返回sdf.format(j.getDate());
返回当前值();
}
返回“Vide”;
}
}
私人控制权;
专用JTable表;
专用JTable表_1;
专用JComboBox CBM模块;
私人JComboBox cbPeriode;
私人JCOMBOX cbJour;
私人JComboBox cbHeureD;
私人JCOMBOX cbHeureFin;
私人Modèlejh职业Modèlejh职业;
公共VueOccupations(ControleurJHOccupation ctrl)引发无标题异常{
modèleJHOccupation=新的modèleJHOccupation(ctrl);
//超级(新的ModèleJHProfesseur(ctrl),
//ctrl.getFacade().getidsprofseurs());
这个.ctrl=ctrl;
JLabel LBL模块=新的JLabel(“Choix模块”);
cbModule=新的JComboBox();
表=新JTable(modèlejh职业);
cbPeriode=newjcombobox();
cbJour=新的JComboBox();
cbHeureD=newjcombobox();
cbHeureFin=新的JComboBox();
字符串[]ListModule=ctrl.getFacade().getIdsModules();
for(int p=0;pJScrollPane tablePane = new JScrollPane(jtable);