Ecouter une JFrame

cinya Messages postés 5 Date d'inscription vendredi 10 septembre 2004 Statut Membre Dernière intervention 14 septembre 2004 - 14 sept. 2004 à 00:02
cinya Messages postés 5 Date d'inscription vendredi 10 septembre 2004 Statut Membre Dernière intervention 14 septembre 2004 - 14 sept. 2004 à 19:11
Je voudrai savoir s il est possible d ecouter une JFrame.
En effet j ai fai un full screen et je voudrais faire revenir mon application dans une fenetre normal avec un clic de souris!!
Ainsi mon probleme serai de savoir s il est possible d ecouter seulement la souris sur une JFrame!

Merci pour toute reponse!!

6 réponses

indiana_jules Messages postés 750 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 23 décembre 2008 22
14 sept. 2004 à 08:54
Slut
ben étant donné qu'une Jframe hérite des méthodes de Component, et que dans Component, on trouve addMouseMotionListener et addMouseListener, je pense que tu peux gérer la souris sur la JFrame

Voilà

[Tout le monde a des idées : la preuve, c'est qu'il y en a de mauvaises]
0
cinya Messages postés 5 Date d'inscription vendredi 10 septembre 2004 Statut Membre Dernière intervention 14 septembre 2004
14 sept. 2004 à 09:47
J ai essayé:

public synchronized void addMouseListener( MouseListener l ){
if(menu_bar_visible==false){
frame.setSize(oldwidth,oldheigh);//pour revenir en petite fenetre
}

}
Mais ca a po l air de marcher ! Pourrais tu m aider un peu?
0
indiana_jules Messages postés 750 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 23 décembre 2008 22
14 sept. 2004 à 13:55
Re

pourquoi tu utilises un synchronized ? Je crois pas que ca va te servir ici(je l'utilise plutot pour le client/serveur)

En revanche, c normal que ca marche, MouseListener est une interface (autrement dit, c'est une classe qui détecte des evenement et qui, quand on l'appelle, demande à ce qu'on installe ses méthodes).

Du coup, tu devrais faire ca:
frame.addMouseListener(new MouseListener() {
public void mouseClicked(MouseEvent e) {
if(menu_bar_visible==false){
frame.setSize(oldwidth,oldheigh);//pour revenir en petite fenetre
}

}
public void mouseEntered(MouseEvent e) {
}
public void mouseExited(MouseEvent e) {
}
public void mouseReleased(MouseEvent e) {
}
public void mousePressed(MouseEvent e) {
}
});


[Tout le monde a des idées : la preuve, c'est qu'il y en a de mauvaises]
0
cinya Messages postés 5 Date d'inscription vendredi 10 septembre 2004 Statut Membre Dernière intervention 14 septembre 2004
14 sept. 2004 à 14:58
Ca n a po l air de marcher:( mais c est pe etre parce que je ne c est po le placer!!)

Pe tu jeter un regard sur ce prog et me dire ce que tu en pense?

Voici une partie de mon prog:

class Our_media_player extends JFrame implements ControllerListener
{
private Player player = null;
private JPanel videoPanel = null;

private Component controlComponent = null;
private JMenuBar menu_bar = null; // menu bar used for the different Buttons
private JFrame frame = null; // frame used to open a file
private JFileChooser fc = null; // used for the dialog window to open a file
private File file;

/* Various Buttons */
private JButton about = null;

private boolean menu_bar_visible=true;
int oldwidth=0;
int oldheigh=0;

.....
public void controllerUpdate( ControllerEvent ce )
{
// to start the video and create all the buttons etc...
if ( ce instanceof RealizeCompleteEvent )
{
if (menu_bar == null)
{
//creation of the menu bar
menu_bar = new JMenuBar();

//creation of the button with the icon
stop.setMargin(new Insets(0, 0, 0, 0));
about = new JButton(new ImageIcon("about.gif"));
about.setMargin(new Insets(0, 0, 0, 0));

//creation of the frame used to open a file
frame = new JFrame();
fc = new JFileChooser();

//the button is add to the menu bar
menu_bar.add(about);
System.out.println("validate");

//actions which are made while pressing the about button
about.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.out.println("About");
//Brings up a dialog that displays a message using a default icon determined by the messageType parameter
int width = (int)Toolkit.getDefaultToolkit().getScreenSize().width;
int heigh = (int)Toolkit.getDefaultToolkit().getScreenSize().height;
//Donne la position (x, y) de la JWindow ainsi que sa largeur et sa longueur
setBounds(0,0,width, heigh);
menu_bar_visible=false;
menu_bar.show(menu_bar_visible);
//affiche la fenêtre
setVisible(true);
//JOptionPane.showMessageDialog(null,"", "About Our media player",JOptionPane.INFORMATION_MESSAGE);
System.out.println("heho1");
}
});
}

if ( videoPanel == null)
{ //creation of the panel of sight
videoPanel = new JPanel();
videoPanel.setLayout( new BorderLayout() );
getContentPane().add( videoPanel, BorderLayout.CENTER);
}
else
videoPanel.removeAll();

// Recuperer le composant ControlPanel de la video a l'aide de player
if ( (controlComponent =
player.getControlPanelComponent()) != null) {
videoPanel.add(controlComponent, BorderLayout.SOUTH);
videoPanel.setVisible(true);
menu_bar.add(controlComponent);
setJMenuBar(menu_bar);

}

//obtaining the component restoring the image in provenence of the player.
Component vis = player.getVisualComponent();
if ( vis != null )
{ // if it is valid then we put it in our sight
videoPanel.add( vis, BorderLayout.CENTER);
videoPanel.setVisible(true);
this.pack(); // resize the size according to the size of film
oldwidth=videoPanel.getWidth();
oldheigh=videoPanel.getHeight();

}
frame.addMouseListener(new MouseListener() {
public void mouseClicked(MouseEvent e) {
System.out.println("heho2");
if(menu_bar_visible==false){
menu_bar_visible=true;
menu_bar.show(menu_bar_visible);
frame.setSize(oldwidth,oldheigh);
}
}
public void mouseEntered(MouseEvent e) {
}
public void mouseExited(MouseEvent e) {
}
public void mouseReleased(MouseEvent e) {
}
public void mousePressed(MouseEvent e) {
}
});

}
0

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

Posez votre question
indiana_jules Messages postés 750 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 23 décembre 2008 22
14 sept. 2004 à 18:04
Je pense que c'est plus ceci :
class Our_media_player extends JFrame implements ControllerListener
{
private Player player = null;
private JPanel videoPanel = null;

private Component controlComponent = null;
private JMenuBar menu_bar = null; // menu bar used for the different Buttons
private JFrame frame = null; // frame used to open a file
private JFileChooser fc = null; // used for the dialog window to open a file
private File file;

/* Various Buttons */
private JButton about = null;

private boolean menu_bar_visible=true;
int oldwidth=0;
int oldheigh=0;

.....
public void controllerUpdate( ControllerEvent ce )
{
// to start the video and create all the buttons etc...
if ( ce instanceof RealizeCompleteEvent )
{
if (menu_bar == null)
{
//creation of the menu bar
menu_bar = new JMenuBar();

//creation of the button with the icon
stop.setMargin(new Insets(0, 0, 0, 0));
about = new JButton(new ImageIcon("about.gif"));
about.setMargin(new Insets(0, 0, 0, 0));

//creation of the frame used to open a file
frame = new JFrame();

frame.addMouseListener(new MouseListener() {
public void mouseClicked(MouseEvent e) {
System.out.println("heho2");
if(menu_bar_visible==false){
menu_bar_visible=true;
menu_bar.show(menu_bar_visible);
frame.setSize(oldwidth,oldheigh);
}
}
public void mouseEntered(MouseEvent e) {
}
public void mouseExited(MouseEvent e) {
}
public void mouseReleased(MouseEvent e) {
}
public void mousePressed(MouseEvent e) {
}
});

fc = new JFileChooser();

//the button is add to the menu bar
menu_bar.add(about);
System.out.println("validate");

//actions which are made while pressing the about button
about.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.out.println("About");
//Brings up a dialog that displays a message using a default icon determined by the messageType parameter
int width = (int)Toolkit.getDefaultToolkit().getScreenSize().width;
int heigh = (int)Toolkit.getDefaultToolkit().getScreenSize().height;
//Donne la position (x, y) de la JWindow ainsi que sa largeur et sa longueur
setBounds(0,0,width, heigh);
menu_bar_visible=false;
menu_bar.show(menu_bar_visible);
//affiche la fenêtre
setVisible(true);
//JOptionPane.showMessageDialog(null,"", "About Our media player",JOptionPane.INFORMATION_MESSAGE);
System.out.println("heho1");
}
}); 
}

if ( videoPanel == null)
{ //creation of the panel of sight
videoPanel = new JPanel();
videoPanel.setLayout( new BorderLayout() );
getContentPane().add( videoPanel, BorderLayout.CENTER);
}
else
videoPanel.removeAll();

// Recuperer le composant ControlPanel de la video a l'aide de player
if ( (controlComponent =
player.getControlPanelComponent()) != null) {
videoPanel.add(controlComponent, BorderLayout.SOUTH);
videoPanel.setVisible(true);
menu_bar.add(controlComponent);
setJMenuBar(menu_bar);

}

//obtaining the component restoring the image in provenence of the player.
Component vis = player.getVisualComponent();
if ( vis != null )
{ // if it is valid then we put it in our sight
videoPanel.add( vis, BorderLayout.CENTER);
videoPanel.setVisible(true);
this.pack(); // resize the size according to the size of film
oldwidth=videoPanel.getWidth();
oldheigh=videoPanel.getHeight();

}

}



Voilà, en espérant que cela puisse t'aider (et marche)

[Tout le monde a des idées : la preuve, c'est qu'il y en a de mauvaises]
0
cinya Messages postés 5 Date d'inscription vendredi 10 septembre 2004 Statut Membre Dernière intervention 14 septembre 2004
14 sept. 2004 à 19:11
Merci ! Mais ca marche pas je crois qu il faut un focus car j arrive a faire un mouse listener normalement mais la qd la video est lance je crois que le mouselistener ne ve po ecouter!!
J ai entendu parler d un focus?
Si tu pe m aider ca serai sympa mais je te remercie deja!!
0
Rejoignez-nous