Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    gestione eventi in una applicazione java

    PREMESSA :
    ho un applicazione java (GMS.java) con un metodo public static void main che crea una Jwindow .. vorrei sapere come faccio a gestire gli eventi del mause o tastiera : infatti se aggiungo una classe "MouseClick" esternamente alla classe principale che estende MouseAdapter devo togliere il PUBLIC e comunque essendo esterna alla classe GMS non può accedere agli oggetti in essa definiti ( nella fattispecie la Jwindow ).
    Se la sposto internamente definendo una classe interna la cosa risulta fattibile... poi però non so + come andare avanti ecco il codice che ho scritto :

    import java.awt.event.*;
    import java.awt.*;
    import javax.swing.*;
    public class GMS
    {
    public static void main(String args[])
    {
    Jwindow window1= new Jwindow()
    window1.setSize(100,100);
    window1.setLocation(100,100);
    window1.show();
    MouseClickListener mouse = new MouseClickListener();
    addMouseListener(mouse);
    }
    private class MouseClickListener extends MouseAdapter
    {
    public void mouseClicked(MouseEvent evt)
    {
    window1.hide();
    }
    }
    }
    La roba in rosso se la aggiungo mi scrive che non posso aggiungerla ad uno static context...
    La roba in blù poi che ho trovato nell'Horstmann.. non me la legge proprio "unable to resolve simbol addMouseListener()";
    Se aveste qualche soluzione .. .che c'è di sicuro è sarà semplicissima ve ne sarei grato.. ( forse il mio problema sta nel non capire cosa voglia dire esattamente static... cmq)
    se postate il codice di quello che cercate di spiegarmi è anche meglio.. un esempio vale 1000 parole ! ciao ciao
    Salverò Kagome e diventerò un vero demone !

  2. #2
    codice:
    import java.awt.event.*;
    import java.awt.*;
    import javax.swing.*;
    public class prova
    {
    public static void main(String args[])
    {
    JWindow window1= new JWindow();
    window1.setSize(100,100);
    window1.setLocation(100,100);
    window1.show();
    //MouseClickListener mouse = new MouseClickListener();
    //In effetti non hai scritto un metodo addMouseListener
    //addMouseListener(mouse);
    window1.addMouseListener(new MouseClickListener(window1));
    }
    }
    
    class MouseClickListener extends MouseAdapter
    {
    private JWindow c;
    public MouseClickListener(JWindow c){
    this.c=c;
    }
    public void mouseClicked(MouseEvent evt)
    {
    c.hide();
    }
    }
    Lang=Java
    Ambiente = Eclipse forever
    Ubuntu & Win XP Pro

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.