Προς το περιεχόμενο

[Solved] Java GUI: ProgressBar


Evangeli

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπέρα σε όλους.

 

Γνωρίζετε μήπως, πως μπορώ να κάνω την progressbar μου να δείχνει την... πρόοδο; Έχω βρει πολλά παραδείγματα, αλλά όλα ανοίγουν σε νέα παράθυρα ενώ εγώ θέλω η πρόοδος να εμφανίζεται στο ένα και μοναδικό frame που υπάρχει στον κώδικα που επισυνάπτεται (αντικείμενο jProgressBar1).

Δημοσ.

γίνεται με Threads έτσι

 

>

import java.io.*;
import java.io.File;
import java.io.IOException;
import java.awt.*;
import java.awt.event.*;
import java.awt.Container;
import java.awt.BorderLayout;
//import weka.core.Instances;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.StringTokenizer;
//import weka.classifiers.*;

//import weka.classifiers.meta.Bagging;
//import weka.classifiers.rules.M5Rules;
//import weka.classifiers.functions.RBFNetwork;

//import weka.classifiers.functions.PaceRegression;
//import weka.classifiers.functions.GaussianProcesses;
import javax.swing.*;

import javax.swing.JFrame;
import javax.swing.JProgressBar;
import javax.swing.JFileChooser;
import javax.swing.border.Border;

import javax.swing.BorderFactory;
//import org.apache.commons.io.FileUtils;

public class SimulationFrame extends javax.swing.JFrame[color="Red"] implements Runnable{//αλλαγή 1
[/color]
   /** Creates new form SimulationFrame */
   public SimulationFrame() {
       initComponents();
   }
   
[color="Red"]    public void run(){//αλλαγή 2
   	System.out.println("running...");
     while (num < 101) {
     jProgressBar1.setValue(num);
     jProgressBar1.setStringPainted(true);
     System.out.println(jProgressBar1.getValue());
     try {
       Thread.sleep(1000);
     } catch (InterruptedException e) {}
     num += 10;
   }
   }[/color]

   /**
    * This method is called from within the constructor to initialize the form.
    * WARNING: Do NOT modify this code. The content of this method is always
    * regenerated by the Form Editor.
    */
   @SuppressWarnings("unchecked")
   // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
   private void initComponents() {

       jButton1 = new javax.swing.JButton();
       jScrollPane1 = new javax.swing.JScrollPane();
       jTextArea1 = new javax.swing.JTextArea();
       jLabel10 = new javax.swing.JLabel();
       jProgressBar1 = new javax.swing.JProgressBar();

       setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
       setTitle("Simulation");
       setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
       setResizable(false);

       jButton1.setText("Start Simulation");
       jButton1.addActionListener(new java.awt.event.ActionListener() {
           public void actionPerformed(java.awt.event.ActionEvent evt) {
               jButton1ActionPerformed(evt);
           }
       });

       jTextArea1.setColumns(20);
       jTextArea1.setRows(5);
       jScrollPane1.setViewportView(jTextArea1);

       jLabel10.setText("Intermediate Window:");

       javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
       getContentPane().setLayout(layout);
       layout.setHorizontalGroup(
           layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
           .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
               .addContainerGap()
               .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                   .addComponent(jLabel10, javax.swing.GroupLayout.Alignment.LEADING)
                   .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
                       .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 532, javax.swing.GroupLayout.PREFERRED_SIZE)
                       .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                       .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                           .addComponent(jButton1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 170, Short.MAX_VALUE)
                           .addGroup(layout.createSequentialGroup()
                               .addComponent(jProgressBar1, javax.swing.GroupLayout.PREFERRED_SIZE, 170, javax.swing.GroupLayout.PREFERRED_SIZE)
                               .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)))))
               .addGap(10, 10, 10))
       );
       layout.setVerticalGroup(
           layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
           .addGroup(layout.createSequentialGroup()
               .addContainerGap()
               .addComponent(jLabel10)
               .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
               .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                   .addGroup(layout.createSequentialGroup()
                       .addGap(94, 94, 94)
                       .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                       .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                       .addComponent(jProgressBar1, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE))
                   .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 244, Short.MAX_VALUE))
               .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
       );

       pack();
   }// </editor-fold>//GEN-END:initComponents



   



   private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed


 //JProgressBar jProgressBar2 = new JProgressBar(0, 2000);
 
[color="Red"]num=0;//αλλαγή 3[/color]
   //setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 //JPanel pane = new JPanel();
 jProgressBar1.setMinimum(1);
 jProgressBar1.setMaximum(99);
 jProgressBar1.setValue(num);
   //jProgressBar1.setStringPainted(true);
   //pane.add(jProgressBar1);
   //setContentPane(pane);
[color="Red"]new Thread(this).start();//αλλαγή 4[/color]


   }//GEN-LAST:event_jButton1ActionPerformed

   public static void main(String args[]) {
       java.awt.EventQueue.invokeLater(new Runnable() {
           public void run() {
               new SimulationFrame().setVisible(true);
           }
       });
   }

   // Variables declaration - do not modify//GEN-BEGIN:variables
   private javax.swing.JButton jButton1;
   private javax.swing.JLabel jLabel10;
   private javax.swing.JProgressBar jProgressBar1;
   private javax.swing.JScrollPane jScrollPane1;
   private javax.swing.JTextArea jTextArea1;
   [color="Red"]private int num = 0;//αλλαγή 5[/color]
   // End of variables declaration//GEN-END:variables
}

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...