X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=TD2%2FIHM%2FIHM.java;h=5a43687654e919f5b1a45c29905736824b7d6563;hb=03a13b6164d44f0c74e5cd180abecbb8e0dda30a;hp=08cbf2c8aba88b01c349fa57a2c31c5dfc3c9f55;hpb=ef87f1a8633012e6ba3ba20d095a619b7387ab49;p=TD_SR.git diff --git a/TD2/IHM/IHM.java b/TD2/IHM/IHM.java index 08cbf2c..5a43687 100644 --- a/TD2/IHM/IHM.java +++ b/TD2/IHM/IHM.java @@ -12,6 +12,7 @@ import javax.swing.JTextArea; import javax.swing.JTextField; import javax.swing.ScrollPaneConstants; +import java.util.Random; /** * Applications réparties @@ -28,13 +29,32 @@ public class IHM implements ActionListener { private JTextArea entrants; private JTextField sortants; private ArrayList sendMessages; + //FIXME: use a random name by thread for now, should be setable + private String randName; IHM() { sendMessages = new ArrayList(); + randName = randomName(); + } + + private String randomName() { + + int leftLimit = 97; // letter 'a' + int rightLimit = 122; // letter 'z' + int targetStringLength = 8; + Random random = new Random(); + StringBuilder buffer = new StringBuilder(targetStringLength); + for (int i = 0; i < targetStringLength; i++) { + int randomLimitedInt = leftLimit + (int)(random.nextFloat() * (rightLimit - leftLimit + 1)); + buffer.append((char)randomLimitedInt); + } + String generatedString = buffer.toString(); + + return generatedString; } public void go() { - JFrame cadre = new JFrame("Client de discussion"); + JFrame cadre = new JFrame("Client de discussion de " + randName); JPanel panneau = new JPanel(); entrants = new JTextArea(15, 30); entrants.setLineWrap(true); @@ -74,8 +94,10 @@ public class IHM implements ActionListener { e.printStackTrace(); } String mess = (String)sendMessages.remove(0); + if (mess.isEmpty()) + return ""; System.out.println("IHM -> message a envoyer : " + mess); - return mess; + return randName + "> " + mess; } public void writeMessage(String mess) {