Sos probleme avec drawline [Résolu]

fatimazahrazaidi
Messages postés
29
Date d'inscription
samedi 12 mai 2007
Dernière intervention
19 décembre 2009
- 11 avril 2008 à 00:54 - Dernière réponse : fatimazahrazaidi
Messages postés
29
Date d'inscription
samedi 12 mai 2007
Dernière intervention
19 décembre 2009
- 11 avril 2008 à 15:49
salut,



s il vous plait je veux savoir pourqoi la ligne ne s affiche pas lorsque je click sur tracer?
 voici le code et merci .

public
class Map1
extends JFrame{
private

static
final
long
serialVersionUID = 1L;
protected

static
final Graphics2D
Graphics2D =
null;
public

static MapPane
mapPane;
protected

BufferedImage
image;
protected

JSlider
curseur =
new JSlider(JSlider.
VERTICAL , 0, 0, 0);

public Map1()
throws Exception {setSize( 500, 500 );

setTitle(

"Dessine un graph" );getContentPane().setLayout(

new BorderLayout() );

image = ImageIO.read(
new File(
"hotel1.gif"));

mapPane =
new MapPane(
image);setLayout(

new BorderLayout());add(

new JScrollPane(
mapPane ), BorderLayout.
CENTER);}
private

static
class MapPane
extends JPanel {
private

static
final
long
serialVersionUID = 1L;
private

BufferedImage
image;
public

MapPane(BufferedImage image) {
super

();setImage(image);

}

private

void ResetSize() {
int

width = 0;
int

height = 0;
if

(image !null ) {width +

image.getWidth() ;height +=

image.getHeight();}

Dimension size =

new Dimension(width, height);setSize(size);

setMinimumSize(size);

setPreferredSize(size);

}

public

void setImage(BufferedImage image) {
this

.
image = image;ResetSize();

repaint();

}

public

BufferedImage getImage() {
return

image;}

public

void paintComponent(Graphics graphics) {

super.paintComponent(graphics);

final Graphics2D g2d = (Graphics2D) graphics;

if (image ! <gras>null) {Insets insets</gras> getInsets();

Dimension size = getSize();

int panelWidth = size.
width - (insets.
left + insets.
right);

int panelHeight = size.
height - (insets.
top + insets.
bottom);

int scaledImageWidth =
image.getWidth();

int scaledImageHeight =
image.getHeight();

int x = (panelWidth - scaledImageWidth) / 2;

int y = (panelHeight - scaledImageHeight) / 2;g2d.drawImage(

image, x, y, scaledImageWidth, scaledImageHeight,
null );JScrollPane PETITsclp =

new JScrollPane();PETITsclp.setPreferredSize(

new Dimension( 200, 0 ) );

mapPane .setLayout(
new BorderLayout() );

mapPane.add(PETITsclp, BorderLayout.
WEST);Choice choix1 =

new Choice();choix1.add(

"A");Choice choix2 =

new Choice();choix2.add(

"B");JPanel panel =

new JPanel(
new BorderLayout());panel.add(choix1, BorderLayout.

NORTH );panel.add(choix2, BorderLayout.

CENTER);PETITsclp.getViewport().add(panel);

JButton btn =

new JButton(
"tracer" );

mapPane.add(btn);

mapPane
.add( btn, BorderLayout.PAGE_END
);btn.addActionListener(

new
ActionListener() {

public
void
actionPerformed(ActionEvent e) {g2d.drawLine(200,100, 500, 400);

}});

}}}

public

static
void main(String[] args)
throws Exception{

new Map1().setVisible(
true );}}

merci en une fois

 

 

 

 
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
tlaloctzin
Messages postés
136
Date d'inscription
mercredi 21 juin 2006
Dernière intervention
12 septembre 2013
- 11 avril 2008 à 12:54
3
Merci
Salut , par hazard t as essayé de faire un g2d.updateUI() ?

Il vaut mieu être riche et en bonne santé que pauvre et malade .

Merci tlaloctzin 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de tlaloctzin
Meilleure réponse
fatimazahrazaidi
Messages postés
29
Date d'inscription
samedi 12 mai 2007
Dernière intervention
19 décembre 2009
- 11 avril 2008 à 13:47
3
Merci
salut,
ou je peux mettre g2d.update() dans mon code .

Merci fatimazahrazaidi 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de fatimazahrazaidi
Meilleure réponse
tlaloctzin
Messages postés
136
Date d'inscription
mercredi 21 juin 2006
Dernière intervention
12 septembre 2013
- 11 avril 2008 à 14:26
3
Merci
mapPane.add( btn, BorderLayout.PAGE_END);



btn.addActionListener(




new

ActionListener() {






public





void




actionPerformed(ActionEvent e) {

g2d.drawLine(200,100, 500, 400);

g2d.updateUI();









}});









Il vaut mieu être riche et en bonne santé que pauvre et malade .

Merci tlaloctzin 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de tlaloctzin
Meilleure réponse
fatimazahrazaidi
Messages postés
29
Date d'inscription
samedi 12 mai 2007
Dernière intervention
19 décembre 2009
- 11 avril 2008 à 14:52
3
Merci
ca marche pas il me donne l erreur suivante




Exception in thread "AWT-EventQueue-0" java.lang.Error: Unresolved compilation problem:


The method updateUI() is undefined for the type Graphics2D

Merci fatimazahrazaidi 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de fatimazahrazaidi
Meilleure réponse
tlaloctzin
Messages postés
136
Date d'inscription
mercredi 21 juin 2006
Dernière intervention
12 septembre 2013
- 11 avril 2008 à 14:55
3
Merci
peut etre super.update(g2d);

Il vaut mieu être riche et en bonne santé que pauvre et malade .

Merci tlaloctzin 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de tlaloctzin
Meilleure réponse
fatimazahrazaidi
Messages postés
29
Date d'inscription
samedi 12 mai 2007
Dernière intervention
19 décembre 2009
- 11 avril 2008 à 15:10
3
Merci
toujour le meme problem

Merci fatimazahrazaidi 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de fatimazahrazaidi
Meilleure réponse
fatimazahrazaidi
Messages postés
29
Date d'inscription
samedi 12 mai 2007
Dernière intervention
19 décembre 2009
- 11 avril 2008 à 15:41
3
Merci
alor pas de solution

Merci fatimazahrazaidi 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de fatimazahrazaidi
Meilleure réponse
fatimazahrazaidi
Messages postés
29
Date d'inscription
samedi 12 mai 2007
Dernière intervention
19 décembre 2009
- 11 avril 2008 à 15:49
3
Merci
voici le code aidez moi svp

import




java.awt.*;



import

java.awt.event.ActionEvent;



import

java.awt.event.ActionListener;



import

java.awt.image.*;



import

java.io.*;



import

javax.swing.*;



import

javax.imageio.*;



public





class

Map1


extends

JFrame{



private





static





final





long





serialVersionUID

= 1L;



protected





static





final

Graphics2D


Graphics2D

=


null

;



public





static

MapPane


mapPane

;



protected

BufferedImage

image
;



protected

JSlider

curseur
=


new

JSlider(JSlider.


VERTICAL

, 0, 0, 0);



public

Map1()


throws

Exception {
setSize( 500, 500 );
setTitle(

"Dessine un graph"
);
getContentPane().setLayout(


new

BorderLayout() );


image
= ImageIO. read (


new

File(

"hotel1.gif"
));



mapPane

=


new

MapPane(

image
);
setLayout(


new

BorderLayout());
add(


new

JScrollPane(


mapPane

), BorderLayout.


CENTER

);}



private





static





class

MapPane


extends

JPanel {



private





static





final





long





serialVersionUID

= 1L;



private

BufferedImage

image
;



public

MapPane(BufferedImage image) {



super

();
setImage(image);
}



private





void

ResetSize() {



int

width = 0;



int

height = 0;



if

(

image
!=


null

) {
width +=

image
.getWidth() ;
height +=

image
.getHeight();
}
Dimension size =


new

Dimension(width, height);
setSize(size);
setMinimumSize(size);
setPreferredSize(size);
}



public





void

setImage(BufferedImage image) {



this

.

image
= image;
ResetSize();
repaint();}



public

BufferedImage getImage() {



return




image
;
}



public





void

paintComponent(Graphics graphics) {



super

.paintComponent(graphics);



final

Graphics2D g2d = (Graphics2D) graphics;



if

(

image
!=


null

) {
Insets insets = getInsets();
Dimension size = getSize();



int

panelWidth = size.

width
- (insets.

left
+ insets.

right
);



int

panelHeight = size.

height
- (insets.

top
+ insets.

bottom
);



int

scaledImageWidth =

image
.getWidth();



int

scaledImageHeight =

image
.getHeight();



int

x = (panelWidth - scaledImageWidth) / 2;



int

y = (panelHeight - scaledImageHeight) / 2;
g2d.drawImage(

image
, x, y, scaledImageWidth, scaledImageHeight,


null

);
JScrollPane PETITsclp =


new

JScrollPane();
PETITsclp.setPreferredSize(


new

Dimension( 200, 0 ) );



mapPane

.setLayout(


new

BorderLayout() );



mapPane

.add(PETITsclp, BorderLayout.


WEST

);



final

Choice choix1=


new

Choice();
choix1.add(

"A"
);



final

Choice choix2=


new

Choice();
choix2.add(

"B"
);
JPanel panel =


new

JPanel(


new

BorderLayout());
panel.add(choix1, BorderLayout.


NORTH

);
panel.add(choix2, BorderLayout.


CENTER

);
PETITsclp.getViewport().add(panel);
JButton btn =


new

JButton(

"tracer"
);



mapPane

.add(btn);



mapPane

.add( btn, BorderLayout.


PAGE_END

);
btn.addActionListener(


new

ActionListener() {



public





void

actionPerformed(ActionEvent e) {
g2d.drawLine(200,100, 500, 400);
g2d.updateUI();

}});
}}}



public





static





void

main(String[] args)


throws

Exception
{


new

Map1().setVisible(


true

);}}

 

 

 

 

 

Merci fatimazahrazaidi 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de fatimazahrazaidi

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.