{
// initialisation
super(new BorderLayout());
jeu.setTerrain(new Terrain(jeu));
pEmplacementTerrain = new Panel_Terrain(jeu,null);
pEmplacementTerrain.setPreferredSize(new Dimension(300,300));
pEmplacementTerrain.basculerAffichageFPS();
pEmplacementTerrain.basculeraffichageZonesDepartArrivee();
this.parent = parent;
parent.setTitle(Langue.getTexte(Langue.ID_TITRE_PARTIE_PERSONNALISEES)+" - ASD Tower Defense");
setBorder(new EmptyBorder(new Insets(MARGES_PANEL, MARGES_PANEL,
MARGES_PANEL, MARGES_PANEL)));
setBackground(LookInterface.COULEUR_DE_FOND_PRI);
// ---------
// -- TOP --
// ---------
JPanel pTop = new JPanel(new BorderLayout());
pTop.setOpaque(false);
JLabel lblTitre = new JLabel(Langue.getTexte(Langue.ID_TITRE_PARTIE_PERSONNALISEES));
lblTitre.setFont(GestionnaireDesPolices.POLICE_TITRE);
lblTitre.setForeground(LookInterface.COULEUR_TEXTE_PRI);
pTop.add(lblTitre, BorderLayout.NORTH);
add(pTop, BorderLayout.NORTH);
// ------------
// -- CENTER --
// ------------
JPanel pCentre = new JPanel(new GridBagLayout());
pCentre.setBorder(new LineBorder(LookInterface.COULEUR_DE_FOND_SEC));
pCentre.setOpaque(false);
int ligne = 0;
GridBagConstraints c = new GridBagConstraints();
final int margesCellule = 15;
c.insets = new Insets(margesCellule, margesCellule, margesCellule,
margesCellule);
c.anchor = GridBagConstraints.LINE_START;
// -------------------------
// -- Editeur de terrrain --
// -------------------------
c.gridx = 0;
c.gridy = ligne;
bEditeurDeTerrain.addActionListener(this);
bEditeurDeTerrain.setPreferredSize(new Dimension(180, 50));
GestionnaireDesPolices.setStyle(bEditeurDeTerrain);
pCentre.add(bEditeurDeTerrain, c);
ligne++;
// --------------
// -- terrains --
// --------------
c.gridx = 0;
c.gridy = ligne;
c.gridwidth = 4;
JPanel pTerrains = new JPanel(new BorderLayout());
pTerrains.setPreferredSize(new Dimension(650, 250));
pTerrains.setOpaque(false);
lblTitreTerrains.setFont(GestionnaireDesPolices.POLICE_SOUS_TITRE);
lblTitreTerrains.setForeground(LookInterface.COULEUR_TEXTE_PRI);
pTerrains.add(lblTitreTerrains,BorderLayout.NORTH);
// création de la table avec boquage des editions
tbTerrains = new JTable(model)
{
public boolean isCellEditable(int rowIndex, int colIndex)
{
return false; // toujours désactivé
}
};
// evenement sur le changement de sélection
tbTerrains.getSelectionModel().addListSelectionListener(new ListSelectionListener(){
@Override
public void valueChanged(ListSelectionEvent listSelectionEvent){
if (listSelectionEvent.getValueIsAdjusting())
return;
ListSelectionModel lsm = (ListSelectionModel)listSelectionEvent.getSource();
if (!lsm.isSelectionEmpty())
{
int ligneSelectionnee = lsm.getMinSelectionIndex();
jeu.setTerrain(terrains.get(ligneSelectionnee));
pEmplacementTerrain.voirToutLeTerrain();
//pEmplacementTerrain.setTerrain(terrains.get(ligneSelectionnee));
}
}});
// Simple selection
tbTerrains.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
// nom de colonnes
model.addColumn(Langue.getTexte(Langue.ID_TXT_DESCRIPTION));
model.addColumn(Langue.getTexte(Langue.ID_TXT_APERCU));
// Taille des colonnes
tbTerrains.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
tbTerrains.getColumnModel().getColumn(0).setPreferredWidth(318);
tbTerrains.getColumnModel().getColumn(1).setPreferredWidth(60);
// propiete des
tbTerrains.setRowHeight(60);
tbTerrains.getColumnModel().getColumn(1).setCellRenderer(
new TableCellRenderer_Image());
// Chargement de toutes les maps
File repertoireMaps = new File("maps/solo");
File[] listFiles = repertoireMaps.listFiles();
Terrain t;
String extFichier;
int i = 0;
for (File f2 : listFiles)
{
extFichier = OutilsFichier.getExtension(f2);
if (extFichier.equals(Terrain.EXTENSION_FICHIER))
{
try{
t = Terrain.charger(f2);
terrains.add(t);
fichiersTerrains.add(f2);
Object[] obj = new Object[] { t.getBreveDescription(), t };
model.addRow(obj);
i++;
}