From: Hiroo H. <hir...@co...> - 2005-02-11 05:56:53
|
Hi Rib, Rib> > 4. Toolbar window close in SDI mode. Rib> > Rib> > Now when Toolbar window is closed, JSynthlib does not exit. I think it Rib> > is more straight-forward for a user if JSynthlib exits. Rib> Rib> I did it this way to act like Mac applications. Maybe this should be Rib> a platform dependent feature. At the lunch time I asked my colleague about the MacOSX interface. It getting more clear. Correct me if I am misunderstanding. The menu bar set by setJMenuBar() is shown at the top of the screen (not the frame). The menu bar for the active frame at that point is shown at the top of screen. What is shown at the top of screen, if setJMenuBar() is not called on the active frame? For other OSs, the toolbar looks like a kind of the center window. But for MacOSX it looks line just a one of frames. Is this the common way for toolbar in SDI mode on MacOSX? When all of frames are closed, it is not strange if the menu bar at the top of screen remains. (The 'invisible' frame is for this purpose.) This behavior on MacOSX is almost the behavior of JDesktopPane. It would be a clean implementation, if JDesktopPane had a mode in which mode the whole screen was treated as a desktop pane. Anyway now I understand your JSL* class much more. Rib> > 5. menu bar Rib> > Rib> > This is not visible for users. This may be a question to Rib. Rib> > Rib> > Now menu bar is created in JSLDesktop class. This make it difficult for Rib> > JSLDesktop class to be generic class, because the menu bar is JSynthlib Rib> > specific. I think it would be better to create and add the menu bar out Rib> > side of JSKDesktop class. Rib> Rib> The problem is that the menu bar has to be created for every JSLFrame. Rib> Maybe we should make a MenuFactory interface, and pass an instance of Rib> it to the JSLDesktop. It is better for each JSLFrame to have its own menu bar. There can be a JSLFrame without menu bar. It's a choice of application program. To keep the current behavior JSynthLib can add menubar on JSLFrame (which does not have menu bar by default) by extending JSLFrame. I think this is a flexible and clean way. The biggest problem now I see is the name of the extended class. org.jsynthlib.jsynthlib.JSLJSLFrame class !!!? -- Hiroo Hayashi |