⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 progressaction.java

📁 fortran并行计算包
💻 JAVA
字号:
/* *  (C) 2001 by Argonne National Laboratory *      See COPYRIGHT in top-level directory. *//* *  @author  Anthony Chan */package viewer.convertor;import java.text.NumberFormat;import java.text.DecimalFormat;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JTextField;import javax.swing.JProgressBar;import java.io.File;public class ProgressAction implements ActionListener{    public  static final int            MIN_PROGRESS_VALUE  = 0;    public  static final int            MAX_PROGRESS_VALUE  = 100;    private static final double         KILOBYTE            = 1024.0d;    private static       DecimalFormat  fmt                 = null;        private JTextField    text_fld;    private JProgressBar  progress_bar;    private File          infile, outfile;    private long          infile_size, outfile_size;    public ProgressAction( JTextField    a_text_fld,                           JProgressBar  a_progress_bar )    {        text_fld      = a_text_fld;        if ( text_fld != null ) {            fmt = (DecimalFormat) NumberFormat.getInstance();            fmt.applyPattern( "#,###,###,##0.0" );            text_fld.setColumns( 18 );            text_fld.setHorizontalAlignment( JTextField.RIGHT );        }        progress_bar  = a_progress_bar;        if ( progress_bar != null ) {            progress_bar.setMinimum( MIN_PROGRESS_VALUE );            progress_bar.setMaximum( MAX_PROGRESS_VALUE );        }        infile        = null;        outfile       = null;        infile_size   = 0;        outfile_size  = 0;    }    public void initialize( File input_file, File output_file )    {        infile       = input_file;        outfile      = output_file;        if ( text_fld != null )            text_fld.setText( fmt.format( 0.0d ) + " KB" );        if ( progress_bar != null ) {            progress_bar.setValue( MIN_PROGRESS_VALUE );            infile_size  = infile.length();        }    }    // Cannot use finalize() as function name,    // finalize() overrides Object.finalize().    public void finish()    {        if ( progress_bar != null )            progress_bar.setValue( MAX_PROGRESS_VALUE );    }    public void actionPerformed( ActionEvent evt )    {        int     progress_min, progress_max;        double  progress_val;        outfile_size  = outfile.length();        if ( text_fld != null )            text_fld.setText( fmt.format( (double) outfile_size / KILOBYTE )                            + " KB" );                if ( progress_bar != null ) {            progress_min  = progress_bar.getMinimum();            progress_max  = progress_bar.getMaximum();            progress_val  = ( progress_max - progress_min )                          * (double) outfile_size / infile_size                          + progress_min;            progress_bar.setValue( (int) progress_val );        }    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -