Probleme de liaison à l'interface

Probleme de liaison à l'interface - Java - Programmation

Marsh Posté le 12-04-2013 à 02:28:27    

Bonsoir,
 
Je suis actuellement sur un projet de Chat IRC, j'ai créé l'interface et à coté on m'a donné un code de base pour les gérer les sockets, thread qui renvoi tout en mode console.  
Du coup, je dois remplacer les entrées/sorties vers mon interface. Sauf que c'est là qu'apparaît le problème.
 
Voici le code de l'interface

Code :
  1. public class AppChatClient2 extends JFrame {
  2. private JPanel contentPane;
  3. private JTextField textField;
  4. private JFrame frame;
  5. private ChatServer leServeur;
  6. private ChatClient leClient;
  7. /**
  8.  * Launch the application.
  9.  */
  10. public static void main(String[] args) {
  11.  EventQueue.invokeLater(new Runnable() {
  12.   public void run() {
  13.    try {
  14.     AppChatClient2 frame = new AppChatClient2();
  15.     frame.setVisible(true);
  16.    } catch (Exception e) {
  17.     e.printStackTrace();
  18.    }
  19.   }
  20.  });
  21. }
  22. /**
  23.  * Create the frame.
  24.  */
  25. public AppChatClient2() {
  26.  leServeur = new ChatServer(4444);
  27.  leClient = new ChatClient("localhost", 4444);
  28.  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  29.  setBounds(100, 100, 450, 300);
  30.  contentPane = new JPanel();
  31.  contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
  32.  setContentPane(contentPane);
  33.  GridBagLayout gbl_contentPane = new GridBagLayout();
  34.  gbl_contentPane.columnWidths = new int[]{0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
  35.  gbl_contentPane.rowHeights = new int[]{0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
  36.  gbl_contentPane.columnWeights = new double[]{1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, Double.MIN_VALUE};
  37.  gbl_contentPane.rowWeights = new double[]{0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, Double.MIN_VALUE};
  38.  contentPane.setLayout(gbl_contentPane);
  39.  JSplitPane splitPane = new JSplitPane();
  40.  GridBagConstraints gbc_splitPane = new GridBagConstraints();
  41.  gbc_splitPane.insets = new Insets(0, 0, 5, 0);
  42.  gbc_splitPane.gridheight = 6;
  43.  gbc_splitPane.gridwidth = 9;
  44.  gbc_splitPane.fill = GridBagConstraints.BOTH;
  45.  gbc_splitPane.gridx = 0;
  46.  gbc_splitPane.gridy = 1;
  47.  contentPane.add(splitPane, gbc_splitPane);
  48.  JList list_1 = new JList();
  49.  list_1.setModel(new AbstractListModel() {
  50.   String[] values = new String[] {"Connect\u00E9(s)"};
  51.   public int getSize() {
  52.    return values.length;
  53.   }
  54.   public Object getElementAt(int index) {
  55.    return values[index];
  56.   }
  57.  });
  58.  list_1.setToolTipText("" );
  59.  splitPane.setLeftComponent(list_1);
  60.  final JTextArea textArea = new JTextArea();
  61.  splitPane.setRightComponent(textArea);
  62.  textField = new JTextField();
  63.  GridBagConstraints gbc_textField = new GridBagConstraints();
  64.  gbc_textField.gridwidth = 7;
  65.  gbc_textField.insets = new Insets(0, 0, 0, 5);
  66.  gbc_textField.fill = GridBagConstraints.HORIZONTAL;
  67.  gbc_textField.gridx = 0;
  68.  gbc_textField.gridy = 8;
  69.  contentPane.add(textField, gbc_textField);
  70.  textField.setColumns(10);
  71.  JButton btnNewButton = new JButton("Send" );
  72.  btnNewButton.addActionListener(new ActionListener() {
  73.   public void actionPerformed(ActionEvent arg0) {
  74.    textArea.setText(textArea.getText()+textField.getText()+'\n');
  75.   }
  76.  });
  77.  GridBagConstraints gbc_btnNewButton = new GridBagConstraints();
  78.  gbc_btnNewButton.insets = new Insets(0, 0, 0, 5);
  79.  gbc_btnNewButton.anchor = GridBagConstraints.EAST;
  80.  gbc_btnNewButton.gridx = 7;
  81.  gbc_btnNewButton.gridy = 8;
  82.  contentPane.add(btnNewButton, gbc_btnNewButton);
  83.  JButton btnNewButton_1 = new JButton("Leave" );
  84.  btnNewButton_1.addMouseListener(new MouseAdapter() {
  85.   @Override
  86.   public void mouseClicked(MouseEvent arg0) {
  87.    leClient.handle(".bye" );
  88.   }
  89.  });
  90.  GridBagConstraints gbc_btnNewButton_1 = new GridBagConstraints();
  91.  gbc_btnNewButton_1.gridx = 8;
  92.  gbc_btnNewButton_1.gridy = 8;
  93.  contentPane.add(btnNewButton_1, gbc_btnNewButton_1);
  94. }
  95. }


 
J'ai linké en ce qui concerne les sockets et threads sur ftp pour avoir un code complet : http://romaincointet.fr/java/
 
 
Merci d'avance

Reply

Marsh Posté le 12-04-2013 à 02:28:27   

Reply

Marsh Posté le 12-04-2013 à 12:31:00    

Je vois plein de code donc tu es avancé dans ton projet ? Quel est le problème exact ? Tu as un problème de conception avec mise en place  d'interface ? ou des problèmes de dev et tu n'arrives pas à implémenter ?

Reply

Marsh Posté le 12-04-2013 à 15:30:47    

Oui le projet est assez avancé, le probleme est de relié l'interface au reste. Pour le moment tout est renvoyé en console. Du coup je ne sais pas  si je dois appeller les objets comme client et serveur dans mon interface graphique ou au contraire appeler l'interface dans les classes client et serveur.

Reply

Marsh Posté le 13-04-2013 à 08:40:04    

gens546 a écrit :

Oui le projet est assez avancé, le probleme est de relié l'interface au reste. Pour le moment tout est renvoyé en console. Du coup je ne sais pas  si je dois appeller les objets comme client et serveur dans mon interface graphique ou au contraire appeler l'interface dans les classes client et serveur.


 
L'interface (graphique) c'est ton client, tu mets des boutons "envoi" pour envoyer des requêtes au serveur.
Le serveur n'a pas besoin d'interface graphique, mais tu peux envoyer le texte de ce qu'il fait (reçoit les requêtes et renvoie des réponses) dans le log de la console.
Le client reçoit les réponses du serveur à ses requêtes et fait quelque chose avec, peut être une fenêtre popup ou une liste (JTree) des réponses.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed