begin process at 2010 03 11 21:49:19
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Java

 > 

Archives

 > 

Applet

 > 

JApplet et JPanel


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

JApplet et JPanel

mardi 3 février 2004 à 23:09:39 | JApplet et JPanel

jtmarin


Help,
J'ai un gros pb que je ne comprend pas du tout avec JApplet.
En gros, si j'ajoute le JPanel au moment de la méthode init(), pas de problème mais par contre si je l'ajoute plus tard ou que je le supprime puis que j'en ajoute un autre, la suppression marche mais après ajout il n'y a rien et aucune exception n'est lancée
Voici le code:

package colibri;

import javax.swing.*;
import java.awt.*;

import java.util.Vector;

import ihm.*;
import calculs.*;
import popup.*;
import util.*;


public class Colibri extends JApplet
{

/* Declaration de tous les composants de l'application
*
*/
public ScenarioPanel panneauScenario1;
public Scenario2Panel panneauScenario2;
public PanneauCourbes thePanneauCourbes;

public void init()
{
initComponents();
lancerScenario();
}

private void initComponents()
{
this.setSize(new java.awt.Dimension(800,600));
this.getContentPane().setBackground(new Color(204,204,204));
getContentPane().setLayout(new java.awt.FlowLayout());

}
public void lancerScenario()
{
panneauScenario1 = new ScenarioPanel(this);
panneauScenario1.setPreferredSize(new java.awt.Dimension(800,600));
getContentPane().add(panneauScenario1);
}
public void suiteScenario()
{
panneauScenario2 = new Scenario2Panel(this);


panneauScenario2.setPreferredSize(new java.awt.Dimension(800,600));
getContentPane().remove(panneauScenario1);
getContentPane().add(panneauScenario2);

repaint();
}

public static void main(String args[]) {
Colibri application = new Colibri();
application.show();
}

}

le depart marche mais l'appel a suiteScenario foire...
mercredi 4 février 2004 à 09:56:10 | Re : JApplet et JPanel

arN34

est-ce qu'on pourrait voir ta classe Scenario2Panel ?
Visiblement, ça vient de là.
Essaye de remplacer panneauScenario2 = new Scenario2Panel(this);
par panneauScenario2 = new ScenarioPanel(this);
pour voir.
Si ça marche, c'est que ça vient de ta classe Scenario2Panel.

arN34
mercredi 4 février 2004 à 10:12:29 | Re : JApplet et JPanel

jtmarin


La Classe Scenario2Panel est exactement la meme que ScenarioPanel, aux etiquettes et aux boutons près. Ca ne marche pas non plus avec ScenarioPanel. Seuls les ajouts dès init() marchent.
Voici son code:

package ihm;

import javax.swing.*;
import java.awt.BorderLayout;
import java.awt.*;
import java.awt.event.*;
import util.*;
import colibri.Colibri;

public class Scenario2Panel extends JPanel
implements ActionListener
{

private Colibri parent;
/* Declaration des composants de la 2e partie du Scenario
* (apres avoir appuyé sur "suite")
*/

JButton boutonFinir;
JTextField jTextField2;
JLabel labelOu;
JLabel labelNbPucerons;
JTextField fieldPourcentage;
JLabel labelPourcentage;
JTextField fieldStade;
JLabel labelStade;
JTextField fieldDate;
JLabel labelDate;
JTextField fieldNom;
JLabel labelScenario;
JLabel labelNomParcelle;
ImagedPanel panelFond;


public Scenario2Panel(Colibri p) {
parent = p;
initGUI();
}

public void initGUI() {
try {
preInitGUI();

panelFond = new ImagedPanel("ihm/Acceuil.jpg");
labelNomParcelle = new JLabel();
labelScenario = new JLabel();
fieldNom = new JTextField();
labelDate = new JLabel();
fieldDate = new JTextField();
labelStade = new JLabel();
fieldStade = new JTextField();
labelPourcentage = new JLabel();
fieldPourcentage = new JTextField();
labelNbPucerons = new JLabel();
labelOu = new JLabel();
jTextField2 = new JTextField();
boutonFinir = new JButton();
BorderLayout thisLayout = new BorderLayout();
//this.getContentPane().setLayout(thisLayout);
setLayout(thisLayout);
thisLayout.setHgap(0);
thisLayout.setVgap(0);

//this.getContentPane().setBackground( new java.awt.Color(229, 229, 229));

setBackground( new java.awt.Color(229, 229, 229));
panelFond.setLayout(null);
panelFond.setVisible(true);
panelFond.setBackground(new java.awt.Color(229, 229, 229));
panelFond.setForeground(new java.awt.Color(0, 51, 153));
//this.getContentPane().add(panelFond);
add(panelFond);
labelNomParcelle.setLayout(null);
labelNomParcelle.setText("Nom de la parcelle:");
labelNomParcelle.setVisible(true);
labelNomParcelle.setForeground(new java.awt.Color(0, 51, 153));
labelNomParcelle.setPreferredSize(new java.awt.Dimension(128, 20));
labelNomParcelle.setBounds(
new java.awt.Rectangle(72, 204, 128, 20));
panelFond.add(labelNomParcelle);
labelScenario.setLayout(null);
labelScenario.setText("Nouveau Scenario:");
labelScenario.setVisible(true);
labelScenario.setForeground(new java.awt.Color(0, 51, 153));
labelScenario.setPreferredSize(new java.awt.Dimension(128, 20));
labelScenario.setBounds(new java.awt.Rectangle(24, 170, 128, 20));
panelFond.add(labelScenario);
fieldNom.setVisible(true);
fieldNom.setForeground(new java.awt.Color(0, 51, 153));
fieldNom.setPreferredSize(new java.awt.Dimension(162, 20));
fieldNom.setBounds(new java.awt.Rectangle(255, 205, 162, 20));
panelFond.add(fieldNom);
labelDate.setLayout(null);
labelDate.setText("Date d'observation:");
labelDate.setVisible(true);
labelDate.setForeground(new java.awt.Color(0, 51, 153));
labelDate.setPreferredSize(new java.awt.Dimension(128, 20));
labelDate.setBounds(new java.awt.Rectangle(71, 235, 128, 20));
panelFond.add(labelDate);
fieldDate.setVisible(true);
fieldDate.setForeground(new java.awt.Color(0, 51, 153));
fieldDate.setPreferredSize(new java.awt.Dimension(162, 20));
fieldDate.setBounds(new java.awt.Rectangle(255, 235, 162, 20));
panelFond.add(fieldDate);
labelStade.setLayout(null);
labelStade.setText("Stade du blé:");
labelStade.setVisible(true);
labelStade.setForeground(new java.awt.Color(0, 51, 153));
labelStade.setPreferredSize(new java.awt.Dimension(128, 20));
labelStade.setBounds(new java.awt.Rectangle(71, 265, 128, 20));
panelFond.add(labelStade);
fieldStade.setVisible(true);
fieldStade.setForeground(new java.awt.Color(0, 51, 153));
fieldStade.setPreferredSize(new java.awt.Dimension(162, 20));
fieldStade.setBounds(new java.awt.Rectangle(255, 265, 162, 20));
panelFond.add(fieldStade);
labelPourcentage.setLayout(null);
labelPourcentage.setText("Pourcentage d'épis attaqués");
labelPourcentage.setVisible(true);
labelPourcentage.setForeground(new java.awt.Color(0, 51, 153));
labelPourcentage.setPreferredSize(new java.awt.Dimension(175, 20));
labelPourcentage.setBounds(
new java.awt.Rectangle(71, 355, 175, 20));
panelFond.add(labelPourcentage);
fieldPourcentage.setVisible(true);
fieldPourcentage.setForeground(new java.awt.Color(0, 51, 153));
fieldPourcentage.setPreferredSize(new java.awt.Dimension(162, 20));
fieldPourcentage.setBounds(
new java.awt.Rectangle(255, 355, 162, 20));
panelFond.add(fieldPourcentage);
labelNbPucerons.setLayout(null);
labelNbPucerons.setText("Nombre de pucerons par épis:");
labelNbPucerons.setVisible(true);
labelNbPucerons.setForeground(new java.awt.Color(0, 51, 153));
labelNbPucerons.setPreferredSize(new java.awt.Dimension(175, 20));
labelNbPucerons.setBounds(new java.awt.Rectangle(71, 295, 175, 20));
panelFond.add(labelNbPucerons);
labelOu.setLayout(null);
labelOu.setText("ou");
labelOu.setVisible(true);
labelOu.setForeground(new java.awt.Color(0, 51, 153));
labelOu.setPreferredSize(new java.awt.Dimension(175, 20));
labelOu.setBounds(new java.awt.Rectangle(71, 325, 175, 20));
panelFond.add(labelOu);
jTextField2.setVisible(true);
jTextField2.setForeground(new java.awt.Color(0, 51, 153));
jTextField2.setPreferredSize(new java.awt.Dimension(162, 20));
jTextField2.setBounds(new java.awt.Rectangle(255, 296, 162, 20));
panelFond.add(jTextField2);
boutonFinir.setText("Finir");
boutonFinir.setVisible(true);
boutonFinir.setBackground(new java.awt.Color(229, 229, 229));
boutonFinir.setForeground(new java.awt.Color(0, 51, 153));
boutonFinir.setPreferredSize(new java.awt.Dimension(162, 20));
boutonFinir.setOpaque(false);
boutonFinir.setBounds(new java.awt.Rectangle(500, 385, 162, 20));
panelFond.add(boutonFinir);

postInitGUI();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* Add your pre-init code in here
*/
public void preInitGUI() {
}
/**
* Add your post-init code in here
*/
public void postInitGUI() {
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
}

public void actionPerformed(ActionEvent evt)
{
Object source = evt.getSource();
if(source == boutonFinir)
parent.resultats();

}

}
mercredi 4 février 2004 à 10:14:38 | Re : JApplet et JPanel

jtmarin


Nb: il y a deux ou trois commentaires qui correspondent a une version dépréciée où le paneau etait une applet independante.
mercredi 4 février 2004 à 21:43:08 | Re : JApplet et JPanel

jtmarin


Désolé, apparament c'est en fait un probmème de repaint.
En effet ayant mis un repaint() jai cru que c'était suffisant et avec la fatigue je n'ai pas pensé à forcer la fenêtre à se repeindre en changeant la dimension par ex.
mercredi 4 février 2004 à 21:52:33 | Re : JApplet et JPanel

jtmarin


Pour l'instant j'ai mis un très bourrin:

this.setSize(new java.awt.Dimension(800,599));
this.setSize(new java.awt.Dimension(800,600));

en attendant de trouver mieux. Je ne sais pas quelles sont les autres méthodes que repaint() pour forcer une JApplet à se repeindre, j'ai regardé la doc de l'API mais je n'ai pas trouvé.
jeudi 5 février 2004 à 14:29:42 | Re : JApplet et JPanel

arN34

je ne suis pas très fort en Applet, désolé. Mais si ta méthode marche, laisse couler, un jour peut-être tu trouveras une solution en cherchant tout autre chose (vaut mieux pas rester bloqué sur un problème trop longtemps, on tourne souvent en rond).

A+

arN34
vendredi 16 avril 2004 à 10:43:31 | Re : JApplet et JPanel

Taquilla

Lu

Après l'ajout ou la supression d'un JPanel(ou un Component), il faut utiliser la méthode updateUI() de ton JPanel (ou de ton Component)

a+


Cette discussion est classée dans : java, public, import, awt, panneauscenario1


Répondre à ce message

Sujets en rapport avec ce message

Gros pb avec JApplet et JPanel [ par jtmarin ] Help, J'ai un gros pb que je ne comprend pas du tout avec JApplet.En gros, si j'ajoute le JPanel au moment de la méthode init(), pas de problème mais Impression du contenu d'un JTextArea sur plusieurs pages [ par criche ] Voici un programme qui me permet d'imprimer le contenu d'un JtextArea.Il est composé du programme essaiJtextArea.java, qui appelle la classe JTextArea récuperer touche clavier KeyListener [ par ivanohe5 ] salut tlm Mon but est de récuperer les touche clavier tapées par l'utilisateur aprés que mon prog soit lancé ma source: import java.awt.Component; Creation d'un composant [ par lagaman ] bonjour,Dans l'optique de réutiliser du codes je voudrai créer un composant.Mon but et de créer un composant qui envoie un event : actionevent.Ci dess Problème avec getImage() [ par Akamaru88 ] Bonjour,J'ai beaucoup hésité avant de poster ce message mais je pense avoir cherché partout (y compris sur http://java.sun.com/javase/6/docs/api/ ) et Problème dans la programmation de l'impression d'une jFrame [ par beberto56 ] Bonjour,je suis dans la dernière phase de la programmation de mon formulaire et je suis en plein dans la programmation de ma classe d'impression hors java [ par nanouwa ] salut à tout le monde j'ai un code avec lequel je veux quand on met le flèche de souris sur une partie d'une image une information s'affiche ce qu'on java [ par hanano02 ] merci d'avance. je vous souhaite de vous m'aider pour corrige ce probleme c'est de faire associer les evenements aux bouton lancer et arrter un Thread Bouton rond [ par momjunior ] Bonjour, J'ai la classe suivante qui permet de créer un bouton rond avec une image au-dessus: [code=java]import java.awt.Color; import java.awt.Grad les packages [ par hanen8989 ] [color=purple]Salut mes amis[/color], j'ai besoin d'utiliser dans un code java les imports suivantes: [color=green]import javax.swing.JPanel; import


Nos sponsors


Appels d'offres

Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,764 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales