Separate user interface from domain in java Swing
===

As a Java Swing newbie, I have some trouble separating the user interface logic from the domain logic.

I have a small (trivial?) Swing app with a JFrame that contains a JLabel, JTextField and a JButton. When pressing the JButton a JFileChooser dialog pops up. After selecting a file, the JTextField contains the absolute path to the file. Nothing spectaculair so far.
The next thing I want to accomplish is that this absolute path of the file is 'injected' into a file manager class that will handle the actual processing of the file when the selection is made and the JTextField is updated (each time a file is selected using the JButton).

Questions I have:

1. How do I let the file manager know when to start reading the file? (for example count the number of lines within that file)
2. How can I implement the domain layer in such a way that minimal information is shared within the UI layer? Should I add a filemanager instance to the UI?
3. Should I use the value of the JTextField as the reference towards the file manager, or should I use the JButton action to set the value into the file manager? What I mean by that is: use propertychangelistener of JTextField OR use actionlistener of JButton?
4. Should I use a filebean to store the absolute path of the file within the domain layer or just directly insert it to the file manager? The difference is: when I use a property change listener the value of the absolute file path can be updated when the UI input changes, but when I insert the value directly using a contructor or setter, I have to handle the change in the file manager instead of handle the change in the filebean.
5. How can I reference the filebean that is used in the UI within the file manager within the domain logic?
6. Is the domain logic the same as the business logic? I mean: file manager class should be in package whatever.b-logic and filebean class should be in package whatever.domain??

The application is divided into several packages:

 - whatever : main class 
 - whatever.presentation : swing stuff
 - whatever.domain : data stuff
 - whatever.logic : application logic

I hope I am clear enough...

Thanks in advance for clearing things up.