Projet_POO/Projet_POO/src/ui/ListUI.java
2020-12-07 20:04:58 +01:00

143 lignes
3,1 Kio
Java

package ui;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import clavardage.gestionnaireClavardage;
import liste.GestionnaireListeUtilisateur;
import nom.GestionnaireNom;
import liste.TypeListeUtilisateur;
import java.util.ArrayList;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JScrollPane;
public class ListUI extends JFrame implements Runnable{
private static final long serialVersionUID = 42L;
private JPanel contentPane;
private JTable table;
private DefaultTableModel dtm = new DefaultTableModel(null, new String[] {"Name"});
/**
* Run
*/
public void run() {
try {
ListUI frame = new ListUI();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* Constructeur
*/
public ListUI() {
// Titre
setTitle("List : " + GestionnaireNom.instance().getId());
// Operation par défaut
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//Dimension
setBounds(100, 100, 450, 300);
// JPanel
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
//JScrollPane
//On extrait les nom de la liste des Utilisateurs
ArrayList<TypeListeUtilisateur> listeUtilisateur = GestionnaireListeUtilisateur.instance().getListeUtilisateur();
ArrayList<String> liste = new ArrayList<String>();
for (int i=0; i< listeUtilisateur.size(); i++) {
liste.add(listeUtilisateur.get(i).nom);
}
ajouterNomListe(dtm, liste);
JScrollPane scrollPane = new JScrollPane();
scrollPane.setBounds(67, 23, 303, 158);
contentPane.add(scrollPane);
//JTable
table = new JTable();
scrollPane.setViewportView(table);
table.setModel(dtm);
// Bouton Rename
JButton renameButton = new JButton("Rename");
renameButton.addActionListener(new ActionListener() { // Appuyer
public void actionPerformed(ActionEvent arg0) {
Thread t = new Thread(new NomUI());
t.start();
dispose();
}
});
// Bouton Rename (suite)
renameButton.setBounds(97, 207, 89, 23);
contentPane.add(renameButton);
// Bouton Connect
JButton connectButton = new JButton("Connect");
connectButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) { //Appuyer
int row = table.getSelectedRow();
int col = table.getSelectedColumn();
try{
String nom = (String) table.getValueAt(row, col);
gestionnaireClavardage gc = gestionnaireClavardage.instance();
gc.createSession(nom);
}
catch (Exception e) {}
}
});
// Buton Connect (suite)
connectButton.setBounds(261, 207, 89, 23);
contentPane.add(connectButton);
}
/**
* Méthode
*/
// à améliorer ... (suppression ?)
public void ajouterNomListe(DefaultTableModel dtm, ArrayList<String> test) {
for (String t : test) {
dtm.addRow(new Object[] {t});
}
}
}