Java JTable和JPanel
我的JTable没有显示我的列名,我不明白为什么。谁能帮我告诉我为什么?先谢谢你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
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);