Article View: borland.public.jbuilder.java.swing
Article #12602Re: Menubar and JInternalFrame
From: Steve Waters
Date: Fri, 11 Dec 1998 00:00
Date: Fri, 11 Dec 1998 00:00
182 lines
6466 bytes
6466 bytes
i will try to find my code that you can use, so wait for a day or so, while i look for it
have too many thing to do right now
as soon as i find it i will send.
Regards
Steve
Nadia Akrour wrote:
> We may be missing something obvious because it didn't work for us.....
> We tried it with the swing1.1beta2 MetalWorks example.
> Could you please take a look at the code and say me if you see something wrong. I
> have no more idea on what to do....
> Thanks in advance.
>
> ------------------------------------------------------------------------
> // class object with the frame in argument of the constructor
> public class OD {
>
> JSMenuBar m_MenuBar;
> JMenu m_menuEd;
> JMenuItem m_menuEdRaz;
> MetalworksDocumentFrame2 m_jif = null;
>
> public OD(MetalworksDocumentFrame2 jif) {
> m_jif = jif;
> // create the menubar
> m_MenuBar = new JMenuBar();
> m_menuEd = addMenu("Edition");
> m_menuEdRaz = addMenuItem(m_menuEd,"Raz");
> m_MenuBar.add(m_menuEd);
> m_jif.setJMenuBar(m_MenuBar);
> }
>
> // ------------
> public void finalize() throws Throwable {
> System.out.println("OD " + m_jif.getTitle() + " being GCed !");
> m_MenuBar = null;
> m_jif = null;
> super.finalize();
> }
>
> //------------------------
> private JMenu addMenu(String text) {
> JMenu me = new JMenu(text);
> me.setHorizontalTextPosition(JButton.RIGHT);
> return me;
> }
>
> //-------------------------------
> private JMenuItem addMenuItem(JMenu menu, String text) {
> JMenuItem mi;
> mi = menu.add(text);
> mi.setHorizontalTextPosition(JButton.RIGHT);
> mi.setBorderPainted(false);
> return mi;
> }
> }
>
> ---------------------------------------------------------------------------------------
>
> // class wich extends JInternalFrame
> public class MetalworksDocumentFrame2 extends JInternalFrame implements
> InternalFrameListener{
>
> JPanel top;
> static int openFrameCount = 0;
> static final int offset = 30;
> MetalworksFrame m_f;
>
> public MetalworksDocumentFrame2(MetalworksFrame f) {
> super("", true, true, true, true);
> m_f = f;
> openFrameCount++;
> setTitle("MetalworksDocumentFrame2 " + openFrameCount);
>
> top = new JPanel();
> top.setBorder(new EmptyBorder(30, 30, 30, 30));
> top.setLayout(new BorderLayout());
> getContentPane().add(top);
> pack();
> setLocation( offset * (openFrameCount % 20), offset * (openFrameCount% 20));
> addInternalFrameListener(this);
> }
>
> // ------------
> public void dispose() {
> System.out.println(getTitle() + " disposed !");
> m_f = null;
> super.dispose();
> }
>
> //----------------------------------------------
> /** InternalFrameListener interface */
> public void internalFrameOpened(InternalFrameEvent e) { }
> /** InternalFrameListener interface */
> public void internalFrameClosing(InternalFrameEvent e) { }
> /** InternalFrameListener interface */
> public void internalFrameClosed(InternalFrameEvent e) { dispose(); }
> /** InternalFrameListener interface */
> public void internalFrameIconified(InternalFrameEvent e) { }
> /** InternalFrameListener interface */
> public void internalFrameDeiconified(InternalFrameEvent e) { }
> /** InternalFrameListener interface */
> public void internalFrameActivated(InternalFrameEvent e) { }
> /** InternalFrameListener interface */
> public void internalFrameDeactivated(InternalFrameEvent e) { }
>
> // ------------
> public void finalize() throws Throwable {
> System.out.println(getTitle() + " being GCed !");
> super.finalize();
> }
> }
>
> ------------------------------------------------------------------------------------------------
>
> // main frame
> public class MetalworksFrame extends JFrame {
> ...
> ...
> // ------------------------------------
> // create 10 internal frames
> // ------------------------------------
> public void newDocument() {
> // add 10 internal frames
> for (int i = 0; i< 10; i++ ) {
> // create JInternalFrame
> MetalworksDocumentFrame2 doc = new MetalworksDocumentFrame2(this);
> // create object
> OD od = new OD(doc);
> // add JInternalFrame to the desktop pane
> desktop.add(doc, DOCLAYER);
> try {
> doc.setSelected(true);
> } catch (java.beans.PropertyVetoException e2) {}
> }
> // call the GC
> m_theApp.fullRtGC();
> }
>
> // -----------------------------------
> // close the internal frames
> // ------------------------------------
> public void openDocument() {
> try {
> // set the internal frames to closed
> JInternalFrame[] allframe = desktop.getAllFrames();
> for (int i = 0; i< allframe.length; i++ ) {
> JInternalFrame doc = allframe[i];
> doc.setClosed(true);
> }
> }
> catch (java.beans.PropertyVetoException e) { }
> m_theApp.fullRtGC();
> }
> ....
> }
>
> Steve Waters wrote:
>
> > 1. JinternalFrame
> > 2. a refererence to the frame
> > 3 setJmenu bar.
> >
> > it goes like this
> > code............
> > create internal frame
> > create object(pass frame)
> > more code
> >
> > * note when this class (above) is destroyed or made null you will no longer have
> > a pointer to this object below, so make sure you destroy it too.
> >
> > public create object(jinternalfrrame value)
> > blah
> > blah
> > set jmenu( value)
> > blah
> >
Technical Details
Message-ID:
<36714D12.FD00D4DE@bellsouth.net>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<366E5D45.9342BA14@spring.fr> <366F6314.73E5CDEE@bellsouth.net> <366FB425.C5E8333E@spring.fr> <36703797.9F0BB1B4@bellsouth.net> <36711773.C70A888F@spring.fr>Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 111d45,7a1fee86da1b3c36 X-Google-Attributes: gid111d45,public From: Steve Waters <steve_w@bellsouth.net> Subject: Re: Menubar and JInternalFrame Date: 1998/12/11 Message-ID: <36714D12.FD00D4DE@bellsouth.net> X-Deja-AN: 421234220 Content-Transfer-Encoding: 7bit References: <366E5D45.9342BA14@spring.fr> <366F6314.73E5CDEE@bellsouth.net> <366FB425.C5E8333E@spring.fr> <36703797.9F0BB1B4@bellsouth.net> <36711773.C70A888F@spring.fr> X-Accept-Language: en Content-Type: text/plain; charset=us-ascii Organization: Another Netscape Collabra Server User Mime-Version: 1.0 Newsgroups: borland.public.jbuilder.java.swing