Afficher la position du curseur

Résolu
fatimazahrazaidi Messages postés 29 Date d'inscription samedi 12 mai 2007 Statut Membre Dernière intervention 19 décembre 2009 - 15 mars 2008 à 23:59
fatimazahrazaidi Messages postés 29 Date d'inscription samedi 12 mai 2007 Statut Membre Dernière intervention 19 décembre 2009 - 5 avril 2008 à 18:57
salut,
je cherche a determiner la position du curseur sur une image une fois que je click sur une position le curseur reste tjr a sa place et les coordonées afichés ne se change pas
voici mon programme
public class Map extends JFrame{

private static final long serialVersionUID = 1L;
protected MapPane mapPane;
protected BufferedImage image;

protected JSlider curseur = new JSlider(JSlider.VERTICAL, 1, 3, 1);
static int xpos;
static int ypos;
boolean mouseEntered;
boolean rect1Clicked;
public void mouseClicked (MouseEvent me)
{
xpos = me.getX();
ypos = me.getY();
repaint();
}

public void mousePressed (MouseEvent me) {}

public void mouseReleased (MouseEvent me) {}

public void mouseEntered (MouseEvent me) {
mouseEntered = true;

repaint();
}
public void mouseExited (MouseEvent me) {
mouseEntered = false;
repaint();
}

public Map() throws Exception {
image = ImageIO.read(new File("hotel.gif"));
mapPane = new MapPane(image);
setLayout(new BorderLayout());
add(new JScrollPane(mapPane), BorderLayout.CENTER);

}

public static void main(String ...args) {
try {
Map map = new Map();
map.setSize(400, 400);
map.setTitle("Test");
map.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
map.setVisible(true);

}
catch (Exception e) {
e.printStackTrace();
}

}

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;
}

@Override
public void paint(Graphics graphics) {

super.paint(graphics);
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);
g2d.setColor(Color.red);
g2d.drawString("("+xpos+","+ypos+")",xpos,ypos);
g2d.drawRect(xpos, ypos, 10, 10);
}

}

}
}

merci

17 réponses

uhrand Messages postés 491 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 15 juillet 2012 9
26 mars 2008 à 23:24
Ton code fonctionne chez moi.
3
fatimazahrazaidi Messages postés 29 Date d'inscription samedi 12 mai 2007 Statut Membre Dernière intervention 19 décembre 2009 2
30 mars 2008 à 19:01
salut,
oui mais lorsque j execute le programme et j appuis sur tracer le chemin le map ne s affiche pas
3
uhrand Messages postés 491 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 15 juillet 2012 9
30 mars 2008 à 19:36
Ton progamme contient la remarque "//tracer la route n est pas encor fait". Alors il suffit de le faire . Ou dois-je le faire moi-même pour toi
3
fatimazahrazaidi Messages postés 29 Date d'inscription samedi 12 mai 2007 Statut Membre Dernière intervention 19 décembre 2009 2
30 mars 2008 à 22:32
si vous le faite ca me fait boucoup de plaisir :d
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
uhrand Messages postés 491 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 15 juillet 2012 9
31 mars 2008 à 09:28
>
si vous le faite ca me fait boucoup de plaisir

Sans ton aide, je ne peus pas. Le commentaire n'est pas convertible en code. Il faut du code.
3
fatimazahrazaidi Messages postés 29 Date d'inscription samedi 12 mai 2007 Statut Membre Dernière intervention 19 décembre 2009 2
31 mars 2008 à 14:44
bjr,
d'accord mais vous allez m aider quand meme je le sais bien
alors je vais remplir un fichier access par les coordonnés de la carte  et puis je vous informerais de l etape suivante pour que vous valider mon travail,d accord
3
uhrand Messages postés 491 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 15 juillet 2012 9
31 mars 2008 à 14:52
> vous allez m aider quand meme je le sais bien
Il me semble que tu as consulté ta boule de cristal 
3
fatimazahrazaidi Messages postés 29 Date d'inscription samedi 12 mai 2007 Statut Membre Dernière intervention 19 décembre 2009 2
5 avril 2008 à 12:09
salut,
voila ce que jai arrivé a realiser pour remplir la table des coordonées de la carte
mais j ai rencontré un certain problemes:
1-quand je clicke sur la droite de la sourie il s affiche  "enregistrer" mais il se duplique a chaque je reclick.
2-comment je peux faire pour fermer FrmChart sans fermer le map lorsque je clicke sur tracer le chemin .
3-
[Microsoft][Pilote ODBC Microsoft Access] Erreur de syntaxe dans l'instruction INSERT INTO.
la fonction d insertion ne s effectue pas .
aidez moi de resoudres ces problem svp et merci
voici le programme

public
class Map
extends JFrame
implements MouseListener {
private

static
final
long
serialVersionUID = 1L;
protected

MapPane
mapPane;
protected

BufferedImage
image;
protected

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

static
int
xpos;

static
int
ypos;
boolean

mouseEntered;
boolean

rect1Clicked; JPopupMenu

popup =
new JPopupMenu(
"enregistrer"); enregistrer

mEnregistrer;

public

void mouseClicked (MouseEvent me) {

if (SwingUtilities.isRightMouseButton(me)){

mEnregistrer=
new enregistrer();

popup.show(me.getComponent(),me.getX(), me.getY());

popup.add(
mEnregistrer);}

xpos = me.getX();

ypos = me.getY();

repaint();

}

public

void mousePressed (MouseEvent me) {}

public

void mouseReleased (MouseEvent me) {}

public

void mouseEntered (MouseEvent me) {

mouseEntered =
true;

repaint();

}

public

void mouseExited (MouseEvent me) {

mouseEntered =
false ; repaint();

}

class

enregistrer
extends AbstractAction{

private
static
final
long
serialVersionUID = 1L;enregistrer (){

super(
"enregistrer");}

public
void actionPerformed(ActionEvent e) {JFrame f =

new JFrame(
"ma fenetre");f.setSize(150, 100);
JPanel pannel <gras>new JPanel();JTextField testField1</gras>

new JTextField (
" ");pannel.add(testField1);

JButton bouton =

new JButton((
"enter"));pannel.add(bouton);

f.getContentPane().add(pannel);

f.setVisible(

true);

final String text = testField1.getText();

bouton.addActionListener(

new ActionListener() {

public
void actionPerformed(ActionEvent e) {

//ConnBaseDonnée lieu =new ConnBaseDonnée();

try {Class. forName (

"sun.jdbc.odbc.JdbcOdbcDriver"); }

catch (Exception E) {System.

err.println(
"Pas de pilote !");}

try{String URL =

"jdbc:odbc:bd";Connection conn= DriverManager. getConnection (URL,

"",
"");Statement st = conn.createStatement();

st.executeUpdate(

"INSERT INTO lieu (nom_lieu,x_lieu,y_lieu) VALUES("+text+
","+
xpos+
","+
ypos+
");" );System.

out.println(
" ligne insérée");

//while(rs.next()){

// System.out.println("nom:"+rs.getString(2)+" x:"+rs.getInt(3)+" y:"+rs.getInt(4));

//}

//rs.close();st.close();

conn.close();

}

catch (SQLException e1){System.

err.println(e1.getMessage());}}});

}}

public

void keyPressed(KeyEvent arg0) {}
public

void keyReleased(KeyEvent arg0) {}
public

void keyTyped(KeyEvent arg0) {}
public

Map()
throws Exception {
image

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

=
new MapPane(
image);
mapPane

.addMouseListener(
this);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;}

@Override

public

void paintComponent(Graphics graphics) {

super

.paintComponent(graphics);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 );g2d.setColor(Color.

YELLOW );g2d.drawString(

"("+
xpos+
","+
ypos+
")",
xpos,
ypos); g2d.drawRect(

xpos,
ypos, 10, 10);

}}}}
et la deuxieme classe



public

class FrmChart
extends JFrame{

private
static
final
long
serialVersionUID = 1L;

public FrmChart(){

super();ImageIcon icone =

new ImageIcon(
"fes.gif");setSize( 300, 250 );

setTitle(

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

new BorderLayout() );Choice choix1 =

new Choice();choix1.addItem(

" depart ");choix1.addItem(

"h.cheraton");choix1.addItem(

"h.al Sayrawane");choix1.addItem(

"h.de la paix");getContentPane().add( choix1, BorderLayout.

WEST );Choice choix2 =

new Choice();choix2.addItem(

" arrivé ");choix2.addItem(

"h.cheraton");choix2.addItem(

"h.al Sayrawane");choix2.addItem(

"h.de la paix");choix2.addItem(

"h.Menzah Zalakh");choix2.addItem(

"h.Royal");choix2.addItem(

"h.Jawhara Zalakh");choix2.addItem(

"h.Sofia");choix2.addItem(

"h.Olympique");choix2.addItem(

"h.taghat");choix2.addItem(

"Grand hotel");choix2.addItem(

"h.Splandid");choix2.addItem(

"h.Mounia");choix2.addItem(

"h.Volubilis");choix2.addItem(

"h.jnan fes");choix2.addItem(

"h.taghat");choix2.addItem(

"h.Lamdaghri");getContentPane().add( choix2, BorderLayout.
EAST );JPanel pnl <gras>new JPanel();JLabel jLabel2</gras>

new JLabel(icone);pnl.add(jLabel2);

getContentPane().add( pnl, BorderLayout.

AFTER_LAST_LINE );pnl.setLayout(

new BorderLayout() );JButton btn =

new JButton(
"tracer le chemin" );pnl.add( btn, BorderLayout.

SOUTH);btn.addActionListener(

new ActionListener() {

public
void actionPerformed(ActionEvent e) {

try {Map map =

new Map();map.setSize(400, 400);

map.setTitle(

"Map");map.setDefaultCloseOperation(JFrame.

EXIT_ON_CLOSE);map.setVisible(

true); }

catch (Exception e1) {} }}

);

addWindowListener(

new WindowAdapter() {

public
void windowClosing(WindowEvent e) { System.exit( 0 ); } } );

}

public
static
void main(String... args) {

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

 
3
uhrand Messages postés 491 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 15 juillet 2012 9
5 avril 2008 à 18:11
pourqoi

tu

met

seulement

un

mot

sur

chaque

ligne

et

une

ligne

vide

?

?

?
3
uhrand Messages postés 491 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 15 juillet 2012 9
16 mars 2008 à 14:40
package demo;
/*
 * Map.java
 */

import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import java.io.*;
import javax.imageio.*;
import javax.swing.*;

public class Map extends JFrame implements MouseListener {//<-------------------------------------------
...
    public Map() throws Exception {
        image = ImageIO.read(new File("c:\\img1.gif"));
        mapPane = new MapPane(image);
        mapPane.addMouseListener(this);//<-----------------------------------------------------------------
        setLayout(new BorderLayout());
        add(new JScrollPane(mapPane), BorderLayout.CENTER);
    }
...
    private static class MapPane extends JPanel {
...
        @Override
        public void paintComponent(Graphics graphics) {//<------------------------------------------------
            super.paintComponent(graphics);//<----------------------------------------------------------
            Graphics2D g2d = (Graphics2D) graphics;
            if (image != null) {
                Insets insets = getInsets();
                Dimension size = getSize();
...
1
fatimazahrazaidi Messages postés 29 Date d'inscription samedi 12 mai 2007 Statut Membre Dernière intervention 19 décembre 2009 2
16 mars 2008 à 23:37
salut ,

merci le programme ca marche bien c tres gentille de votre part
1
fatimazahrazaidi Messages postés 29 Date d'inscription samedi 12 mai 2007 Statut Membre Dernière intervention 19 décembre 2009 2
26 mars 2008 à 17:00
resalut,
jai  fé un petit programme me permet d'afficher la carte lorsque j appuis sur la bouton mais ca marche pas.


voici le programme




import




java.awt.*;



import




java.awt.event.*;



import




javax.swing.*;

 




public








class

FrmChart


extends

JFrame{


/**






*






*/







private





static





final





long





serialVersionUID

= 1L;



public

FrmChart(){



super

();ImageIcon icone =



new

ImageIcon(

"fes.gif"
);setSize( 300, 250 );

setTitle(


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



new

BorderLayout() );Choice choix1=



new

Choice();choix1.addItem(


" depart "
);choix1.addItem(


"h.cheraton"
);choix1.addItem(


"h.al Sayrawane"
);choix1.addItem(


"h.de la paix"
);getContentPane().add( choix1, BorderLayout.



WEST

);Choice choix2=



new

Choice();choix2.addItem(


" arrivé "
);choix2.addItem(


"h.cheraton"
);choix2.addItem(


"h.al Sayrawane"
);choix2.addItem(


"h.de la paix"
);choix2.addItem(


"h.Menzah Zalakh"
);choix2.addItem(


"h.Royal"
);choix2.addItem(


"h.Jawhara Zalakh"
);choix2.addItem(


"h.Sofia"
);choix2.addItem(


"h.Olympique"
);choix2.addItem(


"h.taghat"
);choix2.addItem(


"Grand hotel"
);choix2.addItem(


"h.Splandid"
);choix2.addItem(


"h.Mounia"
);choix2.addItem(


"h.Volubilis"
);choix2.addItem(


"h.jnan fes"
);choix2.addItem(


"h.taghat"
);choix2.addItem(


"h.Lamdaghri"
);getContentPane().add( choix2, BorderLayout.



EAST

);JPanel pnl =



new

JPanel();JLabel jLabel2 =



new

JLabel(icone);pnl.add(jLabel2);

getContentPane().add( pnl, BorderLayout.



AFTER_LAST_LINE

);pnl.setLayout(



new

BorderLayout() );JButton btn =



new

JButton(

"tracer le chemin"
);pnl.add( btn, BorderLayout.



SOUTH

);


// determine l action du bouton (ajoute une ligne)

btn.addActionListener(





new

ActionListener() {


public





void

actionPerformed(ActionEvent e) {



try

{Map map =



new

Map();map.setSize(400, 400);

map.setTitle(


"Map"
);map.setDefaultCloseOperation(JFrame.



EXIT_ON_CLOSE

);map.setVisible(



true

);


//tracer la route n est pas encor fait

}





catch

(Exception e1) {} }}

);

addWindowListener(



new

WindowAdapter() {



public





void

windowClosing(WindowEvent e) { System.exit( 0 ); } } );

}



public





static





void

main(String... args) {



new

FrmChart().setVisible(


true

);}

}

 

merci de me repondre
1
fatimazahrazaidi Messages postés 29 Date d'inscription samedi 12 mai 2007 Statut Membre Dernière intervention 19 décembre 2009 2
31 mars 2008 à 14:41
bjr,
d'accord mais vous allez m aider quand meme je le sais bien
alors je vais remplir un fichier par les coordonnés de la carte et puis je vous informerais de l etape suivante
0
fatimazahrazaidi Messages postés 29 Date d'inscription samedi 12 mai 2007 Statut Membre Dernière intervention 19 décembre 2009 2
5 avril 2008 à 07:48
salut


jai ajouté une bouton droite sur mon programme pour que je puisse enregistrer les coordonées dans une base de donnée, mais lorsque je clique avec la boutn droit deux ou trois fois sur la carte "enregistrer" se duplique
merci de me repondre

voici le programme,



import java.awt.*;







import




java.awt.event.ActionEvent;



import




java.awt.event.KeyEvent;



import




java.awt.event.MouseEvent;



import




java.awt.event.MouseListener;



import




java.awt.image.*;



import




java.io.*;



import




javax.swing.*;



import




javax.imageio.*;



public








class

Map


extends

JFrame


implements

MouseListener {



private








static





final





long





serialVersionUID

= 1L;



protected




MapPane

mapPane
;



protected




BufferedImage

image
;



protected




JSlider

curseur
=


new

JSlider(JSlider.


VERTICAL

, 0, 0, 0);



static





int





xpos

;



static





int





ypos

;



boolean







mouseEntered
;



boolean







rect1Clicked
;



final




JPopupMenu

popup
=


new

JPopupMenu(); enregistrer


mEnregistrer
;




public








void

mouseClicked (MouseEvent me) {



if

(SwingUtilities. isRightMouseButton (me)){


mEnregistrer
=


new

enregistrer();


popup
.show(me.getComponent(), me.getX(), me.getY());


popup
.add(

mEnregistrer
);}



xpos

= me.getX();



ypos

= me.getY();

repaint();

}




public








void

mousePressed (MouseEvent me) {}




public








void

mouseReleased (MouseEvent me) {}




public








void

mouseEntered (MouseEvent me) {


mouseEntered
=


true

;

repaint();

}




public








void

mouseExited (MouseEvent me) {


mouseEntered
=


false

; repaint();

}




class




enregistrer


extends

AbstractAction{


/**






*






*/







private





static





final





long





serialVersionUID

= 1L;enregistrer (){



super

(

"enregistrer"
); }



public





void

actionPerformed(ActionEvent e) {


//connection a une base de donnée




}}






public








void

keyPressed(KeyEvent arg0) {}



public








void

keyReleased(KeyEvent arg0) {}



public








void

keyTyped(KeyEvent arg0) {}

 

 

 

 

 




public




Map()


throws

Exception {


image



= ImageIO. read (


new

File(

"hotel1.gif"
));


mapPane



=


new

MapPane(

image
);


mapPane



.addMouseListener(


this

);setLayout(



new

BorderLayout());add(



new

JScrollPane(

mapPane
), BorderLayout.


CENTER

);

}



/*public static void main(String ...args) {


try {


Map map = new Map();


map.setSize(400, 400);


map.setTitle("Test");


map.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);


map.setVisible(true);













}


catch (Exception e) {


e.printStackTrace();


}










}*/











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
;}



@Override





public








void

paintComponent(Graphics graphics) {




super




.paintComponent(graphics);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

);g2d.setColor(Color.



YELLOW

);g2d.drawString(


"("
+


xpos

+

","
+


ypos

+

")"
,


xpos

,


ypos

); g2d.drawRect(



xpos

,


ypos

, 10, 10);

}

}

 

}

}

 
0
fatimazahrazaidi Messages postés 29 Date d'inscription samedi 12 mai 2007 Statut Membre Dernière intervention 19 décembre 2009 2
5 avril 2008 à 07:52
salut


jai ajouté une bouton droite sur mon programme pour que je puisse enregistrer les coordonées dans une base de donnée, mais lorsque je clique avec le bouton droit deux ou trois fois sur la carte ,"enregistrer" se duplique
merci de me repondre

voici le programme,



import java.awt.*;







import




java.awt.event.ActionEvent;



import




java.awt.event.KeyEvent;



import




java.awt.event.MouseEvent;



import




java.awt.event.MouseListener;



import




java.awt.image.*;



import




java.io.*;



import




javax.swing.*;



import




javax.imageio.*;



public






class
Map extendsJFrame implementsMouseListener {



private






static


final


long


serialVersionUID
= 1L;



protected




MapPane mapPane ;



protected




BufferedImage image ;



protected




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






static


int


xpos
;






static


int


ypos
;



boolean





mouseEntered ;



boolean





rect1Clicked ;



final




JPopupMenu popup = newJPopupMenu();


enregistrer




mEnregistrer ;






public






void
mouseClicked (MouseEvent me)


{











if
(SwingUtilities.isRightMouseButton(me)){





mEnregistrer = new enregistrer();





popup .show(me.getComponent(),


me.getX(), me.getY());










popup .add( mEnregistrer );}












xpos
= me.getX();






ypos
= me.getY();





repaint();




}











public






void
mousePressed (MouseEvent me) {}






public






void
mouseReleased (MouseEvent me) {}






public






void
mouseEntered (MouseEvent me) {





mouseEntered = true ;





repaint();




}





public






void
mouseExited (MouseEvent me) {





mouseEntered = false;


repaint();




}





class




enregistrer extendsAbstractAction{





/**






*






*/







private


static


final


long


serialVersionUID
= 1L;


enregistrer (){











super
( "enregistrer" ); }






public


void
actionPerformed(ActionEvent e) {





//connection a une base de donnée






}}





public






void
keyPressed(KeyEvent arg0) {}



public






void
keyReleased(KeyEvent arg0) {}



public






void
keyTyped(KeyEvent arg0) {}







 





 





 





 





 




public




Map() throws Exception {


image



= ImageIO. read ( newFile( "hotel1.gif" ));


mapPane



= new MapPane( image );


mapPane



.addMouseListener( this);


setLayout(





new
BorderLayout());


add(





new
JScrollPane( mapPane ), BorderLayout. CENTER);





}





/*public static void main(String ...args) {



try {




Map map = new Map();




map.setSize(400, 400);




map.setTitle("Test");




map.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);




map.setVisible(true);


















}



catch (Exception e) {




e.printStackTrace();




}











}*/











private






static


class
MapPane extendsJPanel {






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 ;


}










@Override





public






void
paintComponent(Graphics graphics) {






super




.paintComponent(graphics);


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);


g2d.setColor(Color.





YELLOW
);


g2d.drawString(




"(" + xpos+ "," + ypos+ ")" , xpos, ypos);


g2d.drawRect(





xpos
, ypos, 10, 10);





}










}












 



}




}












 
0
fatimazahrazaidi Messages postés 29 Date d'inscription samedi 12 mai 2007 Statut Membre Dernière intervention 19 décembre 2009 2
5 avril 2008 à 18:48
C est pas moi qui fait ca je fais du copier coller alors qu il s affiche com ca  
dans tout les voici le code bien classé
publicclass Map extends JFrame implements MouseListener {

private staticfinallongserialVersionUID = 1L;

protected
MapPane mapPane;

protected  
BufferedImage image;

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

staticintxpos;
staticintypos;

boolean mouseEntered;

boolean rect1Clicked;

JPopupMenu
popup = new JPopupMenu("enregistrer");

enregistrer
mEnregistrer;

public void mouseClicked (MouseEvent me)
{

if (SwingUtilities.isRightMouseButton(me)){

mEnregistrer= new enregistrer();

popup.show(me.getComponent(),me.getX(), me.getY());

popup.add(mEnregistrer)
;}

xpos = me.getX();

ypos = me.getY();

repaint();
}

public void mousePressed (MouseEvent me) {}

public void mouseReleased (MouseEvent me) {}

public void mouseEntered (MouseEvent me) {

mouseEntered = true;

repaint();
}

public void mouseExited (MouseEvent me) {

mouseEntered = false ;

repaint();
}

class enregistrer extends AbstractAction{

privatestaticfinallong serialVersionUID = 1L;

enregistrer (){

super("enregistrer");
}

publicvoid actionPerformed(ActionEvent e) {

JFrame f =
new JFrame("ma fenetre");

f.setSize(150, 100);

JPanel pannel =
new JPanel();

JTextField testField1 =
new JTextField ("                               ");

pannel.add(testField1);

JButton bouton =
new JButton(("enter"));

pannel.add(bouton);

f.getContentPane().add(pannel);

f.setVisible(
true);

final String text = testField1.getText();

bouton.addActionListener(
new ActionListener() {

publicvoid actionPerformed(ActionEvent e) {

//ConnBaseDonnée lieu =new ConnBaseDonnée();

try {

Class. forName (
"sun.jdbc.odbc.JdbcOdbcDriver");
}

catch (Exception E) {

System.
err.println("Pas de pilote !");
}

try{
String URL =
"jdbc:odbc:bd";

Connection conn= DriverManager. getConnection (URL,
"","");

Statement st = conn.createStatement();

st.executeUpdate("INSERT INTO lieu (nom_lieu,x_lieu,y_lieu) VALUE("+text+","+xpos+","+ypos+");" );

System.
out.println(" ligne insérée");

//while(rs.next()){

// System.out.println("nom:"+rs.getString(2)+" x:"+rs.getInt(3)+" y:"+rs.getInt(4));
//}

//rs.close();

st.close();
conn.close();
}

catch (SQLException e1){
System.
err.println(e1.getMessage());
}}});
}}

public void keyPressed(KeyEvent arg0) {}

public
void keyReleased(KeyEvent arg0) {}

public
void keyTyped(KeyEvent arg0) {}

public
Map() throws Exception {

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

mapPane
= new MapPane(image);

mapPane
.addMouseListener(this);

setLayout(
new BorderLayout());

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

private staticclass MapPane extends JPanel {

private
staticfinallongserialVersionUID = 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);

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 );

g2d.setColor(Color.
YELLOW );

g2d.drawString(
"("+xpos+","+ypos+")",xpos,ypos);

g2d.drawRect(
xpos, ypos, 10, 10);

}}}}
et la deuxieme classe

public
class FrmChart extends JFrame
{

privatestaticfinallongserialVersionUID = 1L;

public FrmChart()
{

super();

ImageIcon icone =

new ImageIcon("fes.gif");

setSize( 300, 250 );

setTitle(
"Dessine un graph" );

getContentPane().setLayout(
new BorderLayout() );

Choice choix1 =
new Choice();

choix1.addItem(
" depart ");
choix1.addItem(
"h.cheraton");

choix1.addItem(
"h.al Sayrawane");

getContentPane().add( choix1, BorderLayout.
WEST );

Choice choix2 =
new Choice();

choix2.addItem(
" arrivé ");

choix2.addItem(
"h.cheraton");

choix2.addItem(
"h.al Sayrawane");

getContentPane().add( choix2, BorderLayout.
EAST );

JPanel pnl =
new JPanel();

JLabel jLabel2 =
new JLabel(icone);

pnl.add(jLabel2);

getContentPane().add( pnl, BorderLayout.
AFTER_LAST_LINE );

pnl.setLayout(
new BorderLayout() );

JButton btn =
new JButton( "tracer le chemin" );

pnl.add( btn, BorderLayout.
SOUTH);

btn.addActionListener(
new ActionListener() {

public void actionPerformed(ActionEvent e) {

try {

Map map =
new Map();

map.setSize(400, 400);

map.setTitle(
"Map");

map.setDefaultCloseOperation(JFrame.
EXIT_ON_CLOSE);

map.setVisible(
true);
}

catch (Exception e1) {}

}}
);

addWindowListener(
new WindowAdapter() {

publicvoid windowClosing(WindowEvent e) {

System.exit( 0 ); } } );

}

publicstaticvoid main(String... args)

{

new FrmChart().setVisible( true );}
}
0
fatimazahrazaidi Messages postés 29 Date d'inscription samedi 12 mai 2007 Statut Membre Dernière intervention 19 décembre 2009 2
5 avril 2008 à 18:57
C est pas moi qui fait ca j ai fais copier coller alors qu il s affiche comme ca dans toi les cas voici le code bien classé et dsl

public

class Map
extends JFrame
implements MouseListener {
private

static
final
long
serialVersionUID = 1L;
protected

MapPane
mapPane;
protected

BufferedImage
image;
protected

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

static
int
xpos;

static
int
ypos;
boolean

mouseEntered;
boolean

rect1Clicked; JPopupMenu

popup =
new JPopupMenu(
"enregistrer"); enregistrer

mEnregistrer;

public

void mouseClicked (MouseEvent me) {

if (SwingUtilities.isRightMouseButton(me)){

mEnregistrer=
new enregistrer();

popup.show(me.getComponent(),me.getX(), me.getY());

popup.add(
mEnregistrer);}

xpos = me.getX();

ypos = me.getY();

repaint(); }

public

void mousePressed (MouseEvent me) {}

public

void mouseReleased (MouseEvent me) {}

public

void mouseEntered (MouseEvent me) {

mouseEntered =
true;

repaint();

}

public

void mouseExited (MouseEvent me) {

mouseEntered =
false ; repaint(); }

class

enregistrer
extends AbstractAction{

private
static
final
long
serialVersionUID = 1L;enregistrer (){

super(
"enregistrer");} 

public
void actionPerformed(ActionEvent e) {JFrame f =

new JFrame(
"ma fenetre");f.setSize(150, 100);

JPanel pannel =

new JPanel();

final JTextField testField1 =
new JTextField (
" ");pannel.add(testField1);

JButton bouton =

new JButton((
"enter"));pannel.add(bouton);

f.getContentPane().add(pannel);

f.setVisible(

true);

// final String text = testField1.getText();

bouton.addActionListener(

new ActionListener() {

public
void actionPerformed(ActionEvent e) {

//ConnBaseDonnée

try {Class. forName (
"sun.jdbc.odbc.JdbcOdbcDriver"); }

catch (Exception E) {System.
err.println(
"Pas de pilote !");}

try{
String URL =
"jdbc:odbc:bd";Connection conn= DriverManager. getConnection (URL,

"",
"");Statement st = conn.createStatement();

st.executeUpdate("INSERT INTO lieu (nom_lieu,x_lieu,y_lieu) VALUES("+testField1.getText()+","+xpos+","+ypos
+");" );
System.

out.println(
" ligne insérée");

//while(rs.next()){

// System.out.println("nom:"+rs.getString(2)+" x:"+rs.getInt(3)+" y:"+rs.getInt(4));

//}

//rs.close();st.close();

conn.close();}

catch (SQLException e1){System.

err.println(e1.getMessage());
}}}
);}}
public

void keyPressed(KeyEvent arg0) {}
public

void keyReleased(KeyEvent arg0) {}
public

void keyTyped(KeyEvent arg0) {}
public

Map()
throws Exception {
image

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

=
new MapPane(
image);
mapPane

.addMouseListener(
this);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;}

@Override

public

void paintComponent(Graphics graphics) {

super

.paintComponent(graphics);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 );g2d.setColor(Color.

YELLOW );g2d.drawString(

"("+
xpos+
","+
ypos+
")",
xpos,
ypos); g2d.drawRect(

xpos,
ypos, 10, 10);

}}}}

la deuxieme classe

public

class FrmChart
extends JFrame{

private
static
final
long
serialVersionUID = 1L;

public FrmChart(){

super();ImageIcon icone =

new ImageIcon(
"fes.gif");setSize( 300, 250 );

setTitle(

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

new BorderLayout() );Choice choix1 =

new Choice();choix1.addItem(

" depart ");choix1.addItem(

"h.cheraton");choix1.addItem(

"h.al Sayrawane");choix1.addItem(

"h.de la paix");getContentPane().add( choix1, BorderLayout.

WEST );Choice choix2 =

new Choice();choix2.addItem(

" arrivé ");choix2.addItem(

"h.cheraton");choix2.addItem(

"h.al Sayrawane");
getContentPane().add( choix2, BorderLayout.EAST );JPanel pnl <gras>new JPanel();JLabel jLabel2</gras>

new JLabel(icone);pnl.add(jLabel2);

getContentPane().add( pnl, BorderLayout.

AFTER_LAST_LINE );pnl.setLayout(

new BorderLayout() );JButton btn =

new JButton(
"tracer le chemin" );pnl.add( btn, BorderLayout.

SOUTH);btn.addActionListener(

new ActionListener() {

public
void actionPerformed(ActionEvent e) {

try {Map map =

new Map();map.setSize(400, 400);

map.setTitle(

"Map");map.setDefaultCloseOperation(JFrame.

EXIT_ON_CLOSE);map.setVisible(

true);
}
 
catch (Exception e1) {}
}});addWindowListener(

new WindowAdapter() {

public
void windowClosing(WindowEvent e) { System.exit( 0 ); } } );
}

public
static
void main(String... args)
{

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

merciiiiiiii
0
Rejoignez-nous