Interface finie

This commit is contained in:
Theau Giraud 2020-12-18 11:10:06 +01:00
parent 1d72027a3a
commit 4543df462f

View file

@ -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()+"<br>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:<br>"+history);
MessagetextArea.setText("Message:"+history);
MessagetextField.setVisible(true);
Messagelabel.setVisible(true);
scrollpane.setVisible(true);
MessagetextArea.setVisible(true);
CloseConversationButton.setVisible(true);
}
}