Sos probleme avec drawline

Résolu
Signaler
Messages postés
29
Date d'inscription
samedi 12 mai 2007
Statut
Membre
Dernière intervention
19 décembre 2009
-
Messages postés
29
Date d'inscription
samedi 12 mai 2007
Statut
Membre
Dernière intervention
19 décembre 2009
-
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

 

 

 

 
A voir également:

8 réponses

Messages postés
136
Date d'inscription
mercredi 21 juin 2006
Statut
Membre
Dernière intervention
12 septembre 2013
3
Salut , par hazard t as essayé de faire un g2d.updateUI() ?

Il vaut mieu être riche et en bonne santé que pauvre et malade .
Messages postés
29
Date d'inscription
samedi 12 mai 2007
Statut
Membre
Dernière intervention
19 décembre 2009
2
salut,
ou je peux mettre g2d.update() dans mon code .
Messages postés
136
Date d'inscription
mercredi 21 juin 2006
Statut
Membre
Dernière intervention
12 septembre 2013
3
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 .
Messages postés
29
Date d'inscription
samedi 12 mai 2007
Statut
Membre
Dernière intervention
19 décembre 2009
2
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
Messages postés
136
Date d'inscription
mercredi 21 juin 2006
Statut
Membre
Dernière intervention
12 septembre 2013
3
peut etre super.update(g2d);

Il vaut mieu être riche et en bonne santé que pauvre et malade .
Messages postés
29
Date d'inscription
samedi 12 mai 2007
Statut
Membre
Dernière intervention
19 décembre 2009
2
toujour le meme problem
Messages postés
29
Date d'inscription
samedi 12 mai 2007
Statut
Membre
Dernière intervention
19 décembre 2009
2
alor pas de solution
Messages postés
29
Date d'inscription
samedi 12 mai 2007
Statut
Membre
Dernière intervention
19 décembre 2009
2
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

);}}