Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    20

    aggiornamento jpanel java

    salve a tutti...
    avrei un piccolo problema con java....
    ho un jpanel composto da dei campi testo e un bottone.
    una volta riempiti i campi, cliccando sul bottone vado a richiamare una classe ke, collegandosi al db controlla se i valori sono corretti o meno.
    se sbagliati (e qui nasce il mio problema) voglio cambiare il colore dei campi testo sbagliati.
    io dalla classe ke esegue il controllo richiamo il jpanel,ma non effettua nessuna modifica.
    per rendere effettivi i cambiamenti devo (nel jpanel) eseguire ' show(); ', ma in questo modo ottengo 2 jpanel,il precedente e uno sovrapposto aggiornato.....

    come posso x migliorare il tutto???

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

    Re: aggiornamento jpanel java

    Originariamente inviato da elle0087
    salve a tutti...
    avrei un piccolo problema con java....
    ho un jpanel composto da dei campi testo e un bottone.
    una volta riempiti i campi, cliccando sul bottone vado a richiamare una classe ke, collegandosi al db controlla se i valori sono corretti o meno.
    se sbagliati (e qui nasce il mio problema) voglio cambiare il colore dei campi testo sbagliati.
    io dalla classe ke esegue il controllo richiamo il jpanel,ma non effettua nessuna modifica.
    per rendere effettivi i cambiamenti devo (nel jpanel) eseguire ' show(); ', ma in questo modo ottengo 2 jpanel,il precedente e uno sovrapposto aggiornato.....

    come posso x migliorare il tutto???
    Innanzitutto senza vedere che codice hai scritto di preciso, è un po' difficile dire cosa non va e cosa eventualmente migliorare.

    Comunque se devi solo cambiare un colore (sfondo o testo), bastano setBackground()/setForeground() sui campi .... non serve "mostrare" di nuovo nulla se è già visibile.
    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
    Sep 2010
    Messaggi
    20
    ma infatti ho fatto ' jTextField3.setForeground(Color.getColor(col)); '.
    successivamente ho provato con paint(),validate(),......
    niente...


    cmq dalla classe controllo....

    NewJDialog p= new NewJDialog(null, true, false);
    p.ret1("0xFFFF00");

    richiame il jpanel....

    public void ret1 (String col){

    jTextField3.setForeground(Color.getColor(col));
    jTextField3.setBackground(Color.decode(col));

    layout(); ??
    jTextField3.setVisible(true); ??
    jTextField3.repaint(); ??
    jTextField3.revalidate(); ??
    jTextField3.validate(); ??
    jTextField3.show(); ??
    show(); (l unico ke fa qlcosa)
    }


    grazie in ogni caso..

  4. #4
    Utente di HTML.it L'avatar di desa
    Registrato dal
    Oct 2008
    Messaggi
    569
    Sarebbe opportuno utilizzare i tag CODE quando si posta del codice: lo prevede il regolamento e lo rende più leggibile agli occhi di chi ti deve aiutare.

    Quello che hai postato è un po' decontestualizzato: è possibile vedere il codice di NewJDialog?

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    20


    Testo normale <code>Codice</code ></p>

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    20
    questa è la classe main grafica ke richiama la classe....
    codice:
    package prova;
    
    public class main extends javax.swing.JDialog {
    
    
        public main(java.awt.Frame parent, boolean modal) {
            super(parent, modal);
            initComponents();
            //jTextField1.setVisible(false);
        }
    
       
        // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
        private void initComponents() {
    
            jButton1 = new javax.swing.JButton();
            jTextField1 = new javax.swing.JTextField();
    
            setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
            setAlwaysOnTop(true);
    
            jButton1.setText("jButton1");
            jButton1.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jButton1ActionPerformed(evt);
                }
            });
    
            jTextField1.setText("jTextField1");
    
            javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
            getContentPane().setLayout(layout);
            layout.setHorizontalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                    .addGap(93, 93, 93)
                    .addComponent(jButton1)
                    .addGap(18, 18, 18)
                    .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 72, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addContainerGap(142, Short.MAX_VALUE))
            );
            layout.setVerticalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                    .addContainerGap(152, Short.MAX_VALUE)
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jButton1)
                        .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 22, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGap(125, 125, 125))
            );
    
            pack();
        }// </editor-fold>                        
    
        public void attiva_bottone(java.awt.Frame o,boolean modal){
        
            jTextField1.setVisible(false);
            //xkè nn và??
    
            System.out.println("main");
            jTextField1.validate();
            jTextField1.repaint();
            jTextField1.show();
            //super(parent, modal);
            initComponents();
            validate();
            setVisible(false);
            jTextField1.repaint();
            //show();
    
        }
    
    
    
        private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
            // TODO add your handling code here:
            new classe().prova();
        }                                        
    
        public static void main(String args[]) {
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
                    main dialog = new main(new javax.swing.JFrame(), true);
                    dialog.addWindowListener(new java.awt.event.WindowAdapter() {
                        public void windowClosing(java.awt.event.WindowEvent e) {
                            System.exit(0);
                        }
                    });
                    dialog.setVisible(true);
                }
            });
        }
    
        // Variables declaration - do not modify                     
        private javax.swing.JButton jButton1;
        private javax.swing.JTextField jTextField1;
        // End of variables declaration                   
    
    }
    ora la classe ke dovrebbe attivarmi il bottone...
    qui è semplificato,ma nel programma dovrebbe attivarlo a seconda della verifica di una condizione specifica.

    codice:
    package prova;
    
    
    public class classe {
      public classe(){}
      public void prova(){
    
            System.out.println("classe");
            new main(null, true).attiva_bottone(null,true);
                
    
    
    
    
      }
    ho provato anke a rendere pubblico il bottone...ma nulla.!.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.