Visualizzazione dei risultati da 1 a 10 su 13

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di cerza
    Registrato dal
    Oct 2009
    Messaggi
    310
    Grazie Ansharja,

    ho risolto implementando ActionListener, in questo modo

    codice:
    	@Override	public void actionPerformed(ActionEvent e) {
    		//Si indiviuda il radioButton selezionato
    		Object src = e.getSource();
    		if(src==radioButtonDay){
    			labelDay1.setEnabled(true);
    			fieldTextDay.setEnabled(true);
    			
    			labelHour1.setEnabled(false);
    			fieldTextHour.setEnabled(false);
    			
    			labelMinutes1.setEnabled(false);
    			fieldTextMinutes.setEnabled(false);
    		}
    
    
    		
    		if(src == radioButtonHours){
    			labelHour1.setEnabled(true);
    			fieldTextHour.setEnabled(true);
    			
    			labelDay1.setEnabled(false);
    			fieldTextDay.setEnabled(false);
    			
    			labelMinutes1.setEnabled(false);
    			fieldTextMinutes.setEnabled(false);
    		}
    
    
    		
    		if(src == radioButtonMinutes){
    			labelMinutes1.setEnabled(true);
    			fieldTextMinutes.setEnabled(true);
    			
    			labelDay1.setEnabled(false);
    			fieldTextDay.setEnabled(false);
    			
    			labelHour1.setEnabled(false);
    			fieldTextHour.setEnabled(false);
    		}
    		
    
    
    		
    	}
    Grazie a tutti

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da cerza Visualizza il messaggio
    codice:
    	@Override	public void actionPerformed(ActionEvent e) {
    		//Si indiviuda il radioButton selezionato
    		Object src = e.getSource();
    		if(src==radioButtonDay){
    			labelDay1.setEnabled(true);
    			fieldTextDay.setEnabled(true);
    			
    			labelHour1.setEnabled(false);
    			fieldTextHour.setEnabled(false);
    			
    			labelMinutes1.setEnabled(false);
    			fieldTextMinutes.setEnabled(false);
    		}
    [ ..... ]
    Un codice del genere non solo è lungo e prolisso ma anche error-prone. Inoltre se aggiungessi un altro radiobutton in mutua-esclusione oltre ai 3 già presenti, non solo dovresti aggiungere un intero blocco if ma anche aggiungere codice negli altri 3 if!

    Una logica del genere, come minimo, la si risolve così:

    codice:
    public void actionPerformed(ActionEvent e) {
        Object src = e.getSource();
    
        labelDay1.setEnabled(src == radioButtonDay);
        fieldTextDay.setEnabled(src == radioButtonDay);
    
        labelHour1.setEnabled(src == radioButtonHours);
        fieldTextHour.setEnabled(src == radioButtonHours);
    
        // ecc...
    }
    (cioè, niente if!)
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it L'avatar di cerza
    Registrato dal
    Oct 2009
    Messaggi
    310
    Grazie del suggerimento, in effetti senza if è molto meglio

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.