Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di tony83
    Registrato dal
    Feb 2005
    Messaggi
    3,179

    [JAVA] <Problema con JOptionPane.showMessageDialog> Non visualizza messaggio

    Ciao a tutti,

    in questo codice:

    codice:
       
     public void actionPerformed(ActionEvent event) 
        {
            // Nel caso sia stato premuto JBttAnnulla
            if (event.getSource().equals(JBttAnnulla)) 
            {
                JtxtName.setText("");
                JPwdLogin.setText("");
            } else 
            { 
                if (JtxtName.getText().equals("") || "".equals(new String(JPwdLogin.getPassword()))) 
                { 
                    JOptionPane.showMessageDialog(null,"Inserire nuovamente utente e password ","Login: username e password",JOptionPane.WARNING_MESSAGE); 
                } else { // nel caso sia corretto
                    Boolean boolAccesso = Controller.doAll("login;" + JtxtName.getText() + ";" + new String(JPwdLogin.getPassword()));
                }
            }
        }
    Quando vado a visualizzare il messaggino con OptionPane.showMessageDialog la prima volta con utente e password vuoti mi visualizza correttamente il messaggio, la seconda volta invece la finestra è vuota senza nessun messaggio.. Volevo sapere per quale motivo e come posso risolvere.

    GRAZIE anticipatamente!..
    Tony

  2. #2
    Utente di HTML.it L'avatar di tony83
    Registrato dal
    Feb 2005
    Messaggi
    3,179

    Re: [JAVA] <Problema con JOptionPane.showMessageDialog> Non visualizza messaggio

    Originariamente inviato da tony83
    Ciao a tutti,

    in questo codice:

    codice:
       
     public void actionPerformed(ActionEvent event) 
        {
            // Nel caso sia stato premuto JBttAnnulla
            if (event.getSource().equals(JBttAnnulla)) 
            {
                JtxtName.setText("");
                JPwdLogin.setText("");
            } else 
            { 
                if (JtxtName.getText().equals("") || "".equals(new String(JPwdLogin.getPassword()))) 
                { 
                    JOptionPane.showMessageDialog(null,"Inserire nuovamente utente e password ","Login: username e password",JOptionPane.WARNING_MESSAGE); 
                } else { // nel caso sia corretto
                    Boolean boolAccesso = Controller.doAll("login;" + JtxtName.getText() + ";" + new String(JPwdLogin.getPassword()));
                }
            }
        }
    Quando vado a visualizzare il messaggino con OptionPane.showMessageDialog la prima volta con utente e password vuoti mi visualizza correttamente il messaggio, la seconda volta invece la finestra è vuota senza nessun messaggio.. Volevo sapere per quale motivo e come posso risolvere.

    GRAZIE anticipatamente!..
    Nel senso che la prima che viene eseguito
    codice:
     JOptionPane.showMessageDialog(null,"Inserire nuovamente utente e password ","Login: username e password",JOptionPane.WARNING_MESSAGE);
    lo visualizza correttamente la seconda volta invece appare una finestrella vuota senza nessun messaggio..
    Tony

  3. #3
    Utente di HTML.it L'avatar di tony83
    Registrato dal
    Feb 2005
    Messaggi
    3,179

    Re: Re: [JAVA] <Problema con JOptionPane.showMessageDialog> Non visualizza messaggio

    Originariamente inviato da tony83
    Nel senso che la prima che viene eseguito
    codice:
     JOptionPane.showMessageDialog(null,"Inserire nuovamente utente e password ","Login: username e password",JOptionPane.WARNING_MESSAGE);
    lo visualizza correttamente la seconda volta invece appare una finestrella vuota senza nessun messaggio..
    up
    Tony

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    906
    Mi sa che uppare e' inutile. A me (e probabilmenta a quelli che hanno provato per poterti rispondere) non da nessun problema di quel tipo. Probabilmente l'errore sta da un'altra parte.
    Prova prima con il mio codice e guarda se ti da problemi.
    codice:
    import java.awt.event.*;
    import javax.swing.*;
    
    public class Dial extends JFrame implements ActionListener{
        private JButton b;
        private JButton reset;
        private JTextField testo;
        
        /** Creates a new instance of Dial */
        public Dial() {
            testo = new JTextField(10);
            b = new JButton("Click me!");
            reset = new JButton("Reset");
            reset.addActionListener(this);
            b.addActionListener(this);
            
            JPanel p = new JPanel();
            p.add(testo);
            p.add(reset);
            p.add(b);
            
            this.add(p);
            this.setSize(180,100);
            this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        }
        
        public static void main(String[] args) {
            Dial d = new Dial();
            d.setVisible(true);
        }
        
        public void actionPerformed(ActionEvent event) {
            // Nel caso sia stato premuto JBttAnnulla;
            if (event.getSource().equals(reset)) {
                testo.setText("");
            } else {
                if (testo.getText().equals("")) {
                    JOptionPane.showMessageDialog(null,"Inserire nuovamente utente e password ","Login: username e password",JOptionPane.WARNING_MESSAGE);
                } else { // nel caso sia corretto
                }
            }
        } 
    }

  5. #5
    Utente di HTML.it L'avatar di tony83
    Registrato dal
    Feb 2005
    Messaggi
    3,179
    Originariamente inviato da simo7784
    Mi sa che uppare e' inutile. A me (e probabilmenta a quelli che hanno provato per poterti rispondere) non da nessun problema di quel tipo. Probabilmente l'errore sta da un'altra parte.
    Prova prima con il mio codice e guarda se ti da problemi.
    codice:
    import java.awt.event.*;
    import javax.swing.*;
    
    public class Dial extends JFrame implements ActionListener{
        private JButton b;
        private JButton reset;
        private JTextField testo;
        
        /** Creates a new instance of Dial */
        public Dial() {
            testo = new JTextField(10);
            b = new JButton("Click me!");
            reset = new JButton("Reset");
            reset.addActionListener(this);
            b.addActionListener(this);
            
            JPanel p = new JPanel();
            p.add(testo);
            p.add(reset);
            p.add(b);
            
            this.add(p);
            this.setSize(180,100);
            this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        }
        
        public static void main(String[] args) {
            Dial d = new Dial();
            d.setVisible(true);
        }
        
        public void actionPerformed(ActionEvent event) {
            // Nel caso sia stato premuto JBttAnnulla;
            if (event.getSource().equals(reset)) {
                testo.setText("");
            } else {
                if (testo.getText().equals("")) {
                    JOptionPane.showMessageDialog(null,"Inserire nuovamente utente e password ","Login: username e password",JOptionPane.WARNING_MESSAGE);
                } else { // nel caso sia corretto
                }
            }
        } 
    }
    ok grazie 1000... confronterò il mio codice con il tuo... ciao
    Tony

  6. #6
    Utente di HTML.it L'avatar di tony83
    Registrato dal
    Feb 2005
    Messaggi
    3,179
    mi sembra uguale ve lo posto per intero...

    codice:
    /*
     * Main.java
     *
     * Created on 29 giugno 2007, 21.03
     *
     * Main
     */
    
    package organizer;
    
    import controller.Controller;
    import java.awt.BorderLayout;
    import java.awt.Container;
    import java.awt.Dimension;
    import java.awt.Toolkit;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.util.ResourceBundle;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import javax.swing.JPanel;
    import javax.swing.JPasswordField;
    import javax.swing.JTextField;
    
    
    public class Main extends JFrame implements ActionListener 
    {
     
        private static ResourceBundle objResourceBundle;
        private JTextField JtxtName;
        private JPasswordField JPwdLogin;
        private JButton JBttOk;
        private JButton JBttAnnulla;
    
        public Main() 
        {
            super(objResourceBundle.getString("application")); // al costruttore gli diamo il nome della finestra
    
            JLabel JLblTitolo        = new JLabel(objResourceBundle.getString("titolo"));
            JLabel JLblPresentation  = new JLabel(objResourceBundle.getString("presentation"));
            JLabel JLblNome          = new JLabel(objResourceBundle.getString("login.username"));
            JLabel JLblPass          = new JLabel(objResourceBundle.getString("login.password"));
            JtxtName                 = new JTextField("",8);
            JPwdLogin                = new JPasswordField("", 10);
            JBttOk                   = new JButton(objResourceBundle.getString("login.accedi"));
            JBttAnnulla              = new JButton(objResourceBundle.getString("login.reset"));
            JBttOk.addActionListener(this);
            JBttAnnulla.addActionListener(this);
            
            JPanel objJPanelSopra = new JPanel();
            objJPanelSopra.add(JLblTitolo);
            objJPanelSopra.add(JLblPresentation);           
                 
            JPanel objJPanelSotto = new JPanel();
            objJPanelSotto.add(JLblNome);
            objJPanelSotto.add(JtxtName);
            objJPanelSotto.add(JLblPass);
            objJPanelSotto.add(JBttOk);
            objJPanelSotto.add(JBttAnnulla);
            objJPanelSotto.add(JPwdLogin);
    
            setLayout(new BorderLayout());
            this.add(objJPanelSopra, BorderLayout.CENTER);
            this.add(objJPanelSotto, BorderLayout.SOUTH);
            
            Toolkit objToolkit = Toolkit.getDefaultToolkit();
            Dimension objDimension = objToolkit.getScreenSize();
            
            // Setto la dimensione del JFrame
            int intWidth =  600;
            int intHeight = 150;
            setSize(intWidth,intHeight);
            
            // Setto la posizione del JFrame
            int intOrizzontale = (int) objDimension.width / 4;
            int intVerticale = (int) objDimension.height / 4;
            setLocation(intOrizzontale,intVerticale);
            
            setResizable(false);
            
            setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); 
        }
        
        public void actionPerformed(ActionEvent event) 
        {
            if (event.getSource().equals(JBttAnnulla)) 
            {
                JtxtName.setText("");
                JPwdLogin.setText("");
            } else 
            { 
                if (JtxtName.getText().trim().equals("") || "".equals(new String(JPwdLogin.getPassword().toString().trim()))) 
                { 
                    JOptionPane.showMessageDialog(null,objResourceBundle.getString("login.parametri"),"Login: username e password",JOptionPane.WARNING_MESSAGE);
                } else { // nel caso sia corretto
                    Boolean boolAccesso = Controller.doAll("login;" + JtxtName.getText() + ";" + new String(JPwdLogin.getPassword()));
                }
            }
        }
        
        public static void main(String[] args) 
        {
            objResourceBundle = ResourceBundle.getBundle("messaggi.prMessaggiMain");
            Main objMain = new Main();
            objMain.setVisible(true);
        }
    Tony

  7. #7
    Utente di HTML.it L'avatar di tony83
    Registrato dal
    Feb 2005
    Messaggi
    3,179
    Originariamente inviato da simo7784
    Mi sa che uppare e' inutile. A me (e probabilmenta a quelli che hanno provato per poterti rispondere) non da nessun problema di quel tipo. Probabilmente l'errore sta da un'altra parte.
    Prova prima con il mio codice e guarda se ti da problemi.
    codice:
    import java.awt.event.*;
    import javax.swing.*;
    
    public class Dial extends JFrame implements ActionListener{
        private JButton b;
        private JButton reset;
        private JTextField testo;
        
        /** Creates a new instance of Dial */
        public Dial() {
            testo = new JTextField(10);
            b = new JButton("Click me!");
            reset = new JButton("Reset");
            reset.addActionListener(this);
            b.addActionListener(this);
            
            JPanel p = new JPanel();
            p.add(testo);
            p.add(reset);
            p.add(b);
            
            this.add(p);
            this.setSize(180,100);
            this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        }
        
        public static void main(String[] args) {
            Dial d = new Dial();
            d.setVisible(true);
        }
        
        public void actionPerformed(ActionEvent event) {
            // Nel caso sia stato premuto JBttAnnulla;
            if (event.getSource().equals(reset)) {
                testo.setText("");
            } else {
                if (testo.getText().equals("")) {
                    JOptionPane.showMessageDialog(null,"Inserire nuovamente utente e password ","Login: username e password",JOptionPane.WARNING_MESSAGE);
                } else { // nel caso sia corretto
                }
            }
        } 
    }
    Dò anche qualche informazioni in più anche se non credo che serva:
    ambiente di lavoro; NetBeans 5.5.1
    Piattaforma: Linux Ubuntu 7
    Jdk: 1.6
    HO PROVATO ANCHE QUESTO CODICE E MI RESTITUISCE LO STESSO RISULTATO
    ho fatto anche altre prove inserendo un titolo formato da un carattere e il testo idem e poi quando provavo sempre a lasciare i campi vuoti e cliccavo sul pulsante ha funzionato per un paio di volte poi mi ha dato lo stesso risultato.. proprio non capisco!!!

    possibile che sul mio sistema ha questo effetto brutale?
    Tony

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    906
    Beh, se l'errore si verifica anche con il mio codice, allora non dipende dal codice che hai scritto. Molte release di linux(non so se ubuntu e' tra queste) forniscono una versione di java che non e' quella della Sun ed ha una propria implementazione della JVM. Possibile che sia un bug di quest'ultima(ci sono altri casi in cui i risultati differiscono da quelli aspettati per questo motivo, per fortuna sono pochi). Ti consiglierei di rimuovere il JDK presente nel tuo sistema, scaricare l'ultima versione ufficiale della Sun e provare ad eseguire il codice con questa.

  9. #9
    Utente di HTML.it L'avatar di tony83
    Registrato dal
    Feb 2005
    Messaggi
    3,179
    Originariamente inviato da simo7784
    Beh, se l'errore si verifica anche con il mio codice, allora non dipende dal codice che hai scritto. Molte release di linux(non so se ubuntu e' tra queste) forniscono una versione di java che non e' quella della Sun ed ha una propria implementazione della JVM. Possibile che sia un bug di quest'ultima(ci sono altri casi in cui i risultati differiscono da quelli aspettati per questo motivo, per fortuna sono pochi). Ti consiglierei di rimuovere il JDK presente nel tuo sistema, scaricare l'ultima versione ufficiale della Sun e provare ad eseguire il codice con questa.
    si infatti era la stessa cosa che pensavo io.. penso che sia un bug della jvm su Ubuntu Linux..

    Infatti il mio codice mi sembrava corretto...... perfetto grazie di tutto, al max passo la palla all'aspetto sistemistico!!
    Tony

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