From b5da1bf2a7a6db4d81a4d06f0d532d7f84da5a84 Mon Sep 17 00:00:00 2001 From: ricky barrette Date: Sun, 9 Jan 2011 18:42:04 +0000 Subject: [PATCH] i fixed the file loading progress bar by creating a boolean isLoadingFile in OrderDB --- .../src/com/TwentyCodes/java/OrderProcessor/DB/OrderDB.java | 6 +++++- .../com/TwentyCodes/java/OrderProcessor/UI/MainWindow.java | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/Order Processor/src/com/TwentyCodes/java/OrderProcessor/DB/OrderDB.java b/Order Processor/src/com/TwentyCodes/java/OrderProcessor/DB/OrderDB.java index 85e5cf1..d556e6c 100644 --- a/Order Processor/src/com/TwentyCodes/java/OrderProcessor/DB/OrderDB.java +++ b/Order Processor/src/com/TwentyCodes/java/OrderProcessor/DB/OrderDB.java @@ -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; } /** diff --git a/Order Processor/src/com/TwentyCodes/java/OrderProcessor/UI/MainWindow.java b/Order Processor/src/com/TwentyCodes/java/OrderProcessor/UI/MainWindow.java index 9a46d49..b77a2b8 100644 --- a/Order Processor/src/com/TwentyCodes/java/OrderProcessor/UI/MainWindow.java +++ b/Order Processor/src/com/TwentyCodes/java/OrderProcessor/UI/MainWindow.java @@ -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();