ProgressDiagpublic class ProgressDiag extends JDialog implements ActionListenerThis 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 |
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 void | actionPerformed(java.awt.event.ActionEvent evt)
this.dispose();
| public void | enableDone()
doneButton.setEnabled(true);
| void | init()
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.String | nameOnly(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 void | sentErr(java.lang.String msg)
JOptionPane.showMessageDialog(this, msg, I18N.getResource("ProgressDiag.ERR"), JOptionPane.ERROR_MESSAGE);
this.dispose();
| public void | updateNote(java.lang.String str)
note.setText(str);
| public void | updateSourceInfo(long fsize, int cno)
srcfilesize.setText(new Long(fsize).toString());
srcclasscount.setText(new Integer(cno).toString());
| public void | updateTargetInfo(long fsize, int cno)
dstfilesize.setText(new Long(fsize).toString());
dstclasscount.setText(new Integer(cno).toString());
| public void | updateValue(int val)
if ( val >= pb.getMinimum() && val <= pb.getMaximum())
pb.setValue(val);
// repaint();
|
|