[JAVA] probleme avec Applet

____22 Messages postés 101 Statut Membre -  
____22 Messages postés 101 Statut Membre -
Bonjour,

J'ai fait une applet
mais ça ne trace pas bien
j'ai mis des reapint() un epu partout
j'ai essayé de mettre la méthode update() mais ça y change rien
que faut-il faire SVP?

capt d'ecran
http://img227.imageshack.us/img227/1296/appletwl2.gif

A voir également:

2 réponses

pascal.barbier Messages postés 34 Statut Membre 6
 
Le problème vient du Panel dans lequel tu dessine
As tu invoqué super.paint(g) avant de faire ton drawLine dans la méthode paint ?

Sinon tu peux nous envoyer le code qu'on regarde
0
____22 Messages postés 101 Statut Membre 1
 
j'ai essayé avec super.paint(), ça marche pas

j'envoie le code
je pense que le probleme vient que je trace les fleches direct sur le content pane de mon applet

il manque la classe somet mais pas important
merci de votre aide
[code]
public class graphe extends JApplet implements MouseListener,ActionListener{

static somet[] tab;
static int nb_sommets=0;

static int sometselect=-1;

static boolean creationarc,supprimerarc=false;
static int dep,arr;//pour creer ou supprimer des arcs

Component compselect=null;
JMenuBar mbar;
JPopupMenu popupsomet;
JPopupMenu popupgraphe;

protected JTextField textfield;
protected int xCurseur;

protected int yCurseur;

public void init(){

tab=new somet[100];
setBackground(Color.white);
setName("fond");
setLayout(null);
setSize(600,600);
setVisible(true);
addMouseListener(this);

mbar = new JMenuBar();
popupsomet = new JPopupMenu("?");popupsomet.setBorderPainted(true);popupsomet.setBackground(Color.red);popupsomet.setOpaque(true);
popupgraphe = new JPopupMenu("??");popupgraphe.setBackground(Color.gray);popupgraphe.setOpaque(true);
textfield = new JTextField(30);
//JScrollPane jsPane = new JScrollPane(textfield);

mbar.add (makeMenuItem ("Creer nouveau sommet?") );
mbar.add (makeMenuItem ("effacer tout?") );
mbar.add(textfield);

popupsomet.add (makeMenuItem ("Renommer") );
popupsomet.add (makeMenuItem ("creer un arc partant de ce somet?") );
popupsomet.add (makeMenuItem ("Supprimer ce sommet") );
popupsomet.add (makeMenuItem ("Supprimer un arc partant de ce sommet") );
popupgraphe.add(makeMenuItem ("Creer nouveau sommet?") );

setJMenuBar(mbar);

}

private JMenuItem makeMenuItem (String s) {
JMenuItem item = new JMenuItem (s);
item.addActionListener ( this );
return item;
}

public void saisie_suc(int dep, int arr, int cout) {
int i = 0;
//int k = this.rech_indice(dep);
while (tab[dep].liste_succ[i][0] >=0) {
i = i + 1;
}
tab[dep].liste_succ[i][0] = arr;
tab[dep].liste_succ[i][1] = cout;
}
public void paint(Graphics g){

for (int i = 0; i < nb_sommets; i++) {
if (tab[i]!= null) {
int j = 0;
while (tab[i].liste_succ[j][0] >=0) {
//String s = tab[i].acces_liste_succ()[j][0];
//int k = this.rech_indice(s);
this.drawArrow(tab[i].getX() +25, tab[i].getY() +25,
tab[tab[i].liste_succ[j][0]].getX()+25 , tab[tab[i].liste_succ[j][0]].getY()+25 , g);
j = j + 1;
}
}
}
}

public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub
}

public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub
}

public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub
}
public void mousePressed(MouseEvent e){
xCurseur=e.getX();
yCurseur=e.getY();
if(e.getButton()==MouseEvent.BUTTON3 ){
popupgraphe.setVisible(true);
popupgraphe.show (e.getComponent(), e.getX (), e.getY ());
}
}

public void mousePressed2(MouseEvent e) {
compselect=e.getComponent();

if(e.getComponent().getClass().getName().equals("somet")){
sometselect=((somet) e.getComponent()).indice;
System.out.println(((somet)e.getComponent()).indice);
}
System.out.println(e.getComponent().getName());
if(e.getButton()==MouseEvent.BUTTON3 ){
popupsomet.setVisible(true);
popupsomet.show (e.getComponent(), e.getX (), e.getY ());
}

if (creationarc){
String cout = JOptionPane.showInputDialog("quel coût?","0");
int cc=0;
try{
cc=Integer.parseInt(cout);
}catch( NumberFormatException nfe){
textfield.setText("entrez un coût entier svp..");
}
saisie_suc(dep,sometselect,cc);
creationarc=false;
}
if (supprimerarc){
tab[dep].liste_succ[sometselect][0]=-1;
tab[dep].liste_succ[sometselect][1]=-1;
supprimerarc=false;
}
repaint();
}

public void mouseReleased(MouseEvent e) {
}

public void actionPerformed(ActionEvent e) {

}
}

[/code]
0