Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 06-06-2010, 10: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, 11: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


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
Dopo 23 anni di silenzio, Warcraft 3 spi...
Roblox sfida l'ecosistema gaming: app st...
OpenAI accusata di plagio dai migliori m...
Altro attacco hacker dell'IA: gli agenti...
Stiamo davvero perdendo il controllo del...
Microsoft perde un pilastro: Frank Shaw ...
Diablo V annunciato a sorpresa: il colpo...
Meno di 5 euro per il 5G: l'offerta Kena...
World of Warcraft: Forever è il Classic+...
La Serie A con DAZN e Amazon Prime con l...
Giochi Ubisoft su Steam senza Ubisoft Co...
Miami Beach ha autorizzato la maxi opera...
Apple regala un altro anno di funzioni s...
Alla fine è successo davvero: Vol...
Il meglio di Amazon del weekend in uno s...
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: 05:59.


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