FileDocCategorySizeDatePackage
ProgressDiag.javaAPI DocJMF 2.1.1e5926Mon May 12 12:21:00 BST 2003com.sun.media.customizer

ProgressDiag

public class ProgressDiag extends JDialog implements ActionListener
This dialog class report the progress of customizing, including: how many classes have been loaded from source jar file how many classes have been written to target jar file
version
2.0

Fields Summary
String
srcname
String
dstname
JLabel
srcfilesize
JLabel
srcclasscount
JLabel
dstfilesize
JLabel
dstclasscount
JLabel
note
JProgressBar
pb
JButton
doneButton
boolean
twojars
Constructors Summary
public ProgressDiag(Frame parent, String srcname, String dstname, boolean twojars)

	super(parent, I18N.getResource("ProgressDiag.DTITLE"), true);
	this.srcname = srcname;
	this.dstname = dstname;
	this.twojars = twojars;

	init();
	// pack();
    
Methods Summary
public voidactionPerformed(java.awt.event.ActionEvent evt)

	this.dispose();
    
public voidenableDone()

	doneButton.setEnabled(true);
    
voidinit()

	Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
	int w = 420;
	int h = 350;
	this.setLocation(screenSize.width/2 - w/2,
			 screenSize.height/2 - h/2);
	this.setSize(w,h);
	setResizable(false);

	if ( srcname.length() > 40 )
	    srcname = nameOnly(srcname);

	BorderLayout borderlayout = new BorderLayout();
	//JPanel holder = new JPanel();
	//this.getContentPane().setLayout(borderlayout);
	//this.getContentPane().add("Center", holder);

	GridLayout grid31 = new GridLayout(3,1);
	JPanel srcPane = new JPanel(grid31);
	JPanel dstPane = new JPanel(grid31);
	JPanel barPane = new JPanel(grid31);
        srcPane.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), I18N.getResource("ProgressDiag.SRCJAR")));
        dstPane.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), I18N.getResource("ProgressDiag.TJAR")));

	// build srcPane, left alignment
	FlowLayout leftflow = new FlowLayout(FlowLayout.LEFT);
	JPanel srcnamePane = new JPanel(leftflow);
	srcnamePane.add(new JLabel(I18N.getResource("ProgressDiag.FN")));
	JLabel srcn = new JLabel(srcname);
	srcn.setForeground(Color.black);
	srcnamePane.add(srcn);
	JPanel srcsizePane = new JPanel(leftflow);
	srcsizePane.add(new JLabel(I18N.getResource("ProgressDiag.FS")));
	srcfilesize = new JLabel(" ");
	srcfilesize.setForeground(Color.black);
	srcsizePane.add(srcfilesize);
	JPanel srcclscountPane = new JPanel(leftflow);
	srcclscountPane.add(new JLabel(I18N.getResource("ProgressDiag.NOC")));
	srcclasscount = new JLabel(" ");
	srcclasscount.setForeground(Color.black);
	srcclscountPane.add(srcclasscount);
	srcPane.add(srcnamePane);
	srcPane.add(srcsizePane);
	srcPane.add(srcclscountPane);


	// build dstPane, left alignment
	JLabel dstn;
	
	if ( !twojars) {
	    if ( dstname.length() > 40 ) 
		dstname = nameOnly(dstname);
	    dstn = new JLabel(dstname);
	} else {
	    File df1 = new File(dstname);
	    String pp = df1.getParent() + File.separator;
	    String fn = df1.getName();
	    String newdst = pp + "core_" + fn + " & " + "plugin_" + fn;
	    if ( newdst.length() > 40 ) 
		newdst = nameOnly(newdst);
	    dstn = new JLabel(newdst);
	}

	JPanel dstnamePane = new JPanel(leftflow);
	dstnamePane.add(new JLabel(I18N.getResource("ProgressDiag.FN")));
	// JLabel dstn = new JLabel(dstname);
	dstn.setForeground(Color.black);
	dstnamePane.add(dstn);
	JPanel dstsizePane = new JPanel(leftflow);
	dstsizePane.add(new JLabel(I18N.getResource("ProgressDiag.FS")));
	dstfilesize = new JLabel(" ");
	dstfilesize.setForeground(Color.black);
	dstsizePane.add(dstfilesize);
	JPanel dstclscountPane = new JPanel(leftflow);
	dstclscountPane.add(new JLabel(I18N.getResource("ProgressDiag.NOC")));
	dstclasscount = new JLabel(" ");
	dstclasscount.setForeground(Color.black);
	dstclscountPane.add(dstclasscount);
	dstPane.add(dstnamePane);
	dstPane.add(dstsizePane);
	dstPane.add(dstclscountPane);

	// build barPane, center alignment
	JPanel notePane = new JPanel();
	JPanel buttonPane = new JPanel();
	note = new JLabel(I18N.getResource("ProgressDiag.LOAD"));
	note.setForeground(Color.black);
	notePane.add(note);
	doneButton = new JButton(I18N.getResource("ProgressDiag.DONE"));
	doneButton.addActionListener(this);
	doneButton.setEnabled(false);
	buttonPane.add(doneButton);

	pb = new JProgressBar();
	// pb.setSize(2*w/3, 25);
	JPanel pbPane = new JPanel();
	pbPane.add(pb);
	barPane.add(notePane);
	barPane.add(pbPane);
	barPane.add(buttonPane);

	// put them together
	JPanel holder = new JPanel(new GridLayout(2,1));
	holder.add(srcPane);
	holder.add(dstPane);
	this.getContentPane().setLayout(borderlayout);
	this.getContentPane().add("Center", holder);
	this.getContentPane().add("South", barPane);
	// holder.add(barPane);
    
private java.lang.StringnameOnly(java.lang.String srcStr)

	String ret = null;
	if (srcStr == null )
	    return null;

	int i = srcStr.lastIndexOf(File.separatorChar);
	ret = srcStr.substring(i+1);
	if ( ret != null && ret.length() > 40 ) 
	    ret = ret.substring(0, 40);
	return ret;
    
public voidsentErr(java.lang.String msg)

	JOptionPane.showMessageDialog(this, msg, I18N.getResource("ProgressDiag.ERR"), JOptionPane.ERROR_MESSAGE);
	this.dispose();
    
public voidupdateNote(java.lang.String str)

	note.setText(str);
    
public voidupdateSourceInfo(long fsize, int cno)

	srcfilesize.setText(new Long(fsize).toString());
	srcclasscount.setText(new Integer(cno).toString());
    
public voidupdateTargetInfo(long fsize, int cno)

	dstfilesize.setText(new Long(fsize).toString());
	dstclasscount.setText(new Integer(cno).toString());
    
public voidupdateValue(int val)

	if ( val >= pb.getMinimum() && val <= pb.getMaximum())
	    pb.setValue(val);
	// repaint();