Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Renault Twingo E-Tech Electric: che prezzo!
Renault Twingo E-Tech Electric: che prezzo!
Renault annuncia la nuova vettura compatta del segmento A, che strizza l'occhio alla tradizione del modello abbinandovi una motorizzazione completamente elettrica e caratteristiche ideali per i tragitti urbani. Renault Twingo E-Tech Electric punta su abitabilità, per una lunghezza di meno di 3,8 metri, abbinata a un prezzo di lancio senza incentivi di 20.000€
Il cuore digitale di F1 a Biggin Hill: l'infrastruttura Lenovo dietro la produzione media
Il cuore digitale di F1 a Biggin Hill: l'infrastruttura Lenovo dietro la produzione media
Nel Formula 1 Technology and Media Centre di Biggin Hill, la velocità delle monoposto si trasforma in dati, immagini e decisioni in tempo reale grazie all’infrastruttura Lenovo che gestisce centinaia di terabyte ogni weekend di gara e collega 820 milioni di spettatori nel mondo
DJI Osmo Mobile 8: lo stabilizzatore per smartphone con tracking multiplo e asta telescopica
DJI Osmo Mobile 8: lo stabilizzatore per smartphone con tracking multiplo e asta telescopica
Il nuovo gimbal mobile DJI evolve il concetto di tracciamento automatico con tre modalità diverse, un modulo multifunzionale con illuminazione integrata e controlli gestuali avanzati. Nel gimbal è anche presente un'asta telescopica da 215 mm con treppiede integrato, per un prodotto completo per content creator di ogni livello
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 24-02-2004, 14:38   #1
cn73
Senior Member
 
L'Avatar di cn73
 
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
Java, puntatori e adapter...

Mi sono scontrato con uno strano problema:

Codice:
class RicercaBloccatiAction extends AbstractAction
  {
  	
  	
  	JMenuItem tempItem ;
  	
  	RicercaBloccatiAction()
  	{
  		super("Allegati bloccati");  				
  		
  	}
  	
  	public void actionPerformed(ActionEvent e)
  	{
  		tempItem = (JMenuItem)e.getSource();
  		...
  		....
  			  		
  		TrovaAllegatiBloccatiFrame trovaAllegatiBloccatiFrame = new TrovaAllegatiBloccatiFrame(...);
  		
  		tempItem.setEnabled(false);
   	  
   	  System.out.println("appena disabilitato" + tempItem.getText());
   	     	 	
  		desktop.add(trovaAllegatiBloccatiFrame);
			trovaAllegatiBloccatiFrame.moveToFront();
  
      trovaAllegatiBloccatiFrame.addInternalFrameListener(new InternalFrameAdapter()
      {
        public void internalFrameClosing(InternalFrameEvent ife)  {
         
       	 tempItem.setEnabled(true);
       	 System.out.println("appena abilitato" + tempItem.getText());
         svuotajInternalFrameVector();
       	}
      });
  	}
  }
Praticamente a fronte della scelta da un menu dovevo aprire alcune JInternalFrame e disabilitare
la relativa voce di menu...per poi rabilitarla alla chiusura. Bene, questo codice non mi funzionava!
tempItem puntava sempre all'ultimo menu, nonostante ogni voce avesse un

Codice:
  tempMenuItem.addActionListener(new RicercaBloccatiAction());
Ho dovuto creare una classe
Codice:
  class myListener implements InternalFrameListener {
  	
  	JMenuItem menuItem;
  	
  	public myListener(JMenuItem menuItem) {
  		this.menuItem = menuItem;
  	}	
  	
  	
  	public void internalFrameClosing(InternalFrameEvent e) {
  		menuItem .setEnabled(true);
      System.out.println("appena abilitato" + menuItem .getText());
      svuotajInternalFrameVector();
  	}
  	
  	public void internalFrameActivated(InternalFrameEvent e) {}
	 	public void internalFrameClosed(InternalFrameEvent e) {}
		public void internalFrameDeactivated(InternalFrameEvent e){} 		
		public void internalFrameDeiconified(InternalFrameEvent e) {}		
		public void internalFrameIconified(InternalFrameEvent e) {}		
		public void internalFrameOpened(InternalFrameEvent e) {}  	
  }
e aggiungre il listener (e non l'adapter) al frame:
Codice:
  	myListener listener = new myListener(tempItem);
   	trovaAllegatiBloccatiFrame.addInternalFrameListener(listener);
Dato che nell'altro topic vi siete intrippati con i puntatori e le zone di memoria, mi sapete spiegare questa??
DIversa gestione dei puntatori negli adapter?'
cn73 è offline   Rispondi citando il messaggio o parte di esso
Old 25-02-2004, 13:43   #2
Passy
Senior Member
 
L'Avatar di Passy
 
Iscritto dal: Jul 2000
Città: Vignola (MO)
Messaggi: 316
Interessante Up
__________________
<Asus A8N-E Deluxe> <Amd64 3000+> <Ram 2.5 Gb> <Geffo3> <2 Maxtor 160 Gb RAID 1> <Adsl ZyXEL 645r> <ESS Maestro>
<GNU/Linux Debian Etch>
Wii 1037 4238 6261 1967
Passy è offline   Rispondi citando il messaggio o parte di esso
Old 25-02-2004, 15:01   #3
anx721
Senior Member
 
L'Avatar di anx721
 
Iscritto dal: Oct 2002
Città: Roma
Messaggi: 1502
Sicuramente sbagli qlcosa da qlche altra parte, quel codice funziona benissimo:

Codice PHP:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.io.*;
import java.util.*;
import javax.swing.border.*;


class 
RicercaBloccatiAction extends AbstractAction
  
{
      
      
JDesktopPane desktop;
      
JMenuItem tempItem ;
      
      
RicercaBloccatiAction(JDesktopPane desktop)
      {
          
super("Allegati bloccati");
          
this.desktop desktop;
          
      }
      
      public 
void actionPerformed(ActionEvent e)
      {
          
tempItem = (JMenuItem)e.getSource();
    
          
TrovaAllegatiBloccatiFrame trovaAllegatiBloccatiFrame = new TrovaAllegatiBloccatiFrame(tempItem.getText());
          
trovaAllegatiBloccatiFrame.setSize(150150);
          
trovaAllegatiBloccatiFrame.setVisible(true);
          
          
          
tempItem.setEnabled(false);
         
         
System.out.println("appena disabilitato" tempItem.getText());
                     
          
desktop.add(trovaAllegatiBloccatiFrame);
            
trovaAllegatiBloccatiFrame.moveToFront();
  
      
trovaAllegatiBloccatiFrame.addInternalFrameListener(new InternalFrameAdapter()
      {
        public 
void internalFrameClosing(InternalFrameEvent ife)  {
         
            
tempItem.setEnabled(true);
            
System.out.println("appena abilitato" tempItem.getText());
         
           }
      });
      }
  }


class 
TrovaAllegatiBloccatiFrame extends JInternalFrame{

public 
TrovaAllegatiBloccatiFrame(String title){
        
super(title,
           
true//resizable
           
true//closable
           
true//maximizable
          
true);//iconifiable
          
}
}


public class 
Ciao extends JFrame{

    
JDesktopPane desktop;

    public 
Ciao(){
        
addWindowListener(new WindowAdapter(){
            public 
void windowClosing(WindowEvent e){
                
System.exit(0);
            }
        });

        
desktop = new JDesktopPane();
        
getContentPane().add(desktop);
        
setTitle("Ciao");
        
setSize(340340);
        
        
JMenuBar bar = new JMenuBar();
        
JMenu menu = new JMenu("uffa");
        
JMenuItem item = new JMenuItem("ciao 1");
        
item.addActionListener(new RicercaBloccatiAction(desktop));
        
menu.add(item);
        
bar.add(menu);
        
        
item = new JMenuItem("ciao 2");
        
item.addActionListener(new RicercaBloccatiAction(desktop));
        
menu.add(item);
        
        
item = new JMenuItem("ciao 3");
        
item.addActionListener(new RicercaBloccatiAction(desktop));
        
menu.add(item);
        
        
getContentPane().add(bar"North");

        
setLocation(00);
        
validate();
        
show();
        
    }
    
    public static 
void main(String[] args){
        new 
Ciao();
        
    }

ciao.
__________________
Sun Certified Java Programmer
EUCIP Core Level Certified

European Certification of Informatics Professionals

Ultima modifica di anx721 : 25-02-2004 alle 15:14.
anx721 è offline   Rispondi citando il messaggio o parte di esso
Old 25-02-2004, 16:31   #4
cn73
Senior Member
 
L'Avatar di cn73
 
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
mmm...c'è da dire che il problema ce l'ho sotto java 1.1.8...mi sa che era un bacuzzo...
cn73 è offline   Rispondi citando il messaggio o parte di esso
Old 25-02-2004, 16:39   #5
anx721
Senior Member
 
L'Avatar di anx721
 
Iscritto dal: Oct 2002
Città: Roma
Messaggi: 1502
Non saprei, ma mi sembra strano che ci sia un simile bug, comqunue io suo 1.4.2.

Ad ogni modo prova a salvare il codice di esempio che ti ho mandato in un file Ciao.java e mandalo in esecuzione per vedere se ti funziona pure a te,

ciao
__________________
Sun Certified Java Programmer
EUCIP Core Level Certified

European Certification of Informatics Professionals
anx721 è offline   Rispondi citando il messaggio o parte di esso
Old 26-02-2004, 10:24   #6
cn73
Senior Member
 
L'Avatar di cn73
 
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
L'unica cosa che cambia è che i menù da disattivare e attivare li creo dinamicamente in base ad una query, con questa funzione:

Codice:
protected void populateMenu(String query,ActionListener menuAction, String actionCommand, JMenu menu ){
		
		String tempString[]={""};
		try
    {    	
	    Vector result = dbsSelect.select(query,true,-1);
	    JMenuItem tempMenuItem;

	    if(result.size()!=0)
	    {
  		  for(int i=0; i<result.size(); i++)
  		  {
  		    tempString=(String[])result.elementAt(i);
  		  	if(tempString[0].length()!=0)
  		  	{
    		    tempMenuItem=new JMenuItem(tempString[0]);
    		    tempMenuItem.addActionListener(menuAction);
    		    tempMenuItem.setActionCommand(actionCommand);
            menu.add(tempMenuItem);
          }
        }
        result.removeAllElements();
        result = null;
      }
      else
      	menu.add(new JMenuItem("no entry found"));
    }
    catch(Exception exp)
    {
		  System.out.println("impossibile creare uno dei menu degli allegati: "+exp.toString()+tempString[0]);
      JOptionPane.showMessageDialog(this,"Si è verificato qualche errore durante la creazione del menù degli atti inviati e in iter...\n"+
                                         "Il problema non dovrebbe impedire il normale svolgimento delle operazioni");
    }
    
	}
cn73 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Renault Twingo E-Tech Electric: che prezzo! Renault Twingo E-Tech Electric: che prezzo!
Il cuore digitale di F1 a Biggin Hill: l'infrastruttura Lenovo dietro la produzione media Il cuore digitale di F1 a Biggin Hill: l'infrast...
DJI Osmo Mobile 8: lo stabilizzatore per smartphone con tracking multiplo e asta telescopica DJI Osmo Mobile 8: lo stabilizzatore per smartph...
Recensione Pura 80 Pro: HUAWEI torna a stupire con foto spettacolari e ricarica superveloce Recensione Pura 80 Pro: HUAWEI torna a stupire c...
Opera Neon: il browser AI agentico di nuova generazione Opera Neon: il browser AI agentico di nuova gene...
La Cina dice addio a NVIDIA? Il governo ...
Microlino, simbolo italiano della mobili...
Apple disattiverà la sincronizzaz...
Google lancia l'allarme: attenzione ai m...
Primo test drive con Leapmotor B10: le c...
'Non può essere un robot': l'uman...
Monopattino elettrico Segway Ninebot Max...
Syberia Remastered è disponibile:...
Sony scopre che tutti i modelli AI hanno...
Amazon nasconde un -15% su 'Seconda Mano...
Due occasioni Apple su Amazon: iPhone 16...
Verso la fine della TV tradizionale? I g...
Cassa JBL a 39€, portatili, smartphone, ...
Cometa interstellare 3I/ATLAS: la sonda ...
Jensen Huang e Bill Dally di NVIDIA prem...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 18:23.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v