test UI
This commit is contained in:
parent
5d762d1632
commit
70255a9b60
8 changed files with 257 additions and 23 deletions
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<classpath>
|
<classpath>
|
||||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-14">
|
<classpathentry exported="true" kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-14">
|
||||||
<attributes>
|
<attributes>
|
||||||
<attribute name="module" value="true"/>
|
<attribute name="module" value="true"/>
|
||||||
</attributes>
|
</attributes>
|
||||||
|
|
|
@ -1,25 +1,21 @@
|
||||||
package liste;
|
package liste;
|
||||||
|
|
||||||
|
|
||||||
import nom.*;
|
//import nom.*;
|
||||||
|
|
||||||
public class ClientB {
|
public class ClientB {
|
||||||
GestionnaireListeUtilisateur gestionnaireListeUtilisateur = GestionnaireListeUtilisateur.instance(); //usefull ? puisque static ?
|
GestionnaireListeUtilisateur gestionnaireListeUtilisateur = GestionnaireListeUtilisateur.instance(); //usefull ? puisque static ?
|
||||||
GestionnaireNom gestionnaireNom = GestionnaireNom.instance();
|
|
||||||
|
String nom = "Delta";
|
||||||
|
String id = "0";
|
||||||
|
|
||||||
void test(String msg) {
|
void test(String msg) {
|
||||||
|
//GestionnaireNom.setNom(nom);
|
||||||
|
//GestionnaireNom.setId(id);
|
||||||
//gestionnaireListeUtilisateur.ecoute(); //pas en local sinon plusieurs server sur le même port ....
|
//gestionnaireListeUtilisateur.ecoute(); //pas en local sinon plusieurs server sur le même port ....
|
||||||
gestionnaireListeUtilisateur.majListe();
|
gestionnaireListeUtilisateur.majListe();
|
||||||
gestionnaireListeUtilisateur.envoie(msg);
|
gestionnaireListeUtilisateur.envoie(msg);
|
||||||
|
|
||||||
int a=0;
|
|
||||||
for(int i=0;i<100000;i++) {
|
|
||||||
a+=1;
|
|
||||||
}
|
|
||||||
|
|
||||||
for(int i=0; i<GestionnaireListeUtilisateur.getListeUtilisateur().size(); i++) {
|
|
||||||
System.out.println("ici : " + GestionnaireListeUtilisateur.getListeUtilisateur().get(i).nom);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@ package liste;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
import nom.GestionnaireNom;
|
//import nom.GestionnaireNom;
|
||||||
|
|
||||||
public class GestionnaireListeUtilisateur {
|
public class GestionnaireListeUtilisateur {
|
||||||
|
|
||||||
|
@ -42,7 +42,7 @@ public class GestionnaireListeUtilisateur {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//récupérer la liste des autres //TODO
|
//récupérer la liste des autres
|
||||||
public void majListe() {
|
public void majListe() {
|
||||||
UdpBroadcastClient client = new UdpBroadcastClient(ConstanteListeUtilisateur.NUM_PORT_SERVER,
|
UdpBroadcastClient client = new UdpBroadcastClient(ConstanteListeUtilisateur.NUM_PORT_SERVER,
|
||||||
"listRequest"+ "$$$" + " " + "$$$" + " " + "$$$" + " ");
|
"listRequest"+ "$$$" + " " + "$$$" + " " + "$$$" + " ");
|
||||||
|
|
|
@ -10,14 +10,14 @@ public class MainB {
|
||||||
|
|
||||||
UdpBroadcastServer server = new UdpBroadcastServer(portServer);
|
UdpBroadcastServer server = new UdpBroadcastServer(portServer);
|
||||||
ClientB client0 = new ClientB();
|
ClientB client0 = new ClientB();
|
||||||
ClientB client1 = new ClientB();
|
//ClientB client1 = new ClientB();
|
||||||
ClientB client2 = new ClientB();
|
//ClientB client2 = new ClientB();
|
||||||
|
|
||||||
Thread ts = new Thread(server);
|
Thread ts = new Thread(server);
|
||||||
ts.start();
|
ts.start();
|
||||||
|
|
||||||
client0.test("add$$$" + 77 + "$$$Delta$$$LocalHost");
|
client0.test("add$$$" + 77 + "$$$Delta$$$LocalHost");
|
||||||
client1.test("add$$$" + 75 + "$$$Beta$$$LocalHost");
|
//client1.test("add$$$" + 75 + "$$$Beta$$$LocalHost");
|
||||||
client2.test("add$$$" + 11 + "$$$Alpha$$$LocalHost");
|
//client2.test("add$$$" + 11 + "$$$Alpha$$$LocalHost");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -41,7 +41,16 @@ public class TraitementCmdListe implements Runnable{
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ordre.equals("add")) {
|
if (ordre.equals("add")) {
|
||||||
|
if (nom.equals("null")) {
|
||||||
|
//System.out.println("NULLLLLLLL");
|
||||||
|
//on ne fait rien (utilisateur non encore configuré)
|
||||||
|
} else {
|
||||||
GestionnaireListeUtilisateur.setListeUtilisateur(ajouteUtilisateur(GestionnaireListeUtilisateur.getListeUtilisateur(), id, nom, ip));
|
GestionnaireListeUtilisateur.setListeUtilisateur(ajouteUtilisateur(GestionnaireListeUtilisateur.getListeUtilisateur(), id, nom, ip));
|
||||||
|
for(int i=0; i<GestionnaireListeUtilisateur.getListeUtilisateur().size(); i++) {
|
||||||
|
System.out.println("ici : " + GestionnaireListeUtilisateur.getListeUtilisateur().get(i).nom);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
System.out.println("libéré");
|
System.out.println("libéré");
|
||||||
semaphore.release();
|
semaphore.release();
|
||||||
|
@ -49,7 +58,7 @@ public class TraitementCmdListe implements Runnable{
|
||||||
|
|
||||||
//Thread.sleep(1000);
|
//Thread.sleep(1000);
|
||||||
//System.out.println("fini " + id);
|
//System.out.println("fini " + id);
|
||||||
System.out.println(GestionnaireListeUtilisateur.getListeUtilisateur().get(0).nom);
|
//System.out.println(GestionnaireListeUtilisateur.getListeUtilisateur().get(0).nom);
|
||||||
|
|
||||||
} catch (Exception e) {}
|
} catch (Exception e) {}
|
||||||
|
|
||||||
|
|
|
@ -1,2 +1,3 @@
|
||||||
module projet_POO {
|
module projet_POO {
|
||||||
|
requires java.desktop;
|
||||||
}
|
}
|
|
@ -1,10 +1,11 @@
|
||||||
package nom;
|
package nom;
|
||||||
|
|
||||||
|
/*
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.net.InetAddress;
|
import java.net.InetAddress;
|
||||||
import java.net.UnknownHostException;
|
import java.net.UnknownHostException;
|
||||||
|
*/
|
||||||
import liste.GestionnaireListeUtilisateur;
|
import liste.GestionnaireListeUtilisateur;
|
||||||
|
|
||||||
public class GestionnaireNom{
|
public class GestionnaireNom{
|
||||||
|
@ -43,16 +44,22 @@ public class GestionnaireNom{
|
||||||
|
|
||||||
|
|
||||||
// attribue le nom "nom" à l'utilisateur
|
// attribue le nom "nom" à l'utilisateur
|
||||||
public static void setNom(String nom) {
|
private static void setNom(String nom) {
|
||||||
nomUtilisateur = nom;
|
nomUtilisateur = nom;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static void setId(String id) {
|
||||||
|
idUtilisateur = id;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// renvoie l'ID d'un utilisateur ou 0 s'il n'existe pas (ou non en ligne)
|
// renvoie l'ID d'un utilisateur ou 0 s'il n'existe pas (ou non en ligne)
|
||||||
public String idFromNom(String nom) {
|
public static String idFromNom(String nom) {
|
||||||
for (int i=0; i<GestionnaireListeUtilisateur.getListeUtilisateur().size(); i++) {
|
for (int i=0; i<GestionnaireListeUtilisateur.getListeUtilisateur().size(); i++) {
|
||||||
if (GestionnaireListeUtilisateur.getListeUtilisateur().get(i).nom.equals(nom)) {
|
if (GestionnaireListeUtilisateur.getListeUtilisateur().get(i).nom.equals(nom)) {
|
||||||
return GestionnaireListeUtilisateur.getListeUtilisateur().get(i).id;
|
return GestionnaireListeUtilisateur.getListeUtilisateur().get(i).id;
|
||||||
|
@ -66,7 +73,7 @@ public class GestionnaireNom{
|
||||||
|
|
||||||
|
|
||||||
// renvoie 1 si le nom est disponible
|
// renvoie 1 si le nom est disponible
|
||||||
public static boolean verifierDisponibiliteNom(String nom) {
|
private static boolean verifierDisponibiliteNom(String nom) {
|
||||||
|
|
||||||
for (int i=0; i<GestionnaireListeUtilisateur.getListeUtilisateur().size(); i++) {
|
for (int i=0; i<GestionnaireListeUtilisateur.getListeUtilisateur().size(); i++) {
|
||||||
if (GestionnaireListeUtilisateur.getListeUtilisateur().get(i).nom.equals(nom)) {
|
if (GestionnaireListeUtilisateur.getListeUtilisateur().get(i).nom.equals(nom)) {
|
||||||
|
@ -79,4 +86,15 @@ public class GestionnaireNom{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public static boolean nommer(String nom) {
|
||||||
|
|
||||||
|
if (verifierDisponibiliteNom(nom)) {
|
||||||
|
setNom(nom);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
210
Projet_POO/src/ui/ToutUI.java
Normal file
210
Projet_POO/src/ui/ToutUI.java
Normal file
|
@ -0,0 +1,210 @@
|
||||||
|
package ui;
|
||||||
|
|
||||||
|
import java.awt.EventQueue;
|
||||||
|
|
||||||
|
import javax.swing.JFrame;
|
||||||
|
import javax.swing.JOptionPane;
|
||||||
|
import javax.swing.JButton;
|
||||||
|
import java.awt.event.ActionListener;
|
||||||
|
import java.awt.event.ActionEvent;
|
||||||
|
import javax.swing.JTextField;
|
||||||
|
import javax.swing.JTextPane;
|
||||||
|
import javax.swing.JLabel;
|
||||||
|
import javax.swing.SpringLayout;
|
||||||
|
import java.awt.event.FocusAdapter;
|
||||||
|
import java.awt.event.FocusEvent;
|
||||||
|
import java.awt.event.MouseMotionAdapter;
|
||||||
|
import java.awt.event.MouseEvent;
|
||||||
|
import javax.swing.JComboBox;
|
||||||
|
import javax.swing.DefaultComboBoxModel;
|
||||||
|
import javax.swing.JCheckBox;
|
||||||
|
import javax.swing.JRadioButton;
|
||||||
|
import javax.swing.JToggleButton;
|
||||||
|
import javax.swing.JTextArea;
|
||||||
|
import javax.swing.JFormattedTextField;
|
||||||
|
import javax.swing.JPasswordField;
|
||||||
|
import javax.swing.JEditorPane;
|
||||||
|
import javax.swing.JSpinner;
|
||||||
|
import javax.swing.JTable;
|
||||||
|
import javax.swing.table.DefaultTableModel;
|
||||||
|
import javax.swing.JTree;
|
||||||
|
import javax.swing.tree.DefaultTreeModel;
|
||||||
|
import javax.swing.tree.DefaultMutableTreeNode;
|
||||||
|
import javax.swing.JProgressBar;
|
||||||
|
import javax.swing.JScrollBar;
|
||||||
|
import javax.swing.JSeparator;
|
||||||
|
import javax.swing.JSlider;
|
||||||
|
|
||||||
|
public class ToutUI {
|
||||||
|
|
||||||
|
private JFrame frmTitle;
|
||||||
|
private JTextField txtJtext;
|
||||||
|
private JPasswordField passwordField;
|
||||||
|
private JTable table;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Launch the application.
|
||||||
|
*/
|
||||||
|
public static void main(String[] args) {
|
||||||
|
EventQueue.invokeLater(new Runnable() {
|
||||||
|
public void run() {
|
||||||
|
try {
|
||||||
|
ToutUI window = new ToutUI();
|
||||||
|
window.frmTitle.setVisible(true);
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create the application.
|
||||||
|
*/
|
||||||
|
public ToutUI() {
|
||||||
|
initialize();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initialize the contents of the frame.
|
||||||
|
*/
|
||||||
|
private void initialize() {
|
||||||
|
frmTitle = new JFrame();
|
||||||
|
frmTitle.setTitle("TITLE");
|
||||||
|
frmTitle.setBounds(100, 100, 620, 437);
|
||||||
|
frmTitle.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||||
|
frmTitle.getContentPane().setLayout(null);
|
||||||
|
|
||||||
|
JLabel lblNewLabel = new JLabel("New label");
|
||||||
|
lblNewLabel.setBounds(23, 24, 97, 14);
|
||||||
|
frmTitle.getContentPane().add(lblNewLabel);
|
||||||
|
|
||||||
|
txtJtext = new JTextField();
|
||||||
|
txtJtext.setText("jTextField");
|
||||||
|
txtJtext.setBounds(162, 21, 121, 20);
|
||||||
|
frmTitle.getContentPane().add(txtJtext);
|
||||||
|
txtJtext.setColumns(10);
|
||||||
|
|
||||||
|
JComboBox comboBox = new JComboBox();
|
||||||
|
comboBox.setMaximumRowCount(5);
|
||||||
|
comboBox.setModel(new DefaultComboBoxModel(new String[] {"1", "2", "3", "4", "5", "7", "8", "9", "10"}));
|
||||||
|
comboBox.setToolTipText("combo");
|
||||||
|
comboBox.setBounds(293, 20, 46, 22);
|
||||||
|
frmTitle.getContentPane().add(comboBox);
|
||||||
|
|
||||||
|
JButton btnNewButton = new JButton("New buttonn");
|
||||||
|
btnNewButton.setToolTipText("tip");
|
||||||
|
btnNewButton.setMnemonic('e');
|
||||||
|
btnNewButton.setBounds(372, 20, 154, 23);
|
||||||
|
frmTitle.getContentPane().add(btnNewButton);
|
||||||
|
|
||||||
|
JCheckBox chckbxNewCheckBox = new JCheckBox("New check box");
|
||||||
|
chckbxNewCheckBox.setBounds(23, 60, 154, 23);
|
||||||
|
frmTitle.getContentPane().add(chckbxNewCheckBox);
|
||||||
|
|
||||||
|
JRadioButton rdbtnNewRadioButton = new JRadioButton("New radio button");
|
||||||
|
rdbtnNewRadioButton.setBounds(207, 60, 165, 23);
|
||||||
|
frmTitle.getContentPane().add(rdbtnNewRadioButton);
|
||||||
|
|
||||||
|
JToggleButton tglbtnNewToggleButton = new JToggleButton("New toggle button");
|
||||||
|
tglbtnNewToggleButton.setBounds(372, 60, 154, 23);
|
||||||
|
frmTitle.getContentPane().add(tglbtnNewToggleButton);
|
||||||
|
|
||||||
|
JTextArea txtrJtextarea = new JTextArea();
|
||||||
|
txtrJtextarea.setLineWrap(true);
|
||||||
|
txtrJtextarea.setText("JTextArea");
|
||||||
|
txtrJtextarea.setBounds(33, 90, 87, 55);
|
||||||
|
frmTitle.getContentPane().add(txtrJtextarea);
|
||||||
|
|
||||||
|
JFormattedTextField frmtdtxtfldJformattedtextfield = new JFormattedTextField();
|
||||||
|
frmtdtxtfldJformattedtextfield.setText("JFormattedTextField");
|
||||||
|
frmtdtxtfldJformattedtextfield.setBounds(163, 90, 154, 20);
|
||||||
|
frmTitle.getContentPane().add(frmtdtxtfldJformattedtextfield);
|
||||||
|
|
||||||
|
passwordField = new JPasswordField();
|
||||||
|
passwordField.setToolTipText("pwd");
|
||||||
|
passwordField.setBounds(384, 92, 98, 20);
|
||||||
|
frmTitle.getContentPane().add(passwordField);
|
||||||
|
|
||||||
|
JTextPane txtpnJtextpane = new JTextPane();
|
||||||
|
txtpnJtextpane.setText("JTextPane");
|
||||||
|
txtpnJtextpane.setBounds(481, 221, 97, 43);
|
||||||
|
frmTitle.getContentPane().add(txtpnJtextpane);
|
||||||
|
|
||||||
|
JEditorPane dtrpnJeditorpane = new JEditorPane();
|
||||||
|
dtrpnJeditorpane.setText("JEditorPane");
|
||||||
|
dtrpnJeditorpane.setBounds(471, 291, 107, 20);
|
||||||
|
frmTitle.getContentPane().add(dtrpnJeditorpane);
|
||||||
|
|
||||||
|
JSpinner spinner = new JSpinner();
|
||||||
|
spinner.setToolTipText("spinner");
|
||||||
|
spinner.setBounds(283, 125, 108, 20);
|
||||||
|
frmTitle.getContentPane().add(spinner);
|
||||||
|
|
||||||
|
table = new JTable();
|
||||||
|
table.setModel(new DefaultTableModel(
|
||||||
|
new Object[][] {
|
||||||
|
{null, null, null, null, null},
|
||||||
|
{null, null, null, null, null},
|
||||||
|
{null, null, null, null, null},
|
||||||
|
{null, null, null, null, null},
|
||||||
|
},
|
||||||
|
new String[] {
|
||||||
|
"New column", "New collllumn", "New column3", "New column", "New column"
|
||||||
|
}
|
||||||
|
));
|
||||||
|
table.setToolTipText("JTable");
|
||||||
|
table.setBounds(33, 154, 55, 64);
|
||||||
|
frmTitle.getContentPane().add(table);
|
||||||
|
|
||||||
|
JTree tree = new JTree();
|
||||||
|
tree.setToolTipText("tree");
|
||||||
|
tree.setModel(new DefaultTreeModel(
|
||||||
|
new DefaultMutableTreeNode("JTree") {
|
||||||
|
{
|
||||||
|
DefaultMutableTreeNode node_1;
|
||||||
|
node_1 = new DefaultMutableTreeNode("colors");
|
||||||
|
node_1.add(new DefaultMutableTreeNode("blue"));
|
||||||
|
node_1.add(new DefaultMutableTreeNode("violet"));
|
||||||
|
node_1.add(new DefaultMutableTreeNode("red"));
|
||||||
|
node_1.add(new DefaultMutableTreeNode("yellow"));
|
||||||
|
add(node_1);
|
||||||
|
node_1 = new DefaultMutableTreeNode("sports");
|
||||||
|
node_1.add(new DefaultMutableTreeNode("basketball"));
|
||||||
|
node_1.add(new DefaultMutableTreeNode("soccer"));
|
||||||
|
node_1.add(new DefaultMutableTreeNode("football"));
|
||||||
|
node_1.add(new DefaultMutableTreeNode("hockey"));
|
||||||
|
add(node_1);
|
||||||
|
node_1 = new DefaultMutableTreeNode("food");
|
||||||
|
node_1.add(new DefaultMutableTreeNode("hot dogs"));
|
||||||
|
node_1.add(new DefaultMutableTreeNode("pizza"));
|
||||||
|
node_1.add(new DefaultMutableTreeNode("ravioli"));
|
||||||
|
node_1.add(new DefaultMutableTreeNode("bananas"));
|
||||||
|
add(node_1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
));
|
||||||
|
tree.setBounds(131, 154, 104, 130);
|
||||||
|
frmTitle.getContentPane().add(tree);
|
||||||
|
|
||||||
|
JProgressBar progressBar = new JProgressBar();
|
||||||
|
progressBar.setValue(25);
|
||||||
|
progressBar.setToolTipText("progress");
|
||||||
|
progressBar.setBounds(293, 179, 146, 14);
|
||||||
|
frmTitle.getContentPane().add(progressBar);
|
||||||
|
|
||||||
|
JScrollBar scrollBar = new JScrollBar();
|
||||||
|
scrollBar.setValue(10);
|
||||||
|
scrollBar.setBounds(557, 36, 17, 333);
|
||||||
|
frmTitle.getContentPane().add(scrollBar);
|
||||||
|
|
||||||
|
JSlider slider = new JSlider();
|
||||||
|
slider.setToolTipText("slider");
|
||||||
|
slider.setBounds(271, 221, 200, 26);
|
||||||
|
frmTitle.getContentPane().add(slider);
|
||||||
|
|
||||||
|
JLabel lblNewLabel_1 = new JLabel("JList : updtae needed, JSeparator : non compris ....");
|
||||||
|
lblNewLabel_1.setBounds(23, 361, 316, 14);
|
||||||
|
frmTitle.getContentPane().add(lblNewLabel_1);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue