i fixed the file loading progress bar by creating a boolean isLoadingFile in OrderDB

This commit is contained in:
2011-01-09 18:42:04 +00:00
parent da038f97bb
commit b5da1bf2a7
2 changed files with 7 additions and 3 deletions

View File

@@ -43,6 +43,7 @@ public class OrderDB {
private ProgressListener mListener;
private PreparedStatement prep;
private String dbLocation;
private boolean isLoadingFile = false;
/**
* Creates a new OrderDB
@@ -113,7 +114,7 @@ public class OrderDB {
ByteArrayInputStream bais;
ObjectInputStream ins;
while (rs.next()) {
if(mListener != null)
if(mListener != null && ! isLoadingFile)
mListener.onProgressUpdate(row++);
bais = new ByteArrayInputStream(rs.getBytes("item"));
ins = new ObjectInputStream(bais);
@@ -138,6 +139,7 @@ public class OrderDB {
public void load(File file) throws SQLException, IOException, OrderExistsException, ClassNotFoundException{
Scanner scan = new Scanner(file);
int line = 1;
isLoadingFile = true;
Connection conn = getConnection();
prep = conn.prepareStatement(INSERT);
@@ -159,6 +161,8 @@ public class OrderDB {
e.printStackTrace();
}
}
conn.close();
isLoadingFile = false;
}
/**

View File

@@ -67,6 +67,7 @@ public class MainWindow extends JFrame implements ActionListener, ProgressListen
panel.add(mLoadFileButton);
mProgressBar = new JProgressBar();
mProgressBar.setStringPainted(true);
getContentPane().add(mProgressBar, BorderLayout.SOUTH);
setVisible(true);
pack();
@@ -111,7 +112,6 @@ public class MainWindow extends JFrame implements ActionListener, ProgressListen
mProgressBar.setIndeterminate(true);
mCurrentFile = fc.getSelectedFile().toString();
mProgressBar.setString(mCurrentFile);
mProgressBar.setStringPainted(true);
mProgressBar.setMaximum(countLines(fc.getSelectedFile())+1);
java.util.concurrent.Executors.newSingleThreadExecutor().submit(new Runnable() {
@@ -178,7 +178,7 @@ public class MainWindow extends JFrame implements ActionListener, ProgressListen
public void onProgressUpdate(int progress) {
progress++;
mProgressBar.setValue(progress);
mProgressBar.setString(" "+mCurrentFile + " ~ Parsing Order: "+progress+" of "+mProgressBar.getMaximum()+" ");
mProgressBar.setString(" "+mCurrentFile + " ~ Parsing Order: "+ progress +" of "+mProgressBar.getMaximum()+" ");
if(mProgressBar.isIndeterminate()) {
mProgressBar.setIndeterminate(false);
pack();