estou com uma duvida, não estou conseguindo colocar o titulo Carregando.. logo acima dela, e tipo.. gostaria que ela ficasse aberta em um tempo determinado fixo por mim.. tipo 10 segundos.
Eu fiz um método assim:
publicvoidcreateProgressPanel(){io_pb_progress=newJProgressBar(JProgressBar.HORIZONTAL,0){publicDimensiongetPreferredSize(){returnnewDimension(300,super.getPreferredSize().height);}};io_pb_progress.setString("Carregando..");io_pb_progress.setIndeterminate(true);io_pb_progress.setBounds(200,100,200,200);io_pb_progress.setSize(200,20);//// Adiciona ao container.//io_ct.add(io_pb_progress);}
public class ProgressMonitorDemo extends JPanel
implements ActionListener,
PropertyChangeListener {
privateProgressMonitorprogressMonitor;privateJButtonstartButton;privateJTextAreataskOutput;privateTasktask;classTaskextendsSwingWorker<Void,Void>{@OverridepublicVoiddoInBackground(){Randomrandom=newRandom();intprogress=0;setProgress(0);try{Thread.sleep(1000);while(progress<100&&!isCancelled()){//Sleep for up to one second.Thread.sleep(random.nextInt(1000));//Make random progress.progress+=random.nextInt(10);setProgress(Math.min(progress,100));}}catch(InterruptedExceptionignore){}returnnull;}@Overridepublicvoiddone(){Toolkit.getDefaultToolkit().beep();startButton.setEnabled(true);progressMonitor.setProgress(0);}}publicProgressMonitorDemo(){super(newBorderLayout());//Create the demo's UI.startButton=newJButton("Start");startButton.setActionCommand("start");startButton.addActionListener(this);taskOutput=newJTextArea(5,20);taskOutput.setMargin(newInsets(5,5,5,5));taskOutput.setEditable(false);add(startButton,BorderLayout.PAGE_START);add(newJScrollPane(taskOutput),BorderLayout.CENTER);setBorder(BorderFactory.createEmptyBorder(20,20,20,20));}/** * Invoked when the user presses the start button. */publicvoidactionPerformed(ActionEventevt){progressMonitor=newProgressMonitor(ProgressMonitorDemo.this,"Running a Long Task","",0,100);progressMonitor.setProgress(0);task=newTask();task.addPropertyChangeListener(this);task.execute();startButton.setEnabled(false);}/** * Invoked when task's progress property changes. */publicvoidpropertyChange(PropertyChangeEventevt){if("progress"==evt.getPropertyName()){intprogress=(Integer)evt.getNewValue();progressMonitor.setProgress(progress);Stringmessage=String.format("Completed %d%%.\n",progress);progressMonitor.setNote(message);taskOutput.append(message);if(progressMonitor.isCanceled()||task.isDone()){Toolkit.getDefaultToolkit().beep();if(progressMonitor.isCanceled()){task.cancel(true);taskOutput.append("Task canceled.\n");}else{taskOutput.append("Task completed.\n");}startButton.setEnabled(true);}}}/** * Create the GUI and show it. For thread safety, * this method should be invoked from the * event-dispatching thread. */privatestaticvoidcreateAndShowGUI(){//Create and set up the window.JFrameframe=newJFrame("ProgressMonitorDemo");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//Create and set up the content pane.JComponentnewContentPane=newProgressMonitorDemo();newContentPane.setOpaque(true);//content panes must be opaqueframe.setContentPane(newContentPane);//Display the window.frame.pack();frame.setVisible(true);}publicstaticvoidmain(String[]args){//Schedule a job for the event-dispatching thread://creating and showing this application's GUI.javax.swing.SwingUtilities.invokeLater(newRunnable(){publicvoidrun(){createAndShowGUI();}});}
importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjava.beans.*;importjava.util.Random;publicclassProgressMonitorDemoextendsJPanelimplementsActionListener,PropertyChangeListener{privateProgressMonitorprogressMonitor;privateJButtonstartButton;privateJTextAreataskOutput;privateTasktask;classTaskextendsSwingWorker<Void,Void>{@OverridepublicVoiddoInBackground(){Randomrandom=newRandom();intprogress=0;setProgress(0);try{Thread.sleep(1000);while(progress<100&&!isCancelled()){//Sleep for up to one second.Thread.sleep(random.nextInt(1000));//Make random progress.progress+=random.nextInt(10);setProgress(Math.min(progress,100));}}catch(InterruptedExceptionignore){}returnnull;}@Overridepublicvoiddone(){Toolkit.getDefaultToolkit().beep();startButton.setEnabled(true);progressMonitor.setProgress(0);}}publicProgressMonitorDemo(){super(newBorderLayout());//Create the demo's UI.startButton=newJButton("Start");startButton.setActionCommand("start");startButton.addActionListener(this);taskOutput=newJTextArea(5,20);taskOutput.setMargin(newInsets(5,5,5,5));taskOutput.setEditable(false);add(startButton,BorderLayout.PAGE_START);add(newJScrollPane(taskOutput),BorderLayout.CENTER);setBorder(BorderFactory.createEmptyBorder(20,20,20,20));}/*** Invoked when the user presses the start button.*/publicvoidactionPerformed(ActionEventevt){progressMonitor=newProgressMonitor(ProgressMonitorDemo.this,"Running a Long Task","",0,100);progressMonitor.setProgress(0);task=newTask();task.addPropertyChangeListener(this);task.execute();startButton.setEnabled(false);}/*** Invoked when task's progress property changes.*/publicvoidpropertyChange(PropertyChangeEventevt){if("progress"==evt.getPropertyName()){intprogress=(Integer)evt.getNewValue();progressMonitor.setProgress(progress);Stringmessage=String.format("Completed %d%%.\n",progress);progressMonitor.setNote(message);taskOutput.append(message);if(progressMonitor.isCanceled()||task.isDone()){Toolkit.getDefaultToolkit().beep();if(progressMonitor.isCanceled()){task.cancel(true);taskOutput.append("Task canceled.\n");}else{taskOutput.append("Task completed.\n");}startButton.setEnabled(true);}}}/*** Create the GUI and show it. For thread safety,* this method should be invoked from the* event-dispatching thread.*/privatestaticvoidcreateAndShowGUI(){//Create and set up the window.JFrameframe=newJFrame("ProgressMonitorDemo");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//Create and set up the content pane.JComponentnewContentPane=newProgressMonitorDemo();newContentPane.setOpaque(true);//content panes must be opaqueframe.setContentPane(newContentPane);//Display the window.frame.pack();frame.setVisible(true);}publicstaticvoidmain(String[]args){//Schedule a job for the event-dispatching thread://creating and showing this application's GUI.javax.swing.SwingUtilities.invokeLater(newRunnable(){publicvoidrun(){createAndShowGUI();}});}}
lina
Desculpe,
mais eu queria alguma coisa relacionada ao meu código…
e no exemplo você usou o ProgressMonitor, não encontrei exemplos dele
aqui no guj, seu código esta em Java 5 provavelmente…