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
problème avec jpanel [ par lamia113 ]
salut tout le monde,je vais poser directement ma question. alors le problème est comme suit: je veux afficher dans une jframe deux jpanel: jpanel 2 qu
erreur pas compris [ par saif87 ]
bonjour je suis débutant en graphique de java et je veut créer une application pour une gestion bancaire donc il y'a une interface graphique(frame)com
Temporisation bug [ par choum20 ]
Bonsoir,mon problème est que j'active du code à partir d'un actionPerformed sur un menu. Dans ce code, il y a une tempo et mon application freeze. Con
Impossible d'afficher un jpanel avec bouton [ par flingue ]
Bonjour je suis debutant en en javaVoici mon pb objectif : affichiche une fenetre un avec panel qui contient deux boutonsj'ai un programme "test" et "
Ajout JPanel dans un autre JPanel [ par riderfun ]
Bonjour, en fait j'ai une petite question qui j'en suis sur est toute bête... Voilà j'ai créé una JFrame ou il y a un JPanel jusque là tout vas bien!
authentification [ par nassr ]
bonjour j'ai un probleme au niveau de mon interface d'accueil, j'essaye de dessiner l'interface d'authentification mais les composants s'affichent sur
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
Livres en rapport
|
Derniers Blogs
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|