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

    [Java] mancato rendering di un JColorChooser

    salve a tutti,

    con un clic su un pulsante vorrei far visualizzare un JColorChooser: il problema e' che il suo contenuto e' vuoto finche' non faccio un resize della sua finestra. inoltre, se muovo la finestrella che contiene il JColorChooser mi viene cancellato il contenuto della finestra sottostante.

    tutto questo casino non si verifica se il JColorChooser viene invocato al di fuori del listener.

    da cosa potrebbe dipendere?

    grazie mille a tutti per eventuali risposte. :)

  2. #2

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    prova a lanciare un validate() sul JColorChooser: dovrebbe risolvere la prima questione. Per il discorso del drag che cancella la finestra sottostante, non ti so dire... hai letto niente nella knowledge-base della sun?
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  4. #4
    Originariamente inviato da Andrea1979
    prova a lanciare un validate() sul JColorChooser: dovrebbe risolvere la prima questione.
    una cosa del genere?

    codice:
    JDialog d=JColorChooser.createDialog(...);
    d.setVisible(true);
    d.validate();
    purtroppo non funziona.

    Per il discorso del drag che cancella la finestra sottostante, non ti so dire... hai letto niente nella knowledge-base della sun?
    no, non ho ancora visto: hai qualche link specifico da propormi?

    grazie mille. :)

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Per la seconda, sto cercando nella knowledge base:

    www.java.sun.com

    e fai una ricerca... piuttosto delle solite API consulta, Learning, Reference e ancor prima Bugs.

    Per la prima domanda, ho scritto un micro-programma di test, a non mi da il problema a cui accennavi

    codice:
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    
    public class jColorChooserDemo extends JFrame implements ActionListener {
      
      private class showDialog extends JDialog {
        public showDialog(JFrame owner, String title, boolean modal) {
          super(owner, title, modal);
          JColorChooser jcc = new JColorChooser();
          this.setSize(400, 300);
          this.getContentPane().add(jcc);
          this.setVisible(true);
          this.validate();
        }
      }  
      
      public void actionPerformed (ActionEvent ae) {
        showDialog sd = new showDialog(this, "Scegli il colore", true);    
      }
      
      public jColorChooserDemo() {
        super("Mostra colori");
        this.setSize(600, 400);
        this.getContentPane().setLayout(new BorderLayout());
        JButton open = new JButton("Apri finestra colori");
        this.getContentPane().add(open, BorderLayout.NORTH);
        open.addActionListener(this);
        this.getContentPane().add(new JScrollPane(new JTextArea("Del Testo\nDel Testo\nDel Testo\nDel Testo\n")), BorderLayout.CENTER);
        this.getContentPane().add(new JLabel("Programma inutile"), BorderLayout.SOUTH);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setVisible(true);
      }
      
      public static void main (String[] args) {
        jColorChooserDemo ccd = new jColorChooserDemo();
      }
    }

    EDIT: funziona anche senza il validate
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  6. #6
    ti ringrazio. :)

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.