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