diff --git a/Application/Clavardage/src/view/Interface.java b/Application/Clavardage/src/view/Interface.java index a6eb9cb..d67ae32 100644 --- a/Application/Clavardage/src/view/Interface.java +++ b/Application/Clavardage/src/view/Interface.java @@ -20,8 +20,9 @@ public class Interface extends JFrame implements ActionListener, WindowListener public JLabel Pseudolabel; public JTextField PseudotextField; - public JLabel Messagelabel; + public JTextArea MessagetextArea; public JTextField MessagetextField; + public JScrollPane scrollpane; public JButton RemoteUserButton; public JComboBox RemoteUserbox; @@ -44,15 +45,18 @@ public class Interface extends JFrame implements ActionListener, WindowListener } public Component createComponents() { - PseudotextField = new JTextField(); //Pseudo setup + + //Pseudo setup + PseudotextField = new JTextField(); PseudotextField.setColumns(10); PseudotextField.addActionListener(this); Pseudolabel = new JLabel("Your current username is: " + controller.getMyUser().getPseudo()); Pseudolabel.setLabelFor(PseudotextField); - RemoteUserButton = new JButton("Click to get Remote User list"); //Remote user list setup + //Remote user list setup + RemoteUserButton = new JButton("Click to get Remote User list"); RemoteUserButton.addActionListener(this); - //Convert the Userlist to Pseudotab + //Converts the Userlist to a Pseudotab for treatment in actionPerformed String[] pseudotab = new String[controller.getMyUser().getRemoteUsersList().size()]; for(int i=0; i < controller.getMyUser().getRemoteUsersList().size(); i++) { pseudotab[i] = "(" + Integer.toString(i) + "): " + controller.getMyUser().getRemoteUsersList().get(i).getPseudo(); @@ -65,13 +69,17 @@ public class Interface extends JFrame implements ActionListener, WindowListener CloseConversationButton.addActionListener(this); CloseConversationButton.setVisible(false); - MessagetextField = new JTextField(); //Messages setup + //Messages setup + MessagetextField = new JTextField(); MessagetextField.setColumns(10); MessagetextField.addActionListener(this); - Messagelabel = new JLabel("Message field: "); - Messagelabel.setLabelFor(MessagetextField); + MessagetextArea = new JTextArea("Message field: "); + scrollpane = new JScrollPane(); + scrollpane.getViewport().add(MessagetextArea); + scrollpane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); MessagetextField.setVisible(false); - Messagelabel.setVisible(false); + MessagetextArea.setVisible(false); + scrollpane.setVisible(false); /* * An easy way to put space between a top-level container @@ -83,7 +91,7 @@ public class Interface extends JFrame implements ActionListener, WindowListener pane.add(PseudotextField); pane.add(RemoteUserButton); pane.add(RemoteUserbox); - pane.add(Messagelabel); + pane.add(scrollpane); pane.add(MessagetextField); pane.add(CloseConversationButton); pane.setBorder(BorderFactory.createEmptyBorder( @@ -109,7 +117,7 @@ public class Interface extends JFrame implements ActionListener, WindowListener } }else if(e.getSource() == MessagetextField){ //Messages String Textinput = MessagetextField.getText(); - Messagelabel.setText(Messagelabel.getText()+"
test" + Textinput); + MessagetextArea.setText(MessagetextArea.getText() + controller.getMyUser().getPseudo() + ": " + Textinput + "\n"); MessagetextField.setText(""); controller.askToSend(Textinput); // ask to send to controller @@ -117,7 +125,8 @@ public class Interface extends JFrame implements ActionListener, WindowListener RemoteUserbox.setVisible(true); }else if(e.getSource() == CloseConversationButton) { controller.askCloseSession(); - Messagelabel.setVisible(false); + MessagetextArea.setVisible(false); + scrollpane.setVisible(false); MessagetextField.setVisible(false); CloseConversationButton.setVisible(false); }else { // Choice in remote user list @@ -128,9 +137,10 @@ public class Interface extends JFrame implements ActionListener, WindowListener // start or switch chat => get history String history = controller.askOpenSession(selectedUsernb); // display it - Messagelabel.setText("Message:
"+history); + MessagetextArea.setText("Message:"+history); MessagetextField.setVisible(true); - Messagelabel.setVisible(true); + scrollpane.setVisible(true); + MessagetextArea.setVisible(true); CloseConversationButton.setVisible(true); } }