Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    755

    problema con JColorChooser

    nel mio programma quando l'utente preme un determinato JMenuItem appare un JColorChooser che fa scegliere all'utente un colore da impostare a un determinato componente grafico del software...il mio problema è:io vorrei che il colore scelto dall'utente sia impostato al componente solo se l'utente preme "ok" e non anche se premuto "annulla"
    come faccio?

    nel mio codice io ho fatto così:
    codice:
    JColorChooser color=new JColorChooser()
    componente.addActionListener(this) //this implementa ActionListener
    //ora siamo nell'actionPerformed:
    //se viene premuto il sopra citato JMenuItem esegui ciò:
    componente.setBackground(color.showDialog(null,"cambia colore",Color.WHITE));
    in questo modo come ho fatto io il colore viene impostato indifferentemente se viene premuto "ok" o "annulla"

    come risolvere?se volete potete mettermi anche una frazione di codice

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: problema con JColorChooser

    Originariamente inviato da zipangulu
    solo se l'utente preme "ok" e non anche se premuto "annulla"
    come faccio?
    Dalla documentazione di showDialog():

    Returns:
    the selected color or null if the user opted out
    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
    Registrato dal
    Nov 2009
    Messaggi
    755
    ma invece mi imposta il colore anche se preme annulla!

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Dai .. siamo a Natale ... un aiutino in più.

    Dal tutorial Sun Showing a Color Chooser in a Dialog:

    The dialog disappears under three conditions: the user chooses a color and clicks the OK button, the user cancels the operation with the Cancel button, or the user dismisses the dialog with a frame control. If the user chooses a color, the showDialog method returns the new color. If the user cancels the operation or dismisses the window, the method returns null.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    755
    quindi potrei fare:
    codice:
    Color a=color.showDialog(null,"cambia colore",Color.WHITE);
    if(a!=null)
      componente.setBackground(a);
    tu intendi che dovrei fare qualcosa del genere?dimmi se sbaglio

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da zipangulu
    tu intendi che dovrei fare qualcosa del genere?
    Esatto, proprio così se vuoi cambiare il colore solo se l'utente ha accettato con OK. Altrimenti viene lasciato nello stato "precedente".
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.