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

View File

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