Accueil > Forum > > > > Applet qui marche sur JBuilder mais ki s'affiche pas dans la page html ou php...
Applet qui marche sur JBuilder mais ki s'affiche pas dans la page html ou php...
jeudi 19 juin 2003 à 15:44:44 |
Applet qui marche sur JBuilder mais ki s'affiche pas dans la page html ou php...

juanpipo
|
j'ai bien compilé ma classe, j'ai donc bien chatclient.class et j'ai essaye avec deux versions de la page html, avec ou sans html converter , et aucune des deux ne s'affiche, je finis mon stage demain, le chat marche sur jbuilder alors il srait dommage ke je ne puisse l'inserer dnas la page html... merci de m'aider rapidement svp nico voici le code html de mes deux pages ke j'ai essaye... sans converter : <html> <body bgcolor="#b0b0b0" text="black"> <center> <applet code="chatclient.class" width=800 height=550> </applet> <param name="host" value="192.168.1.56"> <param name="port" value="2005"> <param name='java11' value='0'> <param name="Pseudo" value="tutu"> </center> </body> </html> avec converter : <html> <body bgcolor="#b0b0b0" text="black"> <center> <!--"CONVERTED_APPLET"--> <!-- HTML CONVERTER --> <OBJECT classid="clsid:E19F9331-3110-11d4-991C-005004D3B3DB" WIDTH = 800 HEIGHT = 550 codebase="http://java.sun.com/products/plugin/1.3.0_02/jinstall-130_02-win32.cab#Version=1,3,0,2"> <PARAM NAME = CODE VALUE = "chatclient.class" > <PARAM NAME="type" VALUE="application/x-java-applet;jpi-version=1.3.0_02"> <PARAM NAME="scriptable" VALUE="false"> <COMMENT> <EMBED type="application/x-java-applet;jpi-version=1.3.0_02" CODE = "chatclient.class" WIDTH = 400 HEIGHT = 600 scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3.0_02/plugin-install.html"><NOEMBED> </NOEMBED> </EMBED> </COMMENT> </OBJECT> <!-- <APPLET CODE = "chatclient.class" WIDTH = 400 HEIGHT = 600> </APPLET> --> <!--"END_CONVERTED_APPLET"--> <param name="host" value="192.168.1.56"> <param name="port" value="2005"> <param name='java11' value='0'> <param name="Pseudo" value="tutu"> </center> </body> </html> voici le code de ma classe : import java.awt.*; import java.applet.*; import java.net.*; import java.lang.*; import java.io.*; import java.awt.event.*; import java.util.*; import javax.swing.*; import java.text.*; import javax.swing.text.DefaultStyledDocument; import java.awt.event.KeyAdapter; import java.awt.event.KeyListener;
class ActionAdapter implements ActionListener { public void actionPerformed(ActionEvent e) {} }
public class chatclient extends JApplet implements Runnable, KeyListener {ActionAdapter buttonListener; Thread myThread=null; Socket mySocket; InputStream myInputStream; BufferedInputStream myBuffInput; OutputStream myOutputStream; int Online=0; int java11=1; JPanel jpTitre, jpCouleur, panelCouleur, Red, Green, Blue, Resultat, jpCoul, jpListe, Principal, jpCoulResult, jpAction, jpCentre, jpIndication, Haut, panel, SousTitre, Salon, jpNom, PanelEst, panelSud, jpNiveau, ActionHaut, ActionBas, ActionCentre, Action; JLabel jlTitre, jlIndication1, jlIndication2, jlIndication3, jlTexte, jlConnecte,jlLogin, jlPass,jlRouge, jlVert, jlBleu, result, jlSalon, jlNom, jlNom2, jlNiveau; JButton Quitter, envoyer, Aide, Liste, Infos, Details, Actualiser, DeconnectUser, rp, rm, vp, vm, bp, bm; // bouttons pour ajouter et retirer du rouge, vert et bleu. JTextField jtRouge, jtVert, jtBleu, jtSalon; JTextPane Dialogue,jtMess, jtConnecte; public int Rouge,Vert,Bleu; String re="",v="",b="", test, message; Choice ChoixSalon;
// Gestion des évènements claviers si pressé public void keyPressed(KeyEvent e) { int key = e.getKeyCode(); switch (key) { case KeyEvent.VK_ENTER: try{message=jtMess.getText(); myOutputStream.write(convb(message+"\n")); jtMess.setText(""); } catch (Exception ex) {} break; } }
// Autres évènements clavier dont nous ne nous servons pas public void keyTyped(KeyEvent e) {} public void keyReleased(KeyEvent e) {}
// Méthode appelée par le système à l'initialisation de l'applet public void init() {
if (getParameter("java11")!=null) { java11=Integer.parseInt(getParameter("java11")); }
// On initialise les couleurs Rouge=0; Vert=0; Bleu=125; // On transforme en string les valeurs des couleurs re=re.valueOf(Rouge); v=v.valueOf(Vert); b=b.valueOf(Bleu); // On crée le JPanel Resultat qui contiendra la couleur choisie Resultat=new JPanel(); Resultat.setToolTipText("Couleur choisie"); // On crée le JPanel jpCoulResult qui contiendra Resultat et le JLabel result jpCoulResult=new JPanel(); //On crée le JLabel result result=new JLabel("Nouvelle Couleur : "); result.setForeground(Color.white); //On fixe la taille de Resultat Resultat.setPreferredSize(new Dimension(100,20)); Resultat.setMinimumSize(new Dimension(100,20)); Resultat.setMaximumSize(new Dimension(100,20)); Resultat.setBackground(new Color(Rouge,Vert,Bleu)); //Création des bouttons permettant d'ajouter et enlever de la couleur (rouge, vert et bleu) rp=new JButton("+"); rp.setActionCommand("+rouge"); rp.setToolTipText("Ajouter du rouge"); rm=new JButton("-"); rm.setActionCommand("-rouge"); rm.setToolTipText("Enlever du rouge"); vp=new JButton("+"); vp.setActionCommand("+vert"); vp.setToolTipText("Ajouter du vert"); vm=new JButton("-"); vm.setActionCommand("-vert"); vm.setToolTipText("Enlever du vert"); bp=new JButton("+"); bp.setActionCommand("+bleu"); bp.setToolTipText("Ajouter du bleu"); bm=new JButton("-"); bm.setActionCommand("-bleu"); bm.setToolTipText("Enlever du bleu");
//Création des JLabel pour chaque couleurs /* jlNiveau=new JLabel("Niveau de : "); jlNiveau.setForeground(Color.white); jlNiveau.setFont(new Font("Dialog",1,13)); */ jlRouge=new JLabel("Rouge : "); jlRouge.setForeground(Color.white); jlRouge.setFont(new Font("Dialog",1,13)); jlVert=new JLabel("Vert : "); jlVert.setForeground(Color.white); jlVert.setFont(new Font("Dialog",1,13)); jlBleu=new JLabel("Bleu : "); jlBleu.setForeground(Color.white); jlBleu.setFont(new Font("Dialog",1,13));
//Création des JTextField contenant la valeur de chaque couleur. jtRouge=new JTextField(re,3); jtRouge.setFont(new Font("Dialog",1,12)); jtRouge.setForeground(Color.red); jtRouge.setBackground(Color.white); jtRouge.setToolTipText("Selectionnez le niveau de rouge (entre 0 et 255)"); jtVert=new JTextField(v,3); jtVert.setFont(new Font("Dialog",1,12)); jtVert.setForeground(new Color(0,100,0)); jtVert.setBackground(Color.white); jtVert.setToolTipText("Selectionnez le niveau de vert (entre 0 et 255)"); jtBleu=new JTextField(b,3); jtBleu.setFont(new Font("Dialog",1,12)); jtBleu.setForeground(Color.blue); jtBleu.setBackground(Color.white); jtBleu.setToolTipText("Selectionnez le niveau de bleu (entre 0 et 255)"); // Ces JTextField ne sont pas éditable. jtRouge.setEditable(false); jtVert.setEditable(false); jtBleu.setEditable(false); //Création du JPanel jpCouleur qui contiendra les bouttons et les JTextField jpCouleur =new JPanel(); //Création des JPanel pour chaques couleurs qui contiendra les bouttons et le JTextField Red =new JPanel(); Green =new JPanel(); Blue =new JPanel(); //Création du JPanel panelCouleur qui contiendra tout ce qui concerne //le changement de couleur sauf niveau panelCouleur =new JPanel(); //Création du JPanel panelSud qui contiendra tout ce qui concerne le changement de couleur panelSud =new JPanel(); panelSud.setLayout(new BoxLayout(panelSud,BoxLayout.Y_AXIS)); /* //Création du JPanel jpNiveau qui contiendra le JLabel jlNiveau jpNiveau=new JPanel(); jpNiveau.setLayout(new BorderLayout()); */ //La couleur de fond est établie pour chaques JPanel jpCoulResult.setBackground(new Color(125,0,0)); Green.setBackground(new Color(125,0,0)); Red.setBackground(new Color(125,0,0)); Blue.setBackground(new Color(125,0,0)); jpCouleur.setBackground(new Color(125,0,0)); panelSud.setBackground(new Color(125,0,0)); //jpNiveau.setBackground(new Color(125,0,0));
// Dans les JPanel de chaques couleurs on y ajoute les bouttons et le JTextField Red.add(rm); Red.add(jtRouge); Red.add(rp); Green.add(vm); Green.add(jtVert); Green.add(vp); Blue.add(bm); Blue.add(jtBleu); Blue.add(bp); /* //On remplit jpNiveau jpNiveau.add(jlNiveau,BorderLayout.WEST); */ //La disposition de jpCouleur suivra une grille de 2 lignes et 3 colonnes (3 couleurs). jpCouleur.setLayout(new GridLayout(2,3)); //On remplit jpCouleur jpCouleur.add(jlRouge); jpCouleur.add(jlVert); jpCouleur.add(jlBleu); jpCouleur.add(Red); jpCouleur.add(Green); jpCouleur.add(Blue); //On remplit jpCoulResult jpCoulResult.add(result); jpCoulResult.add(Resultat); //panelCouleur suit une disposition en Box verticale panelCouleur.setLayout(new BoxLayout(panelCouleur,BoxLayout.Y_AXIS)); //On remplit panelCouleur panelCouleur.add(jpCouleur); panelCouleur.add(jpCoulResult); //On remplit panelSud //panelSud.add(jpNiveau); panelSud.add(panelCouleur);
// Création du boutton Quitter et Envoyer Quitter=new JButton("Quitter"); envoyer=new JButton("Envoyer"); envoyer.setMnemonic(KeyEvent.VK_ENTER); // Création du JTextPane jtMess dans lequel l'utilisateur tapera ses commandes et son texte. jtMess=new JTextPane(new DefaultStyledDocument()); jtMess.setForeground(new Color(Rouge,Vert,Bleu)); jtMess.setFont(new Font("Dialog",0,12)); jtMess.setBackground(Color.white); jtMess.setPreferredSize(new Dimension(275,20)); jtMess.setMinimumSize(new Dimension(275,20)); jtMess.setMaximumSize(new Dimension(275,20)); jtMess.addKeyListener(this); //Création du JTextPane Dialogue dans lequel apparaitra le dialogue et le resultat des commandes Dialogue=new JTextPane(new DefaultStyledDocument()); Dialogue.setEditable(false); Dialogue.setForeground(new Color(Rouge,Vert,Bleu)); Dialogue.setFont(new Font("Dialog",0,12)); Dialogue.setBackground(Color.white); // Création d'un grand titre pour la page jlTitre=new JLabel("CHAT SAM'Inform"); jlTitre.setForeground(Color.white); jlTitre.setFont(new Font("Verdana",0,20));
// Indications pour parler en privé à partir de la liste des connectés jlIndication1=new JLabel(" Cliquer sur le pseudo"); jlIndication1.setForeground(Color.white); jlIndication2=new JLabel(" pour parler en privé"); jlIndication2.setForeground(Color.white); jlIndication3=new JLabel(" puis appuyer sur Envoyer"); jlIndication3.setForeground(Color.white); //Création du JLabel présentant jtMess jlTexte=new JLabel("Texte : "); jlTexte.setFont(new Font("Dialog",1,16)); jlTexte.setForeground(Color.white); //Création du JLabel présentant le pseudo de l'utilisateur jlNom=new JLabel("Votre pseudo est : "); jlNom.setFont(new Font("Dialog",0,13)); jlNom2=new JLabel(getParameter("Pseudo")); jlNom2.setFont(new Font("Dialog",1,14)); jlNom2.setForeground(Color.white); jlNom.setForeground(Color.white);
//Création du JLabel présentant le salon dans lequel se situe l'utilisateur jlSalon=new JLabel("Salon : "); jlSalon.setFont(new Font("Dialog",1,15)); jlSalon.setForeground(Color.white); //Liste des choix possibles en matière de salons ChoixSalon=new Choice(); ChoixSalon.addItem("Choisissez votre salon"); ChoixSalon.addItem("Principal"); ChoixSalon.addItem("Sorties"); ChoixSalon.addItem("Co-Voiturage"); ChoixSalon.addItem("Spectacles"); //Création du JTextField contenant le nom du salon dans lequel l'utilisateur se situe. jtSalon = new JTextField(ChoixSalon.getSelectedItem(),15); jtSalon.setEditable(false); jtSalon.setToolTipText("Par défaut vous êtes dans Principal");
//Création du JPanel jpTitre contenant le Titre jpTitre=new JPanel(); //Création du JPanel jpCentre contenant le dialogue jpCentre=new JPanel(); //Création du JPanel jpListe contenant la liste des connectés, les commandes et indications jpListe=new JPanel(); //Création du JPanel jpAction contenant Action et le choix des couleurs jpAction=new JPanel(); //Création du JPanel ActionCentre qui contiendra jtMess ActionCentre=new JPanel(); //Création du JPanel ActionHaut qui contiendra jlTexte ActionHaut=new JPanel(); //Création du JPanel ActionBas qui contiendra les bouttons envoyer et quitter ActionBas=new JPanel(); //Création du JPanel Action qui contiendra ActionHaut, ActionCentre et ActionBas Action=new JPanel(); Action.setLayout(new BoxLayout(Action,BoxLayout.Y_AXIS)); //Création d'un JPanel contenant les indications d'utilisation des messages privés jpIndication=new JPanel(); //Création du JPanel avec les salons et le pseudo SousTitre=new JPanel(); // Création du JPanel contenant le titre et le sous titre Haut=new JPanel(); // Création du JPanel contenant la liste des salons Salon=new JPanel(); //Création du JPanel contenant le pseudo de l'utilisateur jpNom=new JPanel(); jpNom.setLayout(new BoxLayout(jpNom,BoxLayout.Y_AXIS)); // Création du JPanel contenant les bouttons de commandes PanelEst=new JPanel(); // On remplit Salon Salon.add(jlSalon); Salon.add(ChoixSalon); Salon.add(jtSalon); // On remplit jpNom jpNom.add(jlNom); jpNom.add(jlNom2); // On remplit SousTitre SousTitre.add(Salon); //On met Dialogue dans un JScrollPane jpDialogue JScrollPane jpDialogue = new JScrollPane(Dialogue,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); //On met jtMess dans un JScrollPane jpMess JScrollPane jpMess = new JScrollPane(jtMess,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); jpMess.setPreferredSize(new Dimension(250,30)); // On choisit la couleur de fond. jpDialogue.setBackground(new Color(125,0,0)); jpIndication.setBackground(new Color(125,0,0)); jpAction.setBackground(new Color(125,0,0)); Action.setBackground(new Color(125,0,0)); ActionHaut.setBackground(new Color(125,0,0)); ActionCentre.setBackground(new Color(125,0,0)); ActionBas.setBackground(new Color(125,0,0)); jpListe.setBackground(new Color(125,0,0)); jpCentre.setBackground(new Color(125,0,0)); jpTitre.setBackground(new Color(125,0,0)); SousTitre.setBackground(new Color(125,0,0)); Salon.setBackground(new Color(125,0,0)); jpNom.setBackground(new Color(125,0,0)); PanelEst.setBackground(new Color(125,0,0)); jpMess.setBackground(new Color(125,0,0)); // On remplit PanelEst apres lui avoir donne une disposition PanelEst.setLayout(new BoxLayout(PanelEst,BoxLayout.Y_AXIS)); PanelEst.add(jpNom); /* Details=new JButton("Liste détaillée des connectés"); Details.setPreferredSize(new Dimension(200,20)); Details.setMinimumSize(new Dimension(200,20)); Details.setMaximumSize(new Dimension(200,20)); PanelEst.add(Details); */ Liste=new JButton("Liste des pseudos des connectés"); Liste.setPreferredSize(new Dimension(200,20)); Liste.setMinimumSize(new Dimension(200,20)); Liste.setMaximumSize(new Dimension(200,20)); PanelEst.add(Liste); /* Infos=new JButton("Infos sur les salons"); Infos.setPreferredSize(new Dimension(200,20)); Infos.setMinimumSize(new Dimension(200,20)); Infos.setMaximumSize(new Dimension(200,20)); PanelEst.add(Infos); */ Aide=new JButton("Aide"); Aide.setPreferredSize(new Dimension(200,20)); Aide.setMinimumSize(new Dimension(200,20)); Aide.setMaximumSize(new Dimension(200,20)); PanelEst.add(Aide); // Boutton seulement disponible pour l'administrateur DeconnectUser=new JButton("Deconnecter un utilisateur"); DeconnectUser.setActionCommand("Deconnecter"); DeconnectUser.setPreferredSize(new Dimension(200,20)); DeconnectUser.setMinimumSize(new Dimension(200,20)); DeconnectUser.setMaximumSize(new Dimension(200,20)); if ((getParameter("Pseudo").equals("Admin")) || (getParameter("Pseudo").equals("Moderateur")) || (getParameter("Pseudo").equals("Webmaster")) || (getParameter("Pseudo").equals("Saminform")) || (getParameter("Pseudo").equals("admin")) || (getParameter("Pseudo").equals("moderateur")) || (getParameter("Pseudo").equals("webmaster")) || (getParameter("Pseudo").equals("saminform"))) {PanelEst.add(DeconnectUser);}
Actualiser=new JButton("Actualiser la liste des connectes"); Actualiser.setActionCommand("Actualiser"); Actualiser.setPreferredSize(new Dimension(200,20)); Actualiser.setMinimumSize(new Dimension(200,20)); Actualiser.setMaximumSize(new Dimension(200,20)); PanelEst.add(Actualiser); //On remplit jpConnecte avec jtConnecte que l'on crée jtConnecte=new JTextPane(new DefaultStyledDocument()); jtConnecte.setPreferredSize(new Dimension(170,350)); jtConnecte.setEditable(false); jtConnecte.setForeground(new Color(Rouge,Vert,Bleu)); jtConnecte.setFont(new Font("Dialog",0,12)); jtConnecte.setBackground(Color.white); //On met jtConnecte dans un JScrollPane jpConnecte JScrollPane jpConnecte = new JScrollPane(jtConnecte,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); jpConnecte.setBackground(new Color(125,0,0)); jpConnecte.setPreferredSize(new Dimension(170,350)); /* // Comme on ne peut pas parler en privé en cliquant sur un pseudo : // On choisit la disposition de jpIndication jpIndication.setLayout(new BoxLayout(jpIndication,BoxLayout.Y_AXIS)); //On remplit jpIndication jpIndication.setLayout(new BoxLayout(jpIndication,BoxLayout.Y_AXIS)); jpIndication.add(jlIndication1); jpIndication.add(jlIndication2); jpIndication.add(jlIndication3); */ // On choisit la disposition de jpListe jpListe.setLayout(new BorderLayout()); //On remplit jpListe jpListe.add(PanelEst,BorderLayout.NORTH); jpListe.add(jpConnecte,BorderLayout.CENTER); // On ne donne plus les indications //jpListe.add(jpIndication,BorderLayout.SOUTH); // On choisit la disposition de jpCentre puis on le remplit jpCentre.setLayout(new BorderLayout()); jpCentre.add(jpDialogue,BorderLayout.CENTER); jpCentre.add(jpListe,BorderLayout.EAST); // On remplit jpTitre jpTitre.add(jlTitre); //On remplit ActionHaut, ActionBas et Action ActionHaut.add(jlTexte); ActionCentre.add(jpMess); ActionBas.add(envoyer); ActionBas.add(Quitter); Action.add(ActionHaut); Action.add(ActionCentre); Action.add(ActionBas); jpAction.add(Action); jpAction.add(panelSud); //On choisit la disposition de Haut puis on le remplit Haut.setLayout(new BoxLayout(Haut,BoxLayout.Y_AXIS)); Haut.add(jpTitre); //Comme on ne veut plus les salons : //Haut.add(SousTitre);
//Ajout de tout les éléments du chat dans l'applet après avoir choisit sa disposition this.getContentPane().setLayout(new BorderLayout()); this.getContentPane().add(Haut,BorderLayout.NORTH); this.getContentPane().add(jpCentre,BorderLayout.CENTER); this.getContentPane().add(jpAction,BorderLayout.SOUTH);
buttonListener = new ActionAdapter() { public void actionPerformed(ActionEvent e) {
javax.swing.text.MutableAttributeSet Attrib=new javax.swing.text.SimpleAttributeSet(); javax.swing.text.StyleConstants.setForeground(Attrib,new Color(Rouge,Vert,Bleu));
try { // Envoyer if (e.getActionCommand().equals("Envoyer")) { message=jtMess.getText(); myOutputStream.write(convb(message+"\n\r")); jtMess.setText(""); } if (e.getActionCommand().equals("Quitter")) // Comment quitter une applet????? Et lancer une autre page php ou html! { myOutputStream.write(convb(".q\n")); Online=0; Quitter(); /* // Liens a faire autrement Properties sys = System.getProperties(); String os = sys.getProperty("os.name"); Runtime r = Runtime.getRuntime(); try {if (os.endsWith("NT")||os.endsWith("2000")||os.endsWith("XP")) r.exec("cmd /c start .\\tutu.html"); else r.exec("start .\\tutu.html"); } catch (IOException ex) {ex.printStackTrace();} */ } if (e.getActionCommand().equals("+rouge")) {if (Rouge<251) {Rouge+=5;} else Rouge=255; re=re.valueOf(Rouge); jtRouge.setText(re); Resultat.setBackground(new Color(Rouge,Vert,Bleu)); jtMess.getStyledDocument().setParagraphAttributes(0, jtMess.getStyledDocument().getLength(), Attrib,true); } if (e.getActionCommand().equals("-rouge")) {if (Rouge>4) {Rouge-=5;} else Rouge=0; re=re.valueOf(Rouge); jtRouge.setText(re); Resultat.setBackground(new Color(Rouge,Vert,Bleu)); jtMess.getStyledDocument().setParagraphAttributes(0, jtMess.getStyledDocument().getLength(), Attrib,true); } if (e.getActionCommand().equals("+vert")) {if (Vert<251) {Vert+=5;} else Vert=255; v=v.valueOf(Vert); jtVert.setText(v); Resultat.setBackground(new Color(Rouge,Vert,Bleu)); jtMess.getStyledDocument().setParagraphAttributes(0, jtMess.getStyledDocument().getLength(), Attrib,true); } if (e.getActionCommand().equals("-vert")) {if (Vert>4) {Vert-=5;} else Vert=0; v=v.valueOf(Vert); jtVert.setText(v); Resultat.setBackground(new Color(Rouge,Vert,Bleu)); jtMess.getStyledDocument().setParagraphAttributes(0, jtMess.getStyledDocument().getLength(), Attrib,true); } if (e.getActionCommand().equals("-bleu")) {if (Bleu>4) {Bleu-=5;} else Bleu=0; b=b.valueOf(Bleu); jtBleu.setText(b); Resultat.setBackground(new Color(Rouge,Vert,Bleu)); jtMess.getStyledDocument().setParagraphAttributes(0, jtMess.getStyledDocument().getLength(), Attrib,true); } if (e.getActionCommand().equals("+bleu")) {if (Bleu<251) {Bleu+=5;} else Bleu=255; b=b.valueOf(Bleu); jtBleu.setText(b); Resultat.setBackground(new Color(Rouge,Vert,Bleu)); jtMess.getStyledDocument().setParagraphAttributes(0, jtMess.getStyledDocument().getLength(), Attrib,true); } /* if (e.getActionCommand().equals("Liste détaillée des connectés")) { myOutputStream.write(convb(".d\n\r")); } */ if (e.getActionCommand().equals("Liste des pseudos des connectés")) { myOutputStream.write(convb(".l\n\r")); } /* if (e.getActionCommand().equals("Infos sur les salons")) { myOutputStream.write(convb(".a\n\r")); } */ if (e.getActionCommand().equals("Aide")) { myOutputStream.write(convb(".he\n\r")); }
if (e.getActionCommand().equals("Actualiser")) { myOutputStream.write(convb(".z\n\r")); }
if (e.getActionCommand().equals("Deconnecter")) { Dialogue.getDocument().insertString(Dialogue.getDocument().getLength(),"La commande pour deconnecter un utilisateur est : ",Attrib); Dialogue.getDocument().insertString(Dialogue.getDocument().getLength(),"\n\r",Attrib); Dialogue.getDocument().insertString(Dialogue.getDocument().getLength(),".v <pseudo de l'utilisateur>",Attrib);} Dialogue.getDocument().insertString(Dialogue.getDocument().getLength(),"\n\r",Attrib); } catch (Exception ex) {} }};
envoyer.addActionListener(buttonListener); Quitter.addActionListener(buttonListener); rp.addActionListener(buttonListener); rm.addActionListener(buttonListener); vp.addActionListener(buttonListener); vm.addActionListener(buttonListener); bp.addActionListener(buttonListener); bm.addActionListener(buttonListener); Aide.addActionListener(buttonListener); //Details.addActionListener(buttonListener); Liste.addActionListener(buttonListener); //Infos.addActionListener(buttonListener); DeconnectUser.addActionListener(buttonListener); Actualiser.addActionListener(buttonListener); } // Lance un Thread public void start() { int l; l=logon(); if (l==0) // Si la connexion a bien marchée. { if (myThread == null){ myThread=new Thread(this); // Création d'un Thread myThread.start();} // Lancement du nouveau Thread } }
// Permet la connexion au serveur public int logon() { try { // Ouverture d'une connexion sur le port de l'hôte mySocket=new Socket("192.168.1.56",2005); // Récupération des flux d'entrés et de sortie myInputStream=mySocket.getInputStream(); myBuffInput=new BufferedInputStream(myInputStream,2048); myOutputStream=mySocket.getOutputStream(); Online=1; } catch (Exception e) { Online=0; } if (Online==1) return 0; // Si la connexion a fonctionné on retourne 0. return 1; // S'il y a eu des erreurs on retourne 1. }
public void run() {byte[] in=new byte[2048]; int r,c=0; String myString=""; if (Online==1) // Si la connexion a bien été établie {// voir comment récupérer le nom d'utilisateur à la suite de la connexion en php, // donc dans la page php if (getParameter("Pseudo")!=null) { try { myOutputStream.write(convb(".n"+getParameter("Pseudo")+"\n")); } catch (Exception e) {} } }
javax.swing.text.MutableAttributeSet Attrib=new javax.swing.text.SimpleAttributeSet();
try { myOutputStream.write(convb(".z\n")); } catch (Exception e) {}
while(true) // Boucle infinie permettant au chat de tester les acivités de l'utilisateur { if (Online==1) { /* // on lance l'action qui permet l'affichage des connectés try {myOutputStream.write(convb(".z"));}// \n\r"));}provoque un plantage et un spam je c pas pkoi! catch (Exception ex) {}*/ // Retourne dans c le nombre de byte dans myBuffInput try { c=myBuffInput.read(in,0,2048); } catch (Exception e) { Online=0; }
for(r=0; r<c; r++) { if (in[r]!='\n' && in[r]!='\r') { myString+=""+(char)in[r]; } // On entre dans la chaine tous les caractères jusqu'à \n\r. else { //Si la chaine commence par "Liste des connectes" alors l'afficher dans jtConnecte. try{ test=myString.substring(0,19); System.out.println("test = "+ test); if (test.equals("Liste des connectes")) {jtConnecte.setText(myString); myString=""; test="";} else if (test.equals(">>> Vous etes decon")) {myString=""; test=""; myOutputStream.write(convb(".q\n")); Online=0; Quitter(); } else // sinon on l'affiche dans le Dialogue {javax.swing.text.StyleConstants.setForeground(Attrib,new Color(Rouge,Vert,Bleu)); try {Dialogue.getDocument().insertString(Dialogue.getDocument().getLength(),myString,Attrib); Dialogue.getDocument().insertString(Dialogue.getDocument().getLength(),"\n\r",Attrib); myString=""; // Permet de ne pas ecrire chaque lignes en double Dialogue.setCaretPosition(Dialogue.getDocument().getLength()); }catch (Exception ex) {ex.printStackTrace();} }//fin else } catch (Exception ex) {} } } } else // si l'utilisateur n'est plus en ligne, on ferme le socket et suspend le Thread. { try { mySocket.close(); } catch (Exception e) {} // myThread.suspend(); stop(); } } }
public boolean action(Event e, Object o) { String obj; String message;
obj=o.toString(); System.out.println(e.target.toString()); try { if (e.target==jtSalon) {if (jtSalon.getText().equals("Principal")) {jtSalon.setText("Principal"); myOutputStream.write(convb(".c 0\n\r"));} else if (jtSalon.getText().equals("Sorties")) {jtSalon.setText("Sorties"); myOutputStream.write(convb(".c 1\n\r"));} else if (jtSalon.getText().equals("Co-Voiturage")) {jtSalon.setText("Co-Voiturage"); myOutputStream.write(convb(".c 2\n\r"));} else if (jtSalon.getText().equals("Spectacles")) {jtSalon.setText("Spectacles"); myOutputStream.write(convb(".c 3\n\r"));} // Si le salon n'est pas un des 4 proposé, on choisit Principal else {jtSalon.setText("Principal"); myOutputStream.write(convb(".c 0\n\r"));} } // Fin de channelText else
if (e.target==jtMess) // Si le texte de jtMess est validé, on l'envoie { message=jtMess.getText(); myOutputStream.write(convb(message+"\n")); jtMess.setText(""); } else // Si la liste déroulante est activée, le nom du salon choisi apparaît dans jtSalon if (e.target==ChoixSalon) { if (ChoixSalon.getSelectedIndex()!=0) { myOutputStream.write(convb(".c"+ChoixSalon.getSelectedItem()+"\n")); jtSalon.setText(ChoixSalon.getSelectedItem()); ChoixSalon.select(0); } } } catch (Exception ex) {} return false; }
// Convertit une chaîne de caractère en un tableau de byte byte[] convb(String myString) {byte[] myBytes=new byte[2048]; int r; for(r=0; r<myString.length(); r++) { myBytes[r]=(byte)myString.charAt(r); } return myBytes; }
// Ferme le socket et arrête le Thread public void stop() { try { mySocket.close(); } catch (Exception e) {} if (myThread != null) {myThread = null;} } public void Quitter() { try {System.out.println("debut du try"); URL ul=new URL("tutu.html"); // plante la!!! System.out.println("apres URL"); String s2="mainframe"; System.out.println("apres mainframe"); this.getAppletContext().showDocument(ul,s2); System.out.println("apres showdocument"); } catch (Exception ex){System.out.println("dans l'exception");}; } }
|
|
|
mercredi 25 juin 2003 à 15:23:08 |
Re : Applet qui marche sur JBuilder mais ki s'affiche pas dans la page html ou php...

tartur
|
je ne connais pas ce que c'estt le converter mais je c que les browser comme internet explorer 5 ou 5.5 ne prennent en compte que la versions 1.1.x du jdk donc po de bibliothèque swing dedans et les autres classes ou mêmes méthodes de classes qui sont apparus à partir du jdk 1.2! suis dsl de ne pas avoir pu t'aider à tempsc que aujourd'hui que je suis revenu sur le site bon bah bonne chance en tt cas ça sera une chose de plus à connaitre. tartur------------------------------- Réponse au message : ------------------------------- > j'ai bien compilé ma classe, j'ai donc bien chatclient.class et j'ai essaye avec deux versions de la page html, avec ou sans html converter , et aucune des deux ne s'affiche, je finis mon stage demain, le chat marche sur jbuilder alors il srait dommage ke je ne puisse l'inserer dnas la page html... > merci de m'aider rapidement svp > nico > > voici le code html de mes deux pages ke j'ai essaye... > > sans converter : > > <html> > <body bgcolor="#b0b0b0" text="black"> > <center> > <applet code="chatclient.class" width=800 height=550> > </applet> > <param name="host" value="192.168.1.56"> > <param name="port" value="2005"> > <param name='java11' value='0'> > <param name="Pseudo" value="tutu"> > </center> > </body> > </html> > > > avec converter : > > <html> > <body bgcolor="#b0b0b0" text="black"> > <center> > <!--"CONVERTED_APPLET"--> > <!-- HTML CONVERTER --> > <OBJECT classid="clsid:E19F9331-3110-11d4-991C-005004D3B3DB" > WIDTH = 800 HEIGHT = 550 codebase="http://java.sun.com/products/plugin/1.3.0_02/jinstall-130_02-win32.cab#Version=1,3,0,2"> > <PARAM NAME = CODE VALUE = "chatclient.class" > > <PARAM NAME="type" VALUE="application/x-java-applet;jpi-version=1.3.0_02"> > <PARAM NAME="scriptable" VALUE="false"> > <COMMENT> > <EMBED type="application/x-java-applet;jpi-version=1.3.0_02" CODE = "chatclient.class" WIDTH = 400 HEIGHT = 600 scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3.0_02/plugin-install.html"><NOEMBED> > </NOEMBED> > </EMBED> > </COMMENT> > </OBJECT> > <!-- > <APPLET CODE = "chatclient.class" WIDTH = 400 HEIGHT = 600> > </APPLET> > --> > <!--"END_CONVERTED_APPLET"--> > <param name="host" value="192.168.1.56"> > <param name="port" value="2005"> > <param name='java11' value='0'> > <param name="Pseudo" value="tutu"> > </center> > </body> > </html> > > > voici le code de ma classe : > > > > import java.awt.*; > import java.applet.*; > import java.net.*; > import java.lang.*; > import java.io.*; > import java.awt.event.*; > import java.util.*; > import javax.swing.*; > import java.text.*; > import javax.swing.text.DefaultStyledDocument; > import java.awt.event.KeyAdapter; > import java.awt.event.KeyListener; > > class ActionAdapter implements ActionListener { > public void actionPerformed(ActionEvent e) {} > } > > public class chatclient extends JApplet implements Runnable, KeyListener > {ActionAdapter buttonListener; > Thread myThread=null; > Socket mySocket; > InputStream myInputStream; > BufferedInputStream myBuffInput; > OutputStream myOutputStream; > int Online=0; > int java11=1; > JPanel jpTitre, jpCouleur, panelCouleur, Red, Green, Blue, Resultat, jpCoul, jpListe, Principal, > jpCoulResult, jpAction, jpCentre, jpIndication, Haut, panel, > SousTitre, Salon, jpNom, PanelEst, panelSud, jpNiveau, ActionHaut, ActionBas, ActionCentre, Action; > JLabel jlTitre, jlIndication1, jlIndication2, jlIndication3, jlTexte, jlConnecte,jlLogin, > jlPass,jlRouge, jlVert, jlBleu, result, jlSalon, jlNom, jlNom2, jlNiveau; > JButton Quitter, envoyer, Aide, Liste, Infos, Details, Actualiser, DeconnectUser, > rp, rm, vp, vm, bp, bm; // bouttons pour ajouter et retirer du rouge, vert et bleu. > JTextField jtRouge, jtVert, jtBleu, jtSalon; > JTextPane Dialogue,jtMess, jtConnecte; > public int Rouge,Vert,Bleu; > String re="",v="",b="", test, message; > Choice ChoixSalon; > > // Gestion des évènements claviers si pressé > public void keyPressed(KeyEvent e) { > int key = e.getKeyCode(); > switch (key) { > case KeyEvent.VK_ENTER: > try{message=jtMess.getText(); > myOutputStream.write(convb(message+"\n")); > jtMess.setText(""); > } > catch (Exception ex) {} > break; > } > } > > // Autres évènements clavier dont nous ne nous servons pas > public void keyTyped(KeyEvent e) {} > public void keyReleased(KeyEvent e) {} > > > // Méthode appelée par le système à l'initialisation de l'applet > public void init() > { > > if (getParameter("java11")!=null) > { java11=Integer.parseInt(getParameter("java11")); } > > // On initialise les couleurs > Rouge=0; > Vert=0; > Bleu=125; > // On transforme en string les valeurs des couleurs > re=re.valueOf(Rouge); > v=v.valueOf(Vert); > b=b.valueOf(Bleu); > // On crée le JPanel Resultat qui contiendra la couleur choisie > Resultat=new JPanel(); > Resultat.setToolTipText("Couleur choisie"); > // On crée le JPanel jpCoulResult qui contiendra Resultat et le JLabel result > jpCoulResult=new JPanel(); > //On crée le JLabel result > result=new JLabel("Nouvelle Couleur : "); > result.setForeground(Color.white); > //On fixe la taille de Resultat > Resultat.setPreferredSize(new Dimension(100,20)); > Resultat.setMinimumSize(new Dimension(100,20)); > Resultat.setMaximumSize(new Dimension(100,20)); > Resultat.setBackground(new Color(Rouge,Vert,Bleu)); > //Création des bouttons permettant d'ajouter et enlever de la couleur (rouge, vert et bleu) > rp=new JButton("+"); > rp.setActionCommand("+rouge"); > rp.setToolTipText("Ajouter du rouge"); > rm=new JButton("-"); > rm.setActionCommand("-rouge"); > rm.setToolTipText("Enlever du rouge"); > vp=new JButton("+"); > vp.setActionCommand("+vert"); > vp.setToolTipText("Ajouter du vert"); > vm=new JButton("-"); > vm.setActionCommand("-vert"); > vm.setToolTipText("Enlever du vert"); > bp=new JButton("+"); > bp.setActionCommand("+bleu"); > bp.setToolTipText("Ajouter du bleu"); > bm=new JButton("-"); > bm.setActionCommand("-bleu"); > bm.setToolTipText("Enlever du bleu"); > > //Création des JLabel pour chaque couleurs > /* > jlNiveau=new JLabel("Niveau de : "); > jlNiveau.setForeground(Color.white); > jlNiveau.setFont(new Font("Dialog",1,13)); > */ > jlRouge=new JLabel("Rouge : "); > jlRouge.setForeground(Color.white); > jlRouge.setFont(new Font("Dialog",1,13)); > jlVert=new JLabel("Vert : "); > jlVert.setForeground(Color.white); > jlVert.setFont(new Font("Dialog",1,13)); > jlBleu=new JLabel("Bleu : "); > jlBleu.setForeground(Color.white); > jlBleu.setFont(new Font("Dialog",1,13)); > > //Création des JTextField contenant la valeur de chaque couleur. > jtRouge=new JTextField(re,3); > jtRouge.setFont(new Font("Dialog",1,12)); > jtRouge.setForeground(Color.red); > jtRouge.setBackground(Color.white); > jtRouge.setToolTipText("Selectionnez le niveau de rouge (entre 0 et 255)"); > jtVert=new JTextField(v,3); > jtVert.setFont(new Font("Dialog",1,12)); > jtVert.setForeground(new Color(0,100,0)); > jtVert.setBackground(Color.white); > jtVert.setToolTipText("Selectionnez le niveau de vert (entre 0 et 255)"); > jtBleu=new JTextField(b,3); > jtBleu.setFont(new Font("Dialog",1,12)); > jtBleu.setForeground(Color.blue); > jtBleu.setBackground(Color.white); > jtBleu.setToolTipText("Selectionnez le niveau de bleu (entre 0 et 255)"); > // Ces JTextField ne sont pas éditable. > jtRouge.setEditable(false); > jtVert.setEditable(false); > jtBleu.setEditable(false); > //Création du JPanel jpCouleur qui contiendra les bouttons et les JTextField > jpCouleur =new JPanel(); > //Création des JPanel pour chaques couleurs qui contiendra les bouttons et le JTextField > Red =new JPanel(); > Green =new JPanel(); > Blue =new JPanel(); > //Création du JPanel panelCouleur qui contiendra tout ce qui concerne > //le changement de couleur sauf niveau > panelCouleur =new JPanel(); > //Création du JPanel panelSud qui contiendra tout ce qui concerne le changement de couleur > panelSud =new JPanel(); > panelSud.setLayout(new BoxLayout(panelSud,BoxLayout.Y_AXIS)); > /* > //Création du JPanel jpNiveau qui contiendra le JLabel jlNiveau > jpNiveau=new JPanel(); > jpNiveau.setLayout(new BorderLayout()); > */ > //La couleur de fond est établie pour chaques JPanel > jpCoulResult.setBackground(new Color(125,0,0)); > Green.setBackground(new Color(125,0,0)); > Red.setBackground(new Color(125,0,0)); > Blue.setBackground(new Color(125,0,0)); > jpCouleur.setBackground(new Color(125,0,0)); > panelSud.setBackground(new Color(125,0,0)); > //jpNiveau.setBackground(new Color(125,0,0)); > > // Dans les JPanel de chaques couleurs on y ajoute les bouttons et le JTextField > Red.add(rm); > Red.add(jtRouge); > Red.add(rp); > Green.add(vm); > Green.add(jtVert); > Green.add(vp); > Blue.add(bm); > Blue.add(jtBleu); > Blue.add(bp); > /* > //On remplit jpNiveau > jpNiveau.add(jlNiveau,BorderLayout.WEST); > */ > //La disposition de jpCouleur suivra une grille de 2 lignes et 3 colonnes (3 couleurs). > jpCouleur.setLayout(new GridLayout(2,3)); > //On remplit jpCouleur > jpCouleur.add(jlRouge); > jpCouleur.add(jlVert); > jpCouleur.add(jlBleu); > jpCouleur.add(Red); > jpCouleur.add(Green); > jpCouleur.add(Blue); > //On remplit jpCoulResult > jpCoulResult.add(result); > jpCoulResult.add(Resultat); > //panelCouleur suit une disposition en Box verticale > panelCouleur.setLayout(new BoxLayout(panelCouleur,BoxLayout.Y_AXIS)); > //On remplit panelCouleur > panelCouleur.add(jpCouleur); > panelCouleur.add(jpCoulResult); > //On remplit panelSud > //panelSud.add(jpNiveau); > panelSud.add(panelCouleur); > > // Création du boutton Quitter et Envoyer > Quitter=new JButton("Quitter"); > envoyer=new JButton("Envoyer"); > envoyer.setMnemonic(KeyEvent.VK_ENTER); > // Création du JTextPane jtMess dans lequel l'utilisateur tapera ses commandes et son texte. > jtMess=new JTextPane(new DefaultStyledDocument()); > jtMess.setForeground(new Color(Rouge,Vert,Bleu)); > jtMess.setFont(new Font("Dialog",0,12)); > jtMess.setBackground(Color.white); > jtMess.setPreferredSize(new Dimension(275,20)); > jtMess.setMinimumSize(new Dimension(275,20)); > jtMess.setMaximumSize(new Dimension(275,20)); > jtMess.addKeyListener(this); > //Création du JTextPane Dialogue dans lequel apparaitra le dialogue et le resultat des commandes > Dialogue=new JTextPane(new DefaultStyledDocument()); > Dialogue.setEditable(false); > Dialogue.setForeground(new Color(Rouge,Vert,Bleu)); > Dialogue.setFont(new Font("Dialog",0,12)); > Dialogue.setBackground(Color.white); > // Création d'un grand titre pour la page > jlTitre=new JLabel("CHAT SAM'Inform"); > jlTitre.setForeground(Color.white); > jlTitre.setFont(new Font("Verdana",0,20)); > > // Indications pour parler en privé à partir de la liste des connectés > jlIndication1=new JLabel(" Cliquer sur le pseudo"); > jlIndication1.setForeground(Color.white); > jlIndication2=new JLabel(" pour parler en privé"); > jlIndication2.setForeground(Color.white); > jlIndication3=new JLabel(" puis appuyer sur Envoyer"); > jlIndication3.setForeground(Color.white); > //Création du JLabel présentant jtMess > jlTexte=new JLabel("Texte : "); > jlTexte.setFont(new Font("Dialog",1,16)); > jlTexte.setForeground(Color.white); > //Création du JLabel présentant le pseudo de l'utilisateur > jlNom=new JLabel("Votre pseudo est : "); > jlNom.setFont(new Font("Dialog",0,13)); > jlNom2=new JLabel(getParameter("Pseudo")); > jlNom2.setFont(new Font("Dialog",1,14)); > jlNom2.setForeground(Color.white); > jlNom.setForeground(Color.white); > > //Création du JLabel présentant le salon dans lequel se situe l'utilisateur > jlSalon=new JLabel("Salon : "); > jlSalon.setFont(new Font("Dialog",1,15)); > jlSalon.setForeground(Color.white); > //Liste des choix possibles en matière de salons > ChoixSalon=new Choice(); > ChoixSalon.addItem("Choisissez votre salon"); > ChoixSalon.addItem("Principal"); > ChoixSalon.addItem("Sorties"); > ChoixSalon.addItem("Co-Voiturage"); > ChoixSalon.addItem("Spectacles"); > //Création du JTextField contenant le nom du salon dans lequel l'utilisateur se situe. > jtSalon = new JTextField(ChoixSalon.getSelectedItem(),15); > jtSalon.setEditable(false); > jtSalon.setToolTipText("Par défaut vous êtes dans Principal"); > > //Création du JPanel jpTitre contenant le Titre > jpTitre=new JPanel(); > //Création du JPanel jpCentre contenant le dialogue > jpCentre=new JPanel(); > //Création du JPanel jpListe contenant la liste des connectés, les commandes et indications > jpListe=new JPanel(); > //Création du JPanel jpAction contenant Action et le choix des couleurs > jpAction=new JPanel(); > //Création du JPanel ActionCentre qui contiendra jtMess > ActionCentre=new JPanel(); > //Création du JPanel ActionHaut qui contiendra jlTexte > ActionHaut=new JPanel(); > //Création du JPanel ActionBas qui contiendra les bouttons envoyer et quitter > ActionBas=new JPanel(); > //Création du JPanel Action qui contiendra ActionHaut, ActionCentre et ActionBas > Action=new JPanel(); > Action.setLayout(new BoxLayout(Action,BoxLayout.Y_AXIS)); > //Création d'un JPanel contenant les indications d'utilisation des messages privés > jpIndication=new JPanel(); > //Création du JPanel avec les salons et le pseudo > SousTitre=new JPanel(); > // Création du JPanel contenant le titre et le sous titre > Haut=new JPanel(); > // Création du JPanel contenant la liste des salons > Salon=new JPanel(); > //Création du JPanel contenant le pseudo de l'utilisateur > jpNom=new JPanel(); > jpNom.setLayout(new BoxLayout(jpNom,BoxLayout.Y_AXIS)); > // Création du JPanel contenant les bouttons de commandes > PanelEst=new JPanel(); > // On remplit Salon > Salon.add(jlSalon); > Salon.add(ChoixSalon); > Salon.add(jtSalon); > // On remplit jpNom > jpNom.add(jlNom); > jpNom.add(jlNom2); > // On remplit SousTitre > SousTitre.add(Salon); > //On met Dialogue dans un JScrollPane jpDialogue > JScrollPane jpDialogue = new JScrollPane(Dialogue,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, > JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); > //On met jtMess dans un JScrollPane jpMess > JScrollPane jpMess = new JScrollPane(jtMess,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, > JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); > jpMess.setPreferredSize(new Dimension(250,30)); > // On choisit la couleur de fond. > jpDialogue.setBackground(new Color(125,0,0)); > jpIndication.setBackground(new Color(125,0,0)); > jpAction.setBackground(new Color(125,0,0)); > Action.setBackground(new Color(125,0,0)); > ActionHaut.setBackground(new Color(125,0,0)); > ActionCentre.setBackground(new Color(125,0,0)); > ActionBas.setBackground(new Color(125,0,0)); > jpListe.setBackground(new Color(125,0,0)); > jpCentre.setBackground(new Color(125,0,0)); > jpTitre.setBackground(new Color(125,0,0)); > SousTitre.setBackground(new Color(125,0,0)); > Salon.setBackground(new Color(125,0,0)); > jpNom.setBackground(new Color(125,0,0)); > PanelEst.setBackground(new Color(125,0,0)); > jpMess.setBackground(new Color(125,0,0)); > // On remplit PanelEst apres lui avoir donne une disposition > PanelEst.setLayout(new BoxLayout(PanelEst,BoxLayout.Y_AXIS)); > PanelEst.add(jpNom); > /* > Details=new JButton("Liste détaillée des connectés"); > Details.setPreferredSize(new Dimension(200,20)); > Details.setMinimumSize(new Dimension(200,20)); > Details.setMaximumSize(new Dimension(200,20)); > PanelEst.add(Details); > */ > Liste=new JButton("Liste des pseudos des connectés"); > Liste.setPreferredSize(new Dimension(200,20)); > Liste.setMinimumSize(new Dimension(200,20)); > Liste.setMaximumSize(new Dimension(200,20)); > PanelEst.add(Liste); > /* > Infos=new JButton("Infos sur les salons"); > Infos.setPreferredSize(new Dimension(200,20)); > Infos.setMinimumSize(new Dimension(200,20)); > Infos.setMaximumSize(new Dimension(200,20)); > PanelEst.add(Infos); > */ > Aide=new JButton("Aide"); > Aide.setPreferredSize(new Dimension(200,20)); > Aide.setMinimumSize(new Dimension(200,20)); > Aide.setMaximumSize(new Dimension(200,20)); > PanelEst.add(Aide); > // Boutton seulement disponible pour l'administrateur > DeconnectUser=new JButton("Deconnecter un utilisateur"); > DeconnectUser.setActionCommand("Deconnecter"); > DeconnectUser.setPreferredSize(new Dimension(200,20)); > DeconnectUser.setMinimumSize(new Dimension(200,20)); > DeconnectUser.setMaximumSize(new Dimension(200,20)); > if ((getParameter("Pseudo").equals("Admin")) || > (getParameter("Pseudo").equals("Moderateur")) || > (getParameter("Pseudo").equals("Webmaster")) || > (getParameter("Pseudo").equals("Saminform")) || > (getParameter("Pseudo").equals("admin")) || > (getParameter("Pseudo").equals("moderateur")) || > (getParameter("Pseudo").equals("webmaster")) || > (getParameter("Pseudo").equals("saminform"))) > {PanelEst.add(DeconnectUser);} > > Actualiser=new JButton("Actualiser la liste des connectes"); > Actualiser.setActionCommand("Actualiser"); > Actualiser.setPreferredSize(new Dimension(200,20)); > Actualiser.setMinimumSize(new Dimension(200,20)); > Actualiser.setMaximumSize(new Dimension(200,20)); > PanelEst.add(Actualiser); > //On remplit jpConnecte avec jtConnecte que l'on crée > jtConnecte=new JTextPane(new DefaultStyledDocument()); > jtConnecte.setPreferredSize(new Dimension(170,350)); > jtConnecte.setEditable(false); > jtConnecte.setForeground(new Color(Rouge,Vert,Bleu)); > jtConnecte.setFont(new Font("Dialog",0,12)); > jtConnecte.setBackground(Color.white); > //On met jtConnecte dans un JScrollPane jpConnecte > JScrollPane jpConnecte = new JScrollPane(jtConnecte,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, > JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); > jpConnecte.setBackground(new Color(125,0,0)); > jpConnecte.setPreferredSize(new Dimension(170,350)); > /* // Comme on ne peut pas parler en privé en cliquant sur un pseudo : > // On choisit la disposition de jpIndication > jpIndication.setLayout(new BoxLayout(jpIndication,BoxLayout.Y_AXIS)); > //On remplit jpIndication > jpIndication.setLayout(new BoxLayout(jpIndication,BoxLayout.Y_AXIS)); > jpIndication.add(jlIndication1); > jpIndication.add(jlIndication2); > jpIndication.add(jlIndication3); > */ > // On choisit la disposition de jpListe > jpListe.setLayout(new BorderLayout()); > //On remplit jpListe > jpListe.add(PanelEst,BorderLayout.NORTH); > jpListe.add(jpConnecte,BorderLayout.CENTER); > // On ne donne plus les indications > //jpListe.add(jpIndication,BorderLayout.SOUTH); > // On choisit la disposition de jpCentre puis on le remplit > jpCentre.setLayout(new BorderLayout()); > jpCentre.add(jpDialogue,BorderLayout.CENTER); > jpCentre.add(jpListe,BorderLayout.EAST); > // On remplit jpTitre > jpTitre.add(jlTitre); > //On remplit ActionHaut, ActionBas et Action > ActionHaut.add(jlTexte); > ActionCentre.add(jpMess); > ActionBas.add(envoyer); > ActionBas.add(Quitter); > Action.add(ActionHaut); > Action.add(ActionCentre); > Action.add(ActionBas); > jpAction.add(Action); > jpAction.add(panelSud); > //On choisit la disposition de Haut puis on le remplit > Haut.setLayout(new BoxLayout(Haut,BoxLayout.Y_AXIS)); > Haut.add(jpTitre); > //Comme on ne veut plus les salons : > //Haut.add(SousTitre); > > //Ajout de tout les éléments du chat dans l'applet après avoir choisit sa disposition > this.getContentPane().setLayout(new BorderLayout()); > this.getContentPane().add(Haut,BorderLayout.NORTH); > this.getContentPane().add(jpCentre,BorderLayout.CENTER); > this.getContentPane().add(jpAction,BorderLayout.SOUTH); > > buttonListener = new ActionAdapter() { > public void actionPerformed(ActionEvent e) { > > javax.swing.text.MutableAttributeSet Attrib=new javax.swing.text.SimpleAttributeSet(); > javax.swing.text.StyleConstants.setForeground(Attrib,new Color(Rouge,Vert,Bleu)); > > try > { > // Envoyer > if (e.getActionCommand().equals("Envoyer")) > { message=jtMess.getText(); > myOutputStream.write(convb(message+"\n\r")); > jtMess.setText(""); > } > if (e.getActionCommand().equals("Quitter")) > // Comment quitter une applet????? Et lancer une autre page php ou html! > { myOutputStream.write(convb(".q\n")); > Online=0; > Quitter(); > /* // Liens a faire autrement > Properties sys = System.getProperties(); > String os = sys.getProperty("os.name"); > Runtime r = Runtime.getRuntime(); > try > {if (os.endsWith("NT")||os.endsWith("2000")||os.endsWith("XP")) > r.exec("cmd /c start .\\tutu.html"); > else > r.exec("start .\\tutu.html"); > } > catch (IOException ex) {ex.printStackTrace();} > */ > } > if (e.getActionCommand().equals("+rouge")) > {if (Rouge<251) > {Rouge+=5;} > else Rouge=255; > re=re.valueOf(Rouge); > jtRouge.setText(re); > Resultat.setBackground(new Color(Rouge,Vert,Bleu)); > jtMess.getStyledDocument().setParagraphAttributes(0, jtMess.getStyledDocument().getLength(), Attrib,true); > } > if (e.getActionCommand().equals("-rouge")) > {if (Rouge>4) > {Rouge-=5;} > else Rouge=0; > re=re.valueOf(Rouge); > jtRouge.setText(re); > Resultat.setBackground(new Color(Rouge,Vert,Bleu)); > jtMess.getStyledDocument().setParagraphAttributes(0, jtMess.getStyledDocument().getLength(), Attrib,true); > } > if (e.getActionCommand().equals("+vert")) > {if (Vert<251) > {Vert+=5;} > else Vert=255; > v=v.valueOf(Vert); > jtVert.setText(v); > Resultat.setBackground(new Color(Rouge,Vert,Bleu)); > jtMess.getStyledDocument().setParagraphAttributes(0, jtMess.getStyledDocument().getLength(), Attrib,true); > } > if (e.getActionCommand().equals("-vert")) > {if (Vert>4) > {Vert-=5;} > else Vert=0; > v=v.valueOf(Vert); > jtVert.setText(v); > Resultat.setBackground(new Color(Rouge,Vert,Bleu)); > jtMess.getStyledDocument().setParagraphAttributes(0, jtMess.getStyledDocument().getLength(), Attrib,true); > } > if (e.getActionCommand().equals("-bleu")) > {if (Bleu>4) > {Bleu-=5;} > else Bleu=0; > b=b.valueOf(Bleu); > jtBleu.setText(b); > Resultat.setBackground(new Color(Rouge,Vert,Bleu)); > jtMess.getStyledDocument().setParagraphAttributes(0, jtMess.getStyledDocument().getLength(), Attrib,true); > } > if (e.getActionCommand().equals("+bleu")) > {if (Bleu<251) > {Bleu+=5;} > else Bleu=255; > b=b.valueOf(Bleu); > jtBleu.setText(b); > Resultat.setBackground(new Color(Rouge,Vert,Bleu)); > jtMess.getStyledDocument().setParagraphAttributes(0, jtMess.getStyledDocument().getLength(), Attrib,true); > } > /* > if (e.getActionCommand().equals("Liste détaillée des connectés")) > { myOutputStream.write(convb(".d\n\r")); } > */ > if (e.getActionCommand().equals("Liste des pseudos des connectés")) > { myOutputStream.write(convb(".l\n\r")); } > /* > if (e.getActionCommand().equals("Infos sur les salons")) > { myOutputStream.write(convb(".a\n\r")); } > */ > if (e.getActionCommand().equals("Aide")) > { myOutputStream.write(convb(".he\n\r")); } > > if (e.getActionCommand().equals("Actualiser")) > { myOutputStream.write(convb(".z\n\r")); } > > if (e.getActionCommand().equals("Deconnecter")) > { Dialogue.getDocument().insertString(Dialogue.getDocument().getLength(),"La commande pour deconnecter un utilisateur est : ",Attrib); > Dialogue.getDocument().insertString(Dialogue.getDocument().getLength(),"\n\r",Attrib); > Dialogue.getDocument().insertString(Dialogue.getDocument().getLength(),".v <pseudo de l'utilisateur>",Attrib);} > Dialogue.getDocument().insertString(Dialogue.getDocument().getLength(),"\n\r",Attrib); > } > catch (Exception ex) {} > }}; > > envoyer.addActionListener(buttonListener); > Quitter.addActionListener(buttonListener); > rp.addActionListener(buttonListener); > rm.addActionListener(buttonListener); > vp.addActionListener(buttonListener); > vm.addActionListener(buttonListener); > bp.addActionListener(buttonListener); > bm.addActionListener(buttonListener); > Aide.addActionListener(buttonListener); > //Details.addActionListener(buttonListener); > Liste.addActionListener(buttonListener); > //Infos.addActionListener(buttonListener); > DeconnectUser.addActionListener(buttonListener); > Actualiser.addActionListener(buttonListener); > } > // Lance un Thread > public void start() > { > int l; > l=logon(); > if (l==0) // Si la connexion a bien marchée. > { if (myThread == null){ > myThread=new Thread(this); // Création d'un Thread > myThread.start();} // Lancement du nouveau Thread > } > } > > // Permet la connexion au serveur > public int logon() > { try > { // Ouverture d'une connexion sur le port de l'hôte > mySocket=new Socket("192.168.1.56",2005); > // Récupération des flux d'entrés et de sortie > myInputStream=mySocket.getInputStream(); > myBuffInput=new BufferedInputStream(myInputStream,2048); > myOutputStream=mySocket.getOutputStream(); > Online=1; > } > catch (Exception e) { Online=0; } > if (Online==1) return 0; // Si la connexion a fonctionné on retourne 0. > return 1; // S'il y a eu des erreurs on retourne 1. > } > > public void run() > {byte[] in=new byte[2048]; > int r,c=0; > String myString=""; > if (Online==1) // Si la connexion a bien été établie > {// voir comment récupérer le nom d'utilisateur à la suite de la connexion en php, > // donc dans la page php > if (getParameter("Pseudo")!=null) > { try > { myOutputStream.write(convb(".n"+getParameter("Pseudo")+"\n")); } > catch (Exception e) {} > } > } > > javax.swing.text.MutableAttributeSet Attrib=new javax.swing.text.SimpleAttributeSet(); > > try > { myOutputStream.write(convb(".z\n")); } > catch (Exception e) {} > > while(true) // Boucle infinie permettant au chat de tester les acivités de l'utilisateur > { if (Online==1) > { /* // on lance l'action qui permet l'affichage des connectés > try {myOutputStream.write(convb(".z"));}// \n\r"));}provoque un plantage et un spam je c pas pkoi! > catch (Exception ex) {}*/ > // Retourne dans c le nombre de byte dans myBuffInput > try { c=myBuffInput.read(in,0,2048); } catch (Exception e) { Online=0; } > > for(r=0; r<c; r++) > { if (in[r]!='\n' && in[r]!='\r') > { myString+=""+(char)in[r]; } // On entre dans la chaine tous les caractères jusqu'à \n\r. > else > { //Si la chaine commence par "Liste des connectes" alors l'afficher dans jtConnecte. > try{ > test=myString.substring(0,19); > System.out.println("test = "+ test); > if (test.equals("Liste des connectes")) > {jtConnecte.setText(myString); > myString=""; > test="";} > else if (test.equals(">>> Vous etes decon")) > {myString=""; > test=""; > myOutputStream.write(convb(".q\n")); > Online=0; > Quitter(); > } > else // sinon on l'affiche dans le Dialogue > {javax.swing.text.StyleConstants.setForeground(Attrib,new Color(Rouge,Vert,Bleu)); > try > {Dialogue.getDocument().insertString(Dialogue.getDocument().getLength(),myString,Attrib); > Dialogue.getDocument().insertString(Dialogue.getDocument().getLength(),"\n\r",Attrib); > myString=""; // Permet de ne pas ecrire chaque lignes en double > Dialogue.setCaretPosition(Dialogue.getDocument().getLength()); > }catch (Exception ex) {ex.printStackTrace();} > }//fin else > } > catch (Exception ex) {} > } > } > } > else // si l'utilisateur n'est plus en ligne, on ferme le socket et suspend le Thread. > { try { mySocket.close(); } catch (Exception e) {} > // myThread.suspend(); > stop(); > } > } > } > > public boolean action(Event e, Object o) > { > String obj; > String message; > > obj=o.toString(); > System.out.println(e.target.toString()); > try > { if (e.target==jtSalon) > {if (jtSalon.getText().equals("Principal")) > {jtSalon.setText("Principal"); > myOutputStream.write(convb(".c 0\n\r"));} > else > if (jtSalon.getText().equals("Sorties")) > {jtSalon.setText("Sorties"); > myOutputStream.write(convb(".c 1\n\r"));} > else > if (jtSalon.getText().equals("Co-Voiturage")) > {jtSalon.setText("Co-Voiturage"); > myOutputStream.write(convb(".c 2\n\r"));} > else > if (jtSalon.getText().equals("Spectacles")) > {jtSalon.setText("Spectacles"); > myOutputStream.write(convb(".c 3\n\r"));} > // Si le salon n'est pas un des 4 proposé, on choisit Principal > else {jtSalon.setText("Principal"); > myOutputStream.write(convb(".c 0\n\r"));} > } // Fin de channelText > else > > if (e.target==jtMess) // Si le texte de jtMess est validé, on l'envoie > { message=jtMess.getText(); > myOutputStream.write(convb(message+"\n")); > jtMess.setText(""); > } > else > // Si la liste déroulante est activée, le nom du salon choisi apparaît dans jtSalon > if (e.target==ChoixSalon) > { if (ChoixSalon.getSelectedIndex()!=0) > { myOutputStream.write(convb(".c"+ChoixSalon.getSelectedItem()+"\n")); > jtSalon.setText(ChoixSalon.getSelectedItem()); > ChoixSalon.select(0); > } > } > } > catch (Exception ex) {} > return false; > } > > // Convertit une chaîne de caractère en un tableau de byte > byte[] convb(String myString) > {byte[] myBytes=new byte[2048]; > int r; > for(r=0; r<myString.length(); r++) > { myBytes[r]=(byte)myString.charAt(r); > } > return myBytes; > } > > // Ferme le socket et arrête le Thread > public void stop() > { try { mySocket.close(); } catch (Exception e) {} > if (myThread != null) > {myThread = null;} > } > public void Quitter() > { > try {System.out.println("debut du try"); > URL ul=new URL("tutu.html"); // plante la!!! > System.out.println("apres URL"); > String s2="mainframe"; > System.out.println("apres mainframe"); > this.getAppletContext().showDocument(ul,s2); > System.out.println("apres showdocument"); > } > catch (Exception ex){System.out.println("dans l'exception");}; > } > } > > |
|
|
mercredi 25 juin 2003 à 15:41:21 |
Re : Applet qui marche sur JBuilder mais ki s'affiche pas dans la page html ou php...

tartur
|
si je peux me permettre d'une autre remarque, c'est bien dommage que tu programme avec java comme si c'était en C profites en c'est un langage objet alors vaut mieux découper les taches le plus possible! et je veux aussi savoir tu n'as po besoin de serveur pour ton applet de tchat tartur------------------------------- Réponse au message : ------------------------------- > j'ai bien compilé ma classe, j'ai donc bien chatclient.class et j'ai essaye avec deux versions de la page html, avec ou sans html converter , et aucune des deux ne s'affiche, je finis mon stage demain, le chat marche sur jbuilder alors il srait dommage ke je ne puisse l'inserer dnas la page html... > merci de m'aider rapidement svp > nico > > voici le code html de mes deux pages ke j'ai essaye... > > sans converter : > > <html> > <body bgcolor="#b0b0b0" text="black"> > <center> > <applet code="chatclient.class" width=800 height=550> > </applet> > <param name="host" value="192.168.1.56"> > <param name="port" value="2005"> > <param name='java11' value='0'> > <param name="Pseudo" value="tutu"> > </center> > </body> > </html> > > > avec converter : > > <html> > <body bgcolor="#b0b0b0" text="black"> > <center> > <!--"CONVERTED_APPLET"--> > <!-- HTML CONVERTER --> > <OBJECT classid="clsid:E19F9331-3110-11d4-991C-005004D3B3DB" > WIDTH = 800 HEIGHT = 550 codebase="http://java.sun.com/products/plugin/1.3.0_02/jinstall-130_02-win32.cab#Version=1,3,0,2"> > <PARAM NAME = CODE VALUE = "chatclient.class" > > <PARAM NAME="type" VALUE="application/x-java-applet;jpi-version=1.3.0_02"> > <PARAM NAME="scriptable" VALUE="false"> > <COMMENT> > <EMBED type="application/x-java-applet;jpi-version=1.3.0_02" CODE = "chatclient.class" WIDTH = 400 HEIGHT = 600 scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3.0_02/plugin-install.html"><NOEMBED> > </NOEMBED> > </EMBED> > </COMMENT> > </OBJECT> > <!-- > <APPLET CODE = "chatclient.class" WIDTH = 400 HEIGHT = 600> > </APPLET> > --> > <!--"END_CONVERTED_APPLET"--> > <param name="host" value="192.168.1.56"> > <param name="port" value="2005"> > <param name='java11' value='0'> > <param name="Pseudo" value="tutu"> > </center> > </body> > </html> > > > voici le code de ma classe : > > > > import java.awt.*; > import java.applet.*; > import java.net.*; > import java.lang.*; > import java.io.*; > import java.awt.event.*; > import java.util.*; > import javax.swing.*; > import java.text.*; > import javax.swing.text.DefaultStyledDocument; > import java.awt.event.KeyAdapter; > import java.awt.event.KeyListener; > > class ActionAdapter implements ActionListener { > public void actionPerformed(ActionEvent e) {} > } > > public class chatclient extends JApplet implements Runnable, KeyListener > {ActionAdapter buttonListener; > Thread myThread=null; > Socket mySocket; > InputStream myInputStream; > BufferedInputStream myBuffInput; > OutputStream myOutputStream; > int Online=0; > int java11=1; > JPanel jpTitre, jpCouleur, panelCouleur, Red, Green, Blue, Resultat, jpCoul, jpListe, Principal, > jpCoulResult, jpAction, jpCentre, jpIndication, Haut, panel, > SousTitre, Salon, jpNom, PanelEst, panelSud, jpNiveau, ActionHaut, ActionBas, ActionCentre, Action; > JLabel jlTitre, jlIndication1, jlIndication2, jlIndication3, jlTexte, jlConnecte,jlLogin, > jlPass,jlRouge, jlVert, jlBleu, result, jlSalon, jlNom, jlNom2, jlNiveau; > JButton Quitter, envoyer, Aide, Liste, Infos, Details, Actualiser, DeconnectUser, > rp, rm, vp, vm, bp, bm; // bouttons pour ajouter et retirer du rouge, vert et bleu. > JTextField jtRouge, jtVert, jtBleu, jtSalon; > JTextPane Dialogue,jtMess, jtConnecte; > public int Rouge,Vert,Bleu; > String re="",v="",b="", test, message; > Choice ChoixSalon; > > // Gestion des évènements claviers si pressé > public void keyPressed(KeyEvent e) { > int key = e.getKeyCode(); > switch (key) { > case KeyEvent.VK_ENTER: > try{message=jtMess.getText(); > myOutputStream.write(convb(message+"\n")); > jtMess.setText(""); > } > catch (Exception ex) {} > break; > } > } > > // Autres évènements clavier dont nous ne nous servons pas > public void keyTyped(KeyEvent e) {} > public void keyReleased(KeyEvent e) {} > > > // Méthode appelée par le système à l'initialisation de l'applet > public void init() > { > > if (getParameter("java11")!=null) > { java11=Integer.parseInt(getParameter("java11")); } > > // On initialise les couleurs > Rouge=0; > Vert=0; > Bleu=125; > // On transforme en string les valeurs des couleurs > re=re.valueOf(Rouge); > v=v.valueOf(Vert); > b=b.valueOf(Bleu); > // On crée le JPanel Resultat qui contiendra la couleur choisie > Resultat=new JPanel(); > Resultat.setToolTipText("Couleur choisie"); > // On crée le JPanel jpCoulResult qui contiendra Resultat et le JLabel result > jpCoulResult=new JPanel(); > //On crée le JLabel result > result=new JLabel("Nouvelle Couleur : "); > result.setForeground(Color.white); > //On fixe la taille de Resultat > Resultat.setPreferredSize(new Dimension(100,20)); > Resultat.setMinimumSize(new Dimension(100,20)); > Resultat.setMaximumSize(new Dimension(100,20)); > Resultat.setBackground(new Color(Rouge,Vert,Bleu)); > //Création des bouttons permettant d'ajouter et enlever de la couleur (rouge, vert et bleu) > rp=new JButton("+"); > rp.setActionCommand("+rouge"); > rp.setToolTipText("Ajouter du rouge"); > rm=new JButton("-"); > rm.setActionCommand("-rouge"); > rm.setToolTipText("Enlever du rouge"); > vp=new JButton("+"); > vp.setActionCommand("+vert"); > vp.setToolTipText("Ajouter du vert"); > vm=new JButton("-"); > vm.setActionCommand("-vert"); > vm.setToolTipText("Enlever du vert"); > bp=new JButton("+"); > bp.setActionCommand("+bleu"); > bp.setToolTipText("Ajouter du bleu"); > bm=new JButton("-"); > bm.setActionCommand("-bleu"); > bm.setToolTipText("Enlever du bleu"); > > //Création des JLabel pour chaque couleurs > /* > jlNiveau=new JLabel("Niveau de : "); > jlNiveau.setForeground(Color.white); > jlNiveau.setFont(new Font("Dialog",1,13)); > */ > jlRouge=new JLabel("Rouge : "); > jlRouge.setForeground(Color.white); > jlRouge.setFont(new Font("Dialog",1,13)); > jlVert=new JLabel("Vert : "); > jlVert.setForeground(Color.white); > jlVert.setFont(new Font("Dialog",1,13)); > jlBleu=new JLabel("Bleu : "); > jlBleu.setForeground(Color.white); > jlBleu.setFont(new Font("Dialog",1,13)); > > //Création des JTextField contenant la valeur de chaque couleur. > jtRouge=new JTextField(re,3); > jtRouge.setFont(new Font("Dialog",1,12)); > jtRouge.setForeground(Color.red); > jtRouge.setBackground(Color.white); > jtRouge.setToolTipText("Selectionnez le niveau de rouge (entre 0 et 255)"); > jtVert=new JTextField(v,3); > jtVert.setFont(new Font("Dialog",1,12)); > jtVert.setForeground(new Color(0,100,0)); > jtVert.setBackground(Color.white); > jtVert.setToolTipText("Selectionnez le niveau de vert (entre 0 et 255)"); > jtBleu=new JTextField(b,3); > jtBleu.setFont(new Font("Dialog",1,12)); > jtBleu.setForeground(Color.blue); > jtBleu.setBackground(Color.white); > jtBleu.setToolTipText("Selectionnez le niveau de bleu (entre 0 et 255)"); > // Ces JTextField ne sont pas éditable. > jtRouge.setEditable(false); > jtVert.setEditable(false); > jtBleu.setEditable(false); > //Création du JPanel jpCouleur qui contiendra les bouttons et les JTextField > jpCouleur =new JPanel(); > //Création des JPanel pour chaques couleurs qui contiendra les bouttons et le JTextField > Red =new JPanel(); > Green =new JPanel(); > Blue =new JPanel(); > //Création du JPanel panelCouleur qui contiendra tout ce qui concerne > //le changement de couleur sauf niveau > panelCouleur =new JPanel(); > //Création du JPanel panelSud qui contiendra tout ce qui concerne le changement de couleur > panelSud =new JPanel(); > panelSud.setLayout(new BoxLayout(panelSud,BoxLayout.Y_AXIS)); > /* > //Création du JPanel jpNiveau qui contiendra le JLabel jlNiveau > jpNiveau=new JPanel(); > jpNiveau.setLayout(new BorderLayout()); > */ > //La couleur de fond est établie pour chaques JPanel > jpCoulResult.setBackground(new Color(125,0,0)); > Green.setBackground(new Color(125,0,0)); > Red.setBackground(new Color(125,0,0)); > Blue.setBackground(new Color(125,0,0)); > jpCouleur.setBackground(new Color(125,0,0)); > panelSud.setBackground(new Color(125,0,0)); > //jpNiveau.setBackground(new Color(125,0,0)); > > // Dans les JPanel de chaques couleurs on y ajoute les bouttons et le JTextField > Red.add(rm); > Red.add(jtRouge); > Red.add(rp); > Green.add(vm); > Green.add(jtVert); > Green.add(vp); > Blue.add(bm); > Blue.add(jtBleu); > Blue.add(bp); > /* > //On remplit jpNiveau > jpNiveau.add(jlNiveau,BorderLayout.WEST); > */ > //La disposition de jpCouleur suivra une grille de 2 lignes et 3 colonnes (3 couleurs). > jpCouleur.setLayout(new GridLayout(2,3)); > //On remplit jpCouleur > jpCouleur.add(jlRouge); > jpCouleur.add(jlVert); > jpCouleur.add(jlBleu); > jpCouleur.add(Red); > jpCouleur.add(Green); > jpCouleur.add(Blue); > //On remplit jpCoulResult > jpCoulResult.add(result); > jpCoulResult.add(Resultat); > //panelCouleur suit une disposition en Box verticale > panelCouleur.setLayout(new BoxLayout(panelCouleur,BoxLayout.Y_AXIS)); > //On remplit panelCouleur > panelCouleur.add(jpCouleur); > panelCouleur.add(jpCoulResult); > //On remplit panelSud > //panelSud.add(jpNiveau); > panelSud.add(panelCouleur); > > // Création du boutton Quitter et Envoyer > Quitter=new JButton("Quitter"); > envoyer=new JButton("Envoyer"); > envoyer.setMnemonic(KeyEvent.VK_ENTER); > // Création du JTextPane jtMess dans lequel l'utilisateur tapera ses commandes et son texte. > jtMess=new JTextPane(new DefaultStyledDocument()); > jtMess.setForeground(new Color(Rouge,Vert,Bleu)); > jtMess.setFont(new Font("Dialog",0,12)); > jtMess.setBackground(Color.white); > jtMess.setPreferredSize(new Dimension(275,20)); > jtMess.setMinimumSize(new Dimension(275,20)); > jtMess.setMaximumSize(new Dimension(275,20)); > jtMess.addKeyListener(this); > //Création du JTextPane Dialogue dans lequel apparaitra le dialogue et le resultat des commandes > Dialogue=new JTextPane(new DefaultStyledDocument()); > Dialogue.setEditable(false); > Dialogue.setForeground(new Color(Rouge,Vert,Bleu)); > Dialogue.setFont(new Font("Dialog",0,12)); > Dialogue.setBackground(Color.white); > // Création d'un grand titre pour la page > jlTitre=new JLabel("CHAT SAM'Inform"); > jlTitre.setForeground(Color.white); > jlTitre.setFont(new Font("Verdana",0,20)); > > // Indications pour parler en privé à partir de la liste des connectés > jlIndication1=new JLabel(" Cliquer sur le pseudo"); > jlIndication1.setForeground(Color.white); > jlIndication2=new JLabel(" pour parler en privé"); > jlIndication2.setForeground(Color.white); > jlIndication3=new JLabel(" puis appuyer sur Envoyer"); > jlIndication3.setForeground(Color.white); > //Création du JLabel présentant jtMess > jlTexte=new JLabel("Texte : "); > jlTexte.setFont(new Font("Dialog",1,16)); > jlTexte.setForeground(Color.white); > //Création du JLabel présentant le pseudo de l'utilisateur > jlNom=new JLabel("Votre pseudo est : "); > jlNom.setFont(new Font("Dialog",0,13)); > jlNom2=new JLabel(getParameter("Pseudo")); > jlNom2.setFont(new Font("Dialog",1,14)); > jlNom2.setForeground(Color.white); > jlNom.setForeground(Color.white); > > //Création du JLabel présentant le salon dans lequel se situe l'utilisateur > jlSalon=new JLabel("Salon : "); > jlSalon.setFont(new Font("Dialog",1,15)); > jlSalon.setForeground(Color.white); > //Liste des choix possibles en matière de salons > ChoixSalon=new Choice(); > ChoixSalon.addItem("Choisissez votre salon"); > ChoixSalon.addItem("Principal"); > ChoixSalon.addItem("Sorties"); > ChoixSalon.addItem("Co-Voiturage"); > ChoixSalon.addItem("Spectacles"); > //Création du JTextField contenant le nom du salon dans lequel l'utilisateur se situe. > jtSalon = new JTextField(ChoixSalon.getSelectedItem(),15); > jtSalon.setEditable(false); > jtSalon.setToolTipText("Par défaut vous êtes dans Principal"); > > //Création du JPanel jpTitre contenant le Titre > jpTitre=new JPanel(); > //Création du JPanel jpCentre contenant le dialogue > jpCentre=new JPanel(); > //Création du JPanel jpListe contenant la liste des connectés, les commandes et indications > jpListe=new JPanel(); > //Création du JPanel jpAction contenant Action et le choix des couleurs > jpAction=new JPanel(); > //Création du JPanel ActionCentre qui contiendra jtMess > ActionCentre=new JPanel(); > //Création du JPanel ActionHaut qui contiendra jlTexte > ActionHaut=new JPanel(); > //Création du JPanel ActionBas qui contiendra les bouttons envoyer et quitter > ActionBas=new JPanel(); > //Création du JPanel Action qui contiendra ActionHaut, ActionCentre et ActionBas > Action=new JPanel(); > Action.setLayout(new BoxLayout(Action,BoxLayout.Y_AXIS)); > //Création d'un JPanel contenant les indications d'utilisation des messages privés > jpIndication=new JPanel(); > //Création du JPanel avec les salons et le pseudo > SousTitre=new JPanel(); > // Création du JPanel contenant le titre et le sous titre > Haut=new JPanel(); > // Création du JPanel contenant la liste des salons > Salon=new JPanel(); > //Création du JPanel contenant le pseudo de l'utilisateur > jpNom=new JPanel(); > jpNom.setLayout(new BoxLayout(jpNom,BoxLayout.Y_AXIS)); > // Création du JPanel contenant les bouttons de commandes > PanelEst=new JPanel(); > // On remplit Salon > Salon.add(jlSalon); > Salon.add(ChoixSalon); > Salon.add(jtSalon); > // On remplit jpNom > jpNom.add(jlNom); > jpNom.add(jlNom2); > // On remplit SousTitre > SousTitre.add(Salon); > //On met Dialogue dans un JScrollPane jpDialogue > JScrollPane jpDialogue = new JScrollPane(Dialogue,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, > JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); > //On met jtMess dans un JScrollPane jpMess > JScrollPane jpMess = new JScrollPane(jtMess,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, > JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); > jpMess.setPreferredSize(new Dimension(250,30)); > // On choisit la couleur de fond. > jpDialogue.setBackground(new Color(125,0,0)); > jpIndication.setBackground(new Color(125,0,0)); > jpAction.setBackground(new Color(125,0,0)); > Action.setBackground(new Color(125,0,0)); > ActionHaut.setBackground(new Color(125,0,0)); > ActionCentre.setBackground(new Color(125,0,0)); > ActionBas.setBackground(new Color(125,0,0)); > jpListe.setBackground(new Color(125,0,0)); > jpCentre.setBackground(new Color(125,0,0)); > jpTitre.setBackground(new Color(125,0,0)); > SousTitre.setBackground(new Color(125,0,0)); > Salon.setBackground(new Color(125,0,0)); > jpNom.setBackground(new Color(125,0,0)); > PanelEst.setBackground(new Color(125,0,0)); > jpMess.setBackground(new Color(125,0,0)); > // On remplit PanelEst apres lui avoir donne une disposition > PanelEst.setLayout(new BoxLayout(PanelEst,BoxLayout.Y_AXIS)); > PanelEst.add(jpNom); > /* > Details=new JButton("Liste détaillée des connectés"); > Details.setPreferredSize(new Dimension(200,20)); > Details.setMinimumSize(new Dimension(200,20)); > Details.setMaximumSize(new Dimension(200,20)); > PanelEst.add(Details); > */ > Liste=new JButton("Liste des pseudos des connectés"); > Liste.setPreferredSize(new Dimension(200,20)); > Liste.setMinimumSize(new Dimension(200,20)); > Liste.setMaximumSize(new Dimension(200,20)); > PanelEst.add(Liste); > /* > Infos=new JButton("Infos sur les salons"); > Infos.setPreferredSize(new Dimension(200,20)); > Infos.setMinimumSize(new Dimension(200,20)); > Infos.setMaximumSize(new Dimension(200,20)); > PanelEst.add(Infos); > */ > Aide=new JButton("Aide"); > Aide.setPreferredSize(new Dimension(200,20)); > Aide.setMinimumSize(new Dimension(200,20)); > Aide.setMaximumSize(new Dimension(200,20)); > PanelEst.add(Aide); > // Boutton seulement disponible pour l'administrateur > DeconnectUser=new JButton("Deconnecter un utilisateur"); > DeconnectUser.setActionCommand("Deconnecter"); > DeconnectUser.setPreferredSize(new Dimension(200,20)); > DeconnectUser.setMinimumSize(new Dimension(200,20)); > DeconnectUser.setMaximumSize(new Dimension(200,20)); > if ((getParameter("Pseudo").equals("Admin")) || > (getParameter("Pseudo").equals("Moderateur")) || > (getParameter("Pseudo").equals("Webmaster")) || > (getParameter("Pseudo").equals("Saminform")) || > (getParameter("Pseudo").equals("admin")) || > (getParameter("Pseudo").equals("moderateur")) || > (getParameter("Pseudo").equals("webmaster")) || > (getParameter("Pseudo").equals("saminform"))) > {PanelEst.add(DeconnectUser);} > > Actualiser=new JButton("Actualiser la liste des connectes"); > Actualiser.setActionCommand("Actualiser"); > Actualiser.setPreferredSize(new Dimension(200,20)); > Actualiser.setMinimumSize(new Dimension(200,20)); > Actualiser.setMaximumSize(new Dimension(200,20)); > PanelEst.add(Actualiser); > //On remplit jpConnecte avec jtConnecte que l'on crée > jtConnecte=new JTextPane(new DefaultStyledDocument()); > jtConnecte.setPreferredSize(new Dimension(170,350)); > jtConnecte.setEditable(false); > jtConnecte.setForeground(new Color(Rouge,Vert,Bleu)); > jtConnecte.setFont(new Font("Dialog",0,12)); > jtConnecte.setBackground(Color.white); > //On met jtConnecte dans un JScrollPane jpConnecte > JScrollPane jpConnecte = new JScrollPane(jtConnecte,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, > JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); > jpConnecte.setBackground(new Color(125,0,0)); > jpConnecte.setPreferredSize(new Dimension(170,350)); > /* // Comme on ne peut pas parler en privé en cliquant sur un pseudo : > // On choisit la disposition de jpIndication > jpIndication.setLayout(new BoxLayout(jpIndication,BoxLayout.Y_AXIS)); > //On remplit jpIndication > jpIndication.setLayout(new BoxLayout(jpIndication,BoxLayout.Y_AXIS)); > jpIndication.add(jlIndication1); > jpIndication.add(jlIndication2); > jpIndication.add(jlIndication3); > */ > // On choisit la disposition de jpListe > jpListe.setLayout(new BorderLayout()); > //On remplit jpListe > jpListe.add(PanelEst,BorderLayout.NORTH); > jpListe.add(jpConnecte,BorderLayout.CENTER); > // On ne donne plus les indications > //jpListe.add(jpIndication,BorderLayout.SOUTH); > // On choisit la disposition de jpCentre puis on le remplit > jpCentre.setLayout(new BorderLayout()); > jpCentre.add(jpDialogue,BorderLayout.CENTER); > jpCentre.add(jpListe,BorderLayout.EAST); > // On remplit jpTitre > jpTitre.add(jlTitre); > //On remplit ActionHaut, ActionBas et Action > ActionHaut.add(jlTexte); > ActionCentre.add(jpMess); > ActionBas.add(envoyer); > ActionBas.add(Quitter); > Action.add(ActionHaut); > Action.add(ActionCentre); > Action.add(ActionBas); > jpAction.add(Action); > jpAction.add(panelSud); > //On choisit la disposition de Haut puis on le remplit > Haut.setLayout(new BoxLayout(Haut,BoxLayout.Y_AXIS)); > Haut.add(jpTitre); > //Comme on ne veut plus les salons : > //Haut.add(SousTitre); > > //Ajout de tout les éléments du chat dans l'applet après avoir choisit sa disposition > this.getContentPane().setLayout(new BorderLayout()); > this.getContentPane().add(Haut,BorderLayout.NORTH); > this.getContentPane().add(jpCentre,BorderLayout.CENTER); > this.getContentPane().add(jpAction,BorderLayout.SOUTH); > > buttonListener = new ActionAdapter() { > public void actionPerformed(ActionEvent e) { > > javax.swing.text.MutableAttributeSet Attrib=new javax.swing.text.SimpleAttributeSet(); > javax.swing.text.StyleConstants.setForeground(Attrib,new Color(Rouge,Vert,Bleu)); > > try > { > // Envoyer > if (e.getActionCommand().equals("Envoyer")) > { message=jtMess.getText(); > myOutputStream.write(convb(message+"\n\r")); > jtMess.setText(""); > } > if (e.getActionCommand().equals("Quitter")) > // Comment quitter une applet????? Et lancer une autre page php ou html! > { myOutputStream.write(convb(".q\n")); > Online=0; > Quitter(); > /* // Liens a faire autrement > Properties sys = System.getProperties(); > String os = sys.getProperty("os.name"); > Runtime r = Runtime.getRuntime(); > try > {if (os.endsWith("NT")||os.endsWith("2000")||os.endsWith("XP")) > r.exec("cmd /c start .\\tutu.html"); > else > r.exec("start .\\tutu.html"); > } > catch (IOException ex) {ex.printStackTrace();} > */ > } > if (e.getActionCommand().equals("+rouge")) > {if (Rouge<251) > {Rouge+=5;} > else Rouge=255; > re=re.valueOf(Rouge); > jtRouge.setText(re); > Resultat.setBackground(new Color(Rouge,Vert,Bleu)); > jtMess.getStyledDocument().setParagraphAttributes(0, jtMess.getStyledDocument().getLength(), Attrib,true); > } > if (e.getActionCommand().equals("-rouge")) > {if (Rouge>4) > {Rouge-=5;} > else Rouge=0; > re=re.valueOf(Rouge); > jtRouge.setText(re); > Resultat.setBackground(new Color(Rouge,Vert,Bleu)); > jtMess.getStyledDocument().setParagraphAttributes(0, jtMess.getStyledDocument().getLength(), Attrib,true); > } > if (e.getActionCommand().equals("+vert")) > {if (Vert<251) > {Vert+=5;} > else Vert=255; > v=v.valueOf(Vert); > jtVert.setText(v); > Resultat.setBackground(new Color(Rouge,Vert,Bleu)); > jtMess.getStyledDocument().setParagraphAttributes(0, jtMess.getStyledDocument().getLength(), Attrib,true); > } > if (e.getActionCommand().equals("-vert")) > {if (Vert>4) > {Vert-=5;} > else Vert=0; > v=v.valueOf(Vert); > jtVert.setText(v); > Resultat.setBackground(new Color(Rouge,Vert,Bleu)); > jtMess.getStyledDocument().setParagraphAttributes(0, jtMess.getStyledDocument().getLength(), Attrib,true); > } > if (e.getActionCommand().equals("-bleu")) > {if (Bleu>4) > {Bleu-=5;} > else Bleu=0; > b=b.valueOf(Bleu); > jtBleu.setText(b); > Resultat.setBackground(new Color(Rouge,Vert,Bleu)); > jtMess.getStyledDocument().setParagraphAttributes(0, jtMess.getStyledDocument().getLength(), Attrib,true); > } > if (e.getActionCommand().equals("+bleu")) > {if (Bleu<251) > {Bleu+=5;} > else Bleu=255; > b=b.valueOf(Bleu); > jtBleu.setText(b); > Resultat.setBackground(new Color(Rouge,Vert,Bleu)); > jtMess.getStyledDocument().setParagraphAttributes(0, jtMess.getStyledDocument().getLength(), Attrib,true); > } > /* > if (e.getActionCommand().equals("Liste détaillée des connectés")) > { myOutputStream.write(convb(".d\n\r")); } > */ > if (e.getActionCommand().equals("Liste des pseudos des connectés")) > { myOutputStream.write(convb(".l\n\r")); } > /* > if (e.getActionCommand().equals("Infos sur les salons")) > { myOutputStream.write(convb(".a\n\r")); } > */ > if (e.getActionCommand().equals("Aide")) > { myOutputStream.write(convb(".he\n\r")); } > > if (e.getActionCommand().equals("Actualiser")) > { myOutputStream.write(convb(".z\n\r")); } > > if (e.getActionCommand().equals("Deconnecter")) > { Dialogue.getDocument().insertString(Dialogue.getDocument().getLength(),"La commande pour deconnecter un utilisateur est : ",Attrib); > Dialogue.getDocument().insertString(Dialogue.getDocument().getLength(),"\n\r",Attrib); > Dialogue.getDocument().insertString(Dialogue.getDocument().getLength(),".v <pseudo de l'utilisateur>",Attrib);} > Dialogue.getDocument().insertString(Dialogue.getDocument().getLength(),"\n\r",Attrib); > } > catch (Exception ex) {} > }}; > > envoyer.addActionListener(buttonListener); > Quitter.addActionListener(buttonListener); > rp.addActionListener(buttonListener); > rm.addActionListener(buttonListener); > vp.addActionListener(buttonListener); > vm.addActionListener(buttonListener); > bp.addActionListener(buttonListener); > bm.addActionListener(buttonListener); > Aide.addActionListener(buttonListener); > //Details.addActionListener(buttonListener); > Liste.addActionListener(buttonListener); > //Infos.addActionListener(buttonListener); > DeconnectUser.addActionListener(buttonListener); > Actualiser.addActionListener(buttonListener); > } > // Lance un Thread > public void start() > { > int l; > l=logon(); > if (l==0) // Si la connexion a bien marchée. > { if (myThread == null){ > myThread=new Thread(this); // Création d'un Thread > myThread.start();} // Lancement du nouveau Thread > } > } > > // Permet la connexion au serveur > public int logon() > { try > { // Ouverture d'une connexion sur le port de l'hôte > mySocket=new Socket("192.168.1.56",2005); > // Récupération des flux d'entrés et de sortie > myInputStream=mySocket.getInputStream(); > myBuffInput=new BufferedInputStream(myInputStream,2048); > myOutputStream=mySocket.getOutputStream(); > Online=1; > } > catch (Exception e) { Online=0; } > if (Online==1) return 0; // Si la connexion a fonctionné on retourne 0. > return 1; // S'il y a eu des erreurs on retourne 1. > } > > public void run() > {byte[] in=new byte[2048]; > int r,c=0; > String myString=""; > if (Online==1) // Si la connexion a bien été établie > {// voir comment récupérer le nom d'utilisateur à la suite de la connexion en php, > // donc dans la page php > if (getParameter("Pseudo")!=null) > { try > { myOutputStream.write(convb(".n"+getParameter("Pseudo")+"\n")); } > catch (Exception e) {} > } > } > > javax.swing.text.MutableAttributeSet Attrib=new javax.swing.text.SimpleAttributeSet(); > > try > { myOutputStream.write(convb(".z\n")); } > catch (Exception e) {} > > while(true) // Boucle infinie permettant au chat de tester les acivités de l'utilisateur > { if (Online==1) > { /* // on lance l'action qui permet l'affichage des connectés > try {myOutputStream.write(convb(".z"));}// \n\r"));}provoque un plantage et un spam je c pas pkoi! > catch (Exception ex) {}*/ > // Retourne dans c le nombre de byte dans myBuffInput > try { c=myBuffInput.read(in,0,2048); } catch (Exception e) { Online=0; } > > for(r=0; r<c; r++) > { if (in[r]!='\n' && in[r]!='\r') > { myString+=""+(char)in[r]; } // On entre dans la chaine tous les caractères jusqu'à \n\r. > else > { //Si la chaine commence par "Liste des connectes" alors l'afficher dans jtConnecte. > try{ > test=myString.substring(0,19); > System.out.println("test = "+ test); > if (test.equals("Liste des connectes")) > {jtConnecte.setText(myString); > myString=""; > test="";} > else if (test.equals(">>> Vous etes decon")) > {myString=""; > test=""; > myOutputStream.write(convb(".q\n")); > Online=0; > Quitter(); > } > else // sinon on l'affiche dans le Dialogue > {javax.swing.text.StyleConstants.setForeground(Attrib,new Color(Rouge,Vert,Bleu)); > try > {Dialogue.getDocument().insertString(Dialogue.getDocument().getLength(),myString,Attrib); > Dialogue.getDocument().insertString(Dialogue.getDocument().getLength(),"\n\r",Attrib); > myString=""; // Permet de ne pas ecrire chaque lignes en double > Dialogue.setCaretPosition(Dialogue.getDocument().getLength()); > }catch (Exception ex) {ex.printStackTrace();} > }//fin else > } > catch (Exception ex) {} > } > } > } > else // si l'utilisateur n'est plus en ligne, on ferme le socket et suspend le Thread. > { try { mySocket.close(); } catch (Exception e) {} > // myThread.suspend(); > stop(); > } > } > } > > public boolean action(Event e, Object o) > { > String obj; > String message; > > obj=o.toString(); > System.out.println(e.target.toString()); > try > { if (e.target==jtSalon) > {if (jtSalon.getText().equals("Principal")) > {jtSalon.setText("Principal"); > myOutputStream.write(convb(".c 0\n\r"));} > else > if (jtSalon.getText().equals("Sorties")) > {jtSalon.setText("Sorties"); > myOutputStream.write(convb(".c 1\n\r"));} > else > if (jtSalon.getText().equals("Co-Voiturage")) > {jtSalon.setText("Co-Voiturage"); > myOutputStream.write(convb(".c 2\n\r"));} > else > if (jtSalon.getText().equals("Spectacles")) > {jtSalon.setText("Spectacles"); > myOutputStream.write(convb(".c 3\n\r"));} > // Si le salon n'est pas un des 4 proposé, on choisit Principal > else {jtSalon.setText("Principal"); > myOutputStream.write(convb(".c 0\n\r"));} > } // Fin de channelText > else > > if (e.target==jtMess) // Si le texte de jtMess est validé, on l'envoie > { message=jtMess.getText(); > myOutputStream.write(convb(message+"\n")); > jtMess.setText(""); > } > else > // Si la liste déroulante est activée, le nom du salon choisi apparaît dans jtSalon > if (e.target==ChoixSalon) > { if (ChoixSalon.getSelectedIndex()!=0) > { myOutputStream.write(convb(".c"+ChoixSalon.getSelectedItem()+"\n")); > jtSalon.setText(ChoixSalon.getSelectedItem()); > ChoixSalon.select(0); > } > } > } > catch (Exception ex) {} > return false; > } > > // Convertit une chaîne de caractère en un tableau de byte > byte[] convb(String myString) > {byte[] myBytes=new byte[2048]; > int r; > for(r=0; r<myString.length(); r++) > { myBytes[r]=(byte)myString.charAt(r); > } > return myBytes; > } > > // Ferme le socket et arrête le Thread > public void stop() > { try { mySocket.close(); } catch (Exception e) {} > if (myThread != null) > {myThread = null;} > } > public void Quitter() > { > try {System.out.println("debut du try"); > URL ul=new URL("tutu.html"); // plante la!!! > System.out.println("apres URL"); > String s2="mainframe"; > System.out.println("apres mainframe"); > this.getAppletContext().showDocument(ul,s2); > System.out.println("apres showdocument"); > } > catch (Exception ex){System.out.println("dans l'exception");}; > } > } > > |
|
|
jeudi 16 décembre 2004 à 20:35:55 |
Re : Applet qui marche sur JBuilder mais ki s'affiche pas dans la page html ou php...
|
Cette discussion est classée dans : création, add, jpanel, color, setbackground
Répondre à ce message
Sujets en rapport avec ce message
Affichage de mon applet dans la page html [ par juanpipo ]
J'ai longtemps bloqué sur l'affichage de mon applet sur JBuilder7 , maintenant que ce problème est résolu j'aimerais arriver à l'afficher dans ma page
la liaison entre 2 interface [ par sancha ]
jé 2 interface Interface1 et Interface2 jé essayé de faire la liaison entre les 2 mais jarrivré ps (quant je clic sur le bouton1 connecter je ve voir
progarmmation java [ par betoile ]
bonjour a tous ma fenetre a un defaut genre une tache quelqu'un peut m'ameliorer la fenetre svp import java.awt.BorderLayout; import java.awt.Butto
ajouter un listener [ par roidunet ]
public class conv{ private JFrame frame = null; private JPanel panneau= null; private JPanel panneau1= null; private JPanel panne
Problème d'affichage [ par elect ]
Bonjour,J'essaie de réaliser une ptite application dans le cadre d'un projet, pour représenter un signal, sa transformé de fourier et quelque une de s
probleme JAVA WEB START [ par rainbow89 ]
jour, je viens de deployer mon application JAVA/JDBC mais je me suis rendu compte qu'en appuyant sur le bouton qui lance un formulaire d'ajout RIEN
réalisation d'un minuteur [ par coach872 ]
salut, je veut réalisé un minuteur en cliquant sur un bouton voici mon code[code=java] import java.awt.*; import java.util.*; import java.awt.event.*;
Proble GridLayout [ par sayone ]
Bonjour à tous,Je suis débutant et je dois créer une genre d'interface graphique mais le probleme c'est que je n'arrive pas à positionner les texte et
probleme chat graphique [ par boboz2 ]
Bonjour, J'ai repris un code source de GillesWebmaster trouver sur ce site pour le modifier et ainsi realiser mon projet scolaire. Mais j'ai quelques
Simple Application calcule la somme et la multiplicaion [ par khallil11 ]
je suis entraine de crée une simple app en rmi qui calculer la somme ou le produit de X et Y selon la demande du client, mais comment envoyer les donn
Livres en rapport
|
Derniers Blogs
XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Je m'y prends un peu tard je sais, mais bon je suis développeur web et donc hyper fainéant ! Toujours dans le cadre des technologies émergentes, ici HTML5, parce qu'on aime HTML5 chez Wyg , nous seront présent, le vieux ( Aurélien V.) et moi, pour pr...
Cliquez pour lire la suite de l'article par Gio [WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz
Forum
RE : URL ET JAVARE : URL ET JAVA par Pylouq
Cliquez pour lire la suite par Pylouq
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|