i fixed the file loading progress bar by creating a boolean isLoadingFile in OrderDB
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user