Corrections de bugs
這個提交存在於:
父節點
5be454e081
當前提交
48594fc3e1
共有 20 個檔案被更改,包括 70 行新增 和 23 行删除
|
@ -16,7 +16,7 @@
|
||||||
<attribute name="module" value="true"/>
|
<attribute name="module" value="true"/>
|
||||||
</attributes>
|
</attributes>
|
||||||
</classpathentry>
|
</classpathentry>
|
||||||
<classpathentry kind="lib" path="C:/Users/momof/eclipse-workspace/chatGitElise/lib/JTattoo-1.6.13.jar">
|
<classpathentry kind="lib" path="lib/JTattoo-1.6.13.jar">
|
||||||
<attributes>
|
<attributes>
|
||||||
<attribute name="module" value="true"/>
|
<attribute name="module" value="true"/>
|
||||||
</attributes>
|
</attributes>
|
||||||
|
|
二進制
chatGitElise/b1.jpg
一般檔案
二進制
chatGitElise/b1.jpg
一般檔案
未顯示二進位檔案。
之後 寬度: | 高度: | 大小: 16 KiB |
未顯示二進位檔案。
未顯示二進位檔案。
未顯示二進位檔案。
未顯示二進位檔案。
未顯示二進位檔案。
未顯示二進位檔案。
未顯示二進位檔案。
未顯示二進位檔案。
未顯示二進位檔案。
未顯示二進位檔案。
未顯示二進位檔案。
未顯示二進位檔案。
未顯示二進位檔案。
未顯示二進位檔案。
|
@ -163,12 +163,10 @@ public class Agent implements PropertyChangeListener{
|
||||||
FenetreMenu.getCb().removeItem(messageDeconnexion.getPseudo());
|
FenetreMenu.getCb().removeItem(messageDeconnexion.getPseudo());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//fermeture de la fenetre chat le user et la personne qui se deconnecte
|
//fermeture de la fenetre chat le user et la personne qui se deconnecte
|
||||||
if(FenetreChat.isOuvert()&&FenetreChat.getDest().getPseudo().equals(messageDeconnexion.getPseudo())) {
|
if(FenetreChat.isOuvert()&&FenetreChat.getDest().getPseudo().equals(messageDeconnexion.getPseudo())) {
|
||||||
FenetreChat.fermer();
|
FenetreChat.fermer();
|
||||||
|
//getTCPChat().getSocket().close();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -360,6 +358,10 @@ public class Agent implements PropertyChangeListener{
|
||||||
return listTCPDeg;
|
return listTCPDeg;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ArrayList<TCPChat> getListeTCPChat2(){
|
||||||
|
return listTCPOk;
|
||||||
|
}
|
||||||
|
|
||||||
public TCPChat getTCPChat() {
|
public TCPChat getTCPChat() {
|
||||||
return this.listTCPDeg.remove(0);
|
return this.listTCPDeg.remove(0);
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,6 +2,8 @@ package gui;
|
||||||
|
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.ActionListener;
|
import java.awt.event.ActionListener;
|
||||||
|
import java.awt.event.KeyEvent;
|
||||||
|
import java.awt.event.KeyListener;
|
||||||
import java.awt.event.WindowAdapter;
|
import java.awt.event.WindowAdapter;
|
||||||
import java.awt.event.WindowEvent;
|
import java.awt.event.WindowEvent;
|
||||||
import java.beans.PropertyChangeEvent;
|
import java.beans.PropertyChangeEvent;
|
||||||
|
@ -17,6 +19,7 @@ import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
|
import javax.swing.border.Border;
|
||||||
import javax.swing.text.BadLocationException;
|
import javax.swing.text.BadLocationException;
|
||||||
import javax.swing.text.DefaultCaret;
|
import javax.swing.text.DefaultCaret;
|
||||||
import javax.swing.text.SimpleAttributeSet;
|
import javax.swing.text.SimpleAttributeSet;
|
||||||
|
@ -24,6 +27,7 @@ import javax.swing.text.StyleConstants;
|
||||||
import javax.swing.text.StyledDocument;
|
import javax.swing.text.StyledDocument;
|
||||||
|
|
||||||
import controller.Agent;
|
import controller.Agent;
|
||||||
|
import controller.DataBase;
|
||||||
import model.Contact;
|
import model.Contact;
|
||||||
import model.MessageAffichage;
|
import model.MessageAffichage;
|
||||||
import network.TCPChat;
|
import network.TCPChat;
|
||||||
|
@ -33,6 +37,18 @@ import java.awt.*;
|
||||||
|
|
||||||
public class FenetreChat extends JFrame implements PropertyChangeListener{
|
public class FenetreChat extends JFrame implements PropertyChangeListener{
|
||||||
|
|
||||||
|
private static FenetreChat instance = null;
|
||||||
|
|
||||||
|
public static FenetreChat getInstance(Agent agent, String userString) throws IOException {
|
||||||
|
synchronized (FenetreChat.class) {
|
||||||
|
FenetreChat fc = instance;
|
||||||
|
if(fc == null) {
|
||||||
|
fc = new FenetreChat(agent, userString);
|
||||||
|
}
|
||||||
|
return fc;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static JFrame frame;
|
static JFrame frame;
|
||||||
static Agent agent;
|
static Agent agent;
|
||||||
static Contact dest; //destinataire du message
|
static Contact dest; //destinataire du message
|
||||||
|
@ -41,6 +57,7 @@ public class FenetreChat extends JFrame implements PropertyChangeListener{
|
||||||
WindowAdapter wa;
|
WindowAdapter wa;
|
||||||
JPanel panel;
|
JPanel panel;
|
||||||
static JTextArea text;
|
static JTextArea text;
|
||||||
|
JButton envoyer;
|
||||||
|
|
||||||
private TCPChat t=null;
|
private TCPChat t=null;
|
||||||
|
|
||||||
|
@ -48,7 +65,7 @@ public class FenetreChat extends JFrame implements PropertyChangeListener{
|
||||||
private static boolean ouvert=false;
|
private static boolean ouvert=false;
|
||||||
|
|
||||||
|
|
||||||
public FenetreChat(Agent agent, String userString) throws IOException {
|
private FenetreChat(Agent agent, String userString) throws IOException {
|
||||||
FenetreChat.ouvert=true;
|
FenetreChat.ouvert=true;
|
||||||
|
|
||||||
this.frame = new JFrame("Fenetre Chat avec "+ userString);
|
this.frame = new JFrame("Fenetre Chat avec "+ userString);
|
||||||
|
@ -90,7 +107,7 @@ public class FenetreChat extends JFrame implements PropertyChangeListener{
|
||||||
this.addWidgets();
|
this.addWidgets();
|
||||||
//frame.getContentPane().add(panel, BorderLayout.CENTER);
|
//frame.getContentPane().add(panel, BorderLayout.CENTER);
|
||||||
afficherHistorique();
|
afficherHistorique();
|
||||||
|
frame.getRootPane().setDefaultButton(envoyer);
|
||||||
|
|
||||||
frame.addWindowListener(wa);
|
frame.addWindowListener(wa);
|
||||||
frame.setVisible(true);
|
frame.setVisible(true);
|
||||||
|
@ -126,10 +143,32 @@ public class FenetreChat extends JFrame implements PropertyChangeListener{
|
||||||
//zone pour rentrer les message à envoyer
|
//zone pour rentrer les message à envoyer
|
||||||
text = new JTextArea(10, 3);
|
text = new JTextArea(10, 3);
|
||||||
text.setForeground(Color.WHITE);
|
text.setForeground(Color.WHITE);
|
||||||
text.setFont(new Font("Century Schoolbook", Font.PLAIN, 11));
|
text.setBackground(Color.GRAY);
|
||||||
|
text.setBorder(BorderFactory.createLineBorder(Color.DARK_GRAY));
|
||||||
|
text.setFont(new Font("Century Schoolbook", Font.PLAIN, 12));
|
||||||
text.setText("Enter your message");
|
text.setText("Enter your message");
|
||||||
text.setOpaque(false);
|
text.setOpaque(false);
|
||||||
|
|
||||||
|
text.addKeyListener(new KeyListener() {
|
||||||
|
public void keyPressed(KeyEvent e) {
|
||||||
|
if (e.getKeyCode() == KeyEvent.VK_ENTER){
|
||||||
|
e.consume();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void keyTyped(KeyEvent e) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void keyReleased(KeyEvent e) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
JScrollPane sp = new JScrollPane(text);
|
JScrollPane sp = new JScrollPane(text);
|
||||||
|
|
||||||
//zone affichage texte
|
//zone affichage texte
|
||||||
|
@ -143,7 +182,7 @@ public class FenetreChat extends JFrame implements PropertyChangeListener{
|
||||||
frame.getContentPane().add(sp2, gbc);
|
frame.getContentPane().add(sp2, gbc);
|
||||||
|
|
||||||
//bouton envoyer
|
//bouton envoyer
|
||||||
JButton envoyer = new JButton("Send");
|
envoyer = new JButton("Send");
|
||||||
envoyer.setOpaque(false);
|
envoyer.setOpaque(false);
|
||||||
frame.getRootPane().setDefaultButton(envoyer);
|
frame.getRootPane().setDefaultButton(envoyer);
|
||||||
envoyer.addActionListener(new ActionListener() {
|
envoyer.addActionListener(new ActionListener() {
|
||||||
|
@ -279,6 +318,7 @@ public class FenetreChat extends JFrame implements PropertyChangeListener{
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
agent.getListeTCPChat().remove(t);
|
agent.getListeTCPChat().remove(t);
|
||||||
|
agent.getListeTCPChat2().remove(t);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -289,20 +329,6 @@ public class FenetreChat extends JFrame implements PropertyChangeListener{
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void fermer() {
|
public static void fermer() {
|
||||||
TCPChat t = null;
|
|
||||||
/*try {
|
|
||||||
|
|
||||||
InetAddress adr = dest.getAddress();
|
|
||||||
for(TCPChat tcp : agent.getListeTCPChat()) {
|
|
||||||
if(tcp.getSocket().getInetAddress().equals(adr)) {
|
|
||||||
t=tcp;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
t.getSocket().close();
|
|
||||||
} catch (IOException e1) {
|
|
||||||
// TODO Auto-generated catch block
|
|
||||||
e1.printStackTrace();
|
|
||||||
}*/
|
|
||||||
frame.dispose();
|
frame.dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -8,6 +8,9 @@ import java.awt.GridLayout;
|
||||||
import java.awt.Image;
|
import java.awt.Image;
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.ActionListener;
|
import java.awt.event.ActionListener;
|
||||||
|
import java.awt.event.KeyAdapter;
|
||||||
|
import java.awt.event.KeyEvent;
|
||||||
|
import java.awt.event.KeyListener;
|
||||||
|
|
||||||
import javax.swing.BorderFactory;
|
import javax.swing.BorderFactory;
|
||||||
import javax.swing.JButton;
|
import javax.swing.JButton;
|
||||||
|
@ -97,6 +100,21 @@ public class FenetreInscription implements ActionListener {
|
||||||
JLabel text = new JLabel("Login: ", SwingConstants.CENTER);
|
JLabel text = new JLabel("Login: ", SwingConstants.CENTER);
|
||||||
text.setForeground(Color.WHITE);
|
text.setForeground(Color.WHITE);
|
||||||
text.setOpaque(false);
|
text.setOpaque(false);
|
||||||
|
loginfield.addKeyListener(new KeyAdapter() {
|
||||||
|
public void keyTyped(KeyEvent e) {
|
||||||
|
if(e.getKeyChar() =='?' || e.getKeyChar() == '&' || e.getKeyChar() == '/' || e.getKeyChar() =='=' || e.getKeyChar() == KeyEvent.VK_SPACE) {
|
||||||
|
e.consume();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
pseudofield.addKeyListener(new KeyAdapter() {
|
||||||
|
@Override
|
||||||
|
public void keyTyped(KeyEvent e) {
|
||||||
|
if(e.getKeyChar() =='?' || e.getKeyChar() == '&' || e.getKeyChar() == '/' || e.getKeyChar() =='=' ||e.getKeyChar() == KeyEvent.VK_SPACE ) {
|
||||||
|
e.consume();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
JLabel text2 = new JLabel("Pseudo: ", SwingConstants.CENTER);
|
JLabel text2 = new JLabel("Pseudo: ", SwingConstants.CENTER);
|
||||||
text2.setForeground(Color.WHITE);
|
text2.setForeground(Color.WHITE);
|
||||||
text2.setOpaque(false);
|
text2.setOpaque(false);
|
||||||
|
|
|
@ -194,11 +194,12 @@ public class FenetreMenu {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
new FenetreChat(agent, selected.toString());
|
FenetreChat.getInstance(agent, selected.toString());
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
// TODO Auto-generated catch block
|
// TODO Auto-generated catch block
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
cb.setSelectedItem(agent.getUser().getPseudo());
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
載入中…
新增問題並參考