Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Qrevo Curv 2 Flow è l'ultima novità di casa Roborock per la pulizia di casa: un robot completo, forte di un sistema di lavaggio dei pavimenti basato su rullo che si estende a seguire il profilo delle pareti abbinato ad un potente motore di aspirazione con doppia spazzola laterale
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Abbiamo guidato per diversi giorni la Alpine A290, la prima elettrica del nuovo corso della marca. Non è solo una Renault 5 sotto steroidi, ha una sua identità e vuole farsi guidare
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Abbiamo provato a fondo il nuovo Magic 8 Lite di HONOR, e per farlo siamo volati fino a Marrakech , dove abbiamo testato la resistenza di questo smartphone in ogni condizione possibile ed immaginabile. Il risultato? Uno smartphone praticamente indistruttibile e con un'autonomia davvero ottima. Ma c'è molto altro da sapere su Magic 8 Lite, ve lo raccontiamo in questa recensione completa.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 06-06-2010, 11:28   #1
UnknownSoldier
Member
 
Iscritto dal: Aug 2008
Messaggi: 210
[Java] Problema visualizzazione JProgressBar in JDialog

Ciao a tutti! Ho questo problema: ho creato una classe che mi consente di far comparire un JDialog con dentro una semplice JProgressBar indeterminata... il problema è che il JDialog viene visualizzato, ma non la JProgressBar, che viene invece visualizzata anch'essa solo se richiamo il metodo in un'altra parte del programma, ad esempio nel costruttore... perchè?? o_O

ProgressBar:
Codice:
package immagineX;

import javax.swing.JFrame;
import javax.swing.JProgressBar;
import javax.swing.JDialog;
import javax.swing.JPanel;
import javax.swing.JLabel;

public class ProgressBar
{
    public static JDialog showIndeterminateBar(JFrame parentFrame)
    {
        JDialog barDialog = new JDialog (parentFrame);
        barDialog.setSize (250, 80);
        barDialog.setLocationRelativeTo (null);
        barDialog.setResizable (false);
        barDialog.setDefaultCloseOperation (JDialog.DO_NOTHING_ON_CLOSE);

        JPanel panelDialog = new JPanel();

        JLabel lab = new JLabel ("Caricamento...");
        panelDialog.add (lab);

        JProgressBar bar =  new JProgressBar();
        bar.setIndeterminate(true);
        panelDialog.add (bar);

        barDialog.add (panelDialog);
        barDialog.setVisible(true);

        return barDialog;
    }
}
ImmagineX:
Codice:
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JLabel;
import javax.swing.JDialog;
import java.io.File;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.ArrayList;
import immagineX.*;

public class ImmagineX extends JFrame
{
    public ArrayList<ImageX> images;

    public JLabel infoLabel;
    public JPanel centerPanel;

    public ImmagineX()
    {
        super("ImmagineX");
        setSize(640, 400);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        //addWindowListener(new WindowHandler());

        setJMenuBar(new XMenuBar(this));

        images = new ArrayList<ImageX>();

        infoLabel = new JLabel("Benvenuto in ImmagineX");
        centerPanel = new JPanel(TableLayout.newInstance());

        add(infoLabel, BorderLayout.NORTH);
        add(new JScrollPane(centerPanel), BorderLayout.CENTER);

        setVisible(true);
    }

    public void updateCenterPanel()
    {
        JDialog barDialog = ProgressBar.showIndeterminateBar(this);
        centerPanel.removeAll();
        for (ImageX image : images)
        {
            JPanel imagePanel = new JPanel();
            imagePanel.setPreferredSize(new Dimension(160, 200));
            imagePanel.add(new JLabel(image.getImagePreview()));
            imagePanel.add(new JLabel(image.getFile().getName()));
            centerPanel.add(imagePanel);
        }
        barDialog.dispose();
    }

    public static void main(String[] args)
    {
        new ImmagineX();
    }
}
updateCenterPanel() che richiama il metodo per creare il JDialog con la JProgressBar viene invocato in un actionPerformed(), che fa parte ovviamente di una classe che implementa ActionListener.

Qualcuno può aiutarmi?
UnknownSoldier è offline   Rispondi citando il messaggio o parte di esso
Old 06-06-2010, 12:27   #2
UnknownSoldier
Member
 
Iscritto dal: Aug 2008
Messaggi: 210
Risolto invocando il metodo in un nuovo thread :P
UnknownSoldier è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Roborock Qrevo Curv 2 Flow: ora lava con un rullo Roborock Qrevo Curv 2 Flow: ora lava con un rull...
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite Alpine A290 alla prova: un'auto bella che ti fa ...
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile Recensione HONOR Magic 8 Lite: lo smartphone ind...
Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora Sony WF-1000X M6: le cuffie in-ear di riferiment...
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI Snowflake porta l'IA dove sono i dati, anche gra...
AGCOM segnalerà la AI Mode di Goo...
L'Estonia porta ChatGPT in classe: firma...
2 nm giapponesi contro TSMC: il piano di...
Questa scopa elettrica Tineco iFLOOR 5 è...
FRITZ!Box 6825 4G sbarca in Italia a 129...
Red Hat presenta Digital Sovereignty Rea...
AMD Zen 6 'Olympic Ridge': sette configu...
Amazon batte Walmart dopo 30 anni: il so...
Digos nel mirino dell'intelligence cines...
Sony non vuole aumentare il prezzo della...
Energia geotermica: la (costosa) rispost...
MG ha già venduto 1 milione di au...
"Something Big Is Happening" —...
Renault chiude il 2025 con una perdita r...
Le 34 migliori offerte Amazon di oggi: T...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 19:21.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v