I don't have my Mac here, so I can't try anything out, but I have some unrelated suggestions:
- Don't initialise variables outside of your constructor. Do it all in the constructor. This affects things like Serialization, and having class hierarchies.
- Don't have button1, button2, button3... Use an array, or give your JButtons real names.
- Asset_Monitor extends JFrame, and so is a JFrame, yet you have some other JFrame frame variable that you're putting all your stuff into.
-You make a lot of inner class ActionListeners. Instead, I make one ActionListener, and in actionPerformed I do:
if( event.getSource() == button1 ) { ... }
else if( event.getSource() == New ) { ... }
else if( event.getSource() == OpenLog ) { ... }
- If you're parsing several inputs, and on an error putting some message into a JOptionPane, then instead of doing one at a time, check all problems, and add all messages into a Vector, and then put that into the JOptionPane. That way if the user makes several mistakes, they'll get all the error messages at once, and can fix them all, instead of frustratingly re-entering data over and over.
- Put all your application state variables, like balance, weeks, days, daysLeft, perWeek, perDay into a separate object. It's good programming to have separation between your View code (Swing JFrame) and your Model (balance, weeks, etc.).
- Try not to have global variables, especially when it's unnecessary. Push temp1, temp2, temp3 down into openLog, and make openLog pass them as parameters into parseLog. Also, give them meaningful names.