Solved

applet covering drop down menu

Posted on 2004-04-28
21
1,096 Views
Last Modified: 2013-11-23
I have an application with an internal frame that opens just beneath the menu bar. when i open an applet in the internal frame and select a menu item the drop down menu dissapears behind the applet.
how do i solve this?
0
Comment
Question by:Samooramad
  • 10
  • 5
  • 3
  • +2
21 Comments
 
LVL 86

Expert Comment

by:CEHJ
Comment Utility
Make sure it's a JApplet - Swing and AWT don't mix well in this respect
0
 
LVL 7

Expert Comment

by:maheshexp
Comment Utility
disappears behnd the applet?????? :-?
0
 

Author Comment

by:Samooramad
Comment Utility
i did.. it still doesn't work
0
 
LVL 86

Expert Comment

by:CEHJ
Comment Utility
Can you show how you add the JApplet?
0
 
LVL 7

Expert Comment

by:maheshexp
Comment Utility
can you show the code
0
 

Author Comment

by:Samooramad
Comment Utility
package me;

import java.awt.*;
import java.lang.String;
import java.awt.event.*;
import javax.swing.border.*;
import java.util.*;
import java.io.*;
import javax.swing.*;
import javax.swing.JApplet;
import java.applet.*;
import java.applet.AudioClip;
import dsvisualizer.node;
import java.text.*;
import me.*;
import java.awt.color.*;
import com.borland.jbcl.layout.*;

public class myFrame extends JFrame {
 JDesktopPane desktop = new JDesktopPane();
Applet Spots = new Spots();//Applet declaration

JMenuBar jMenuBar1 = new JMenuBar();
    .
    .
    .
menu items and border declarations
    .
    .
}
jMenuItem8.setText(" Sort");
    jMenuItem8.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        jMenuItem8_actionPerformed(e);
      }
    });

contentPane.setBorder(border2);
    contentPane.setBackground(Color.green);
    contentPane.setOpaque(true);
    contentPane.setLayout(borderLayout1);
    desktop.setBackground(Color.white);
    desktop.setOpaque(false);
    desktop.setLayout(borderLayout2);
     .
     .
     .
add menu items
    .
     .
contentPane.add(jMenuBar1, BorderLayout.NORTH);
    contentPane.add(desktop, BorderLayout.CENTER);
    contentPane.add(jToolBar1, BorderLayout.SOUTH);
}
void jMenuItem8_actionPerformed(ActionEvent e) {
      JInternalFrame[] openFrames = desktop.getAllFrames();
       for (int i = 0; i < openFrames.length; i++) {
        openFrames[i].dispose();
        }
        createspotsFrame();
}
//create internal frame for bubble sort
  protected void createspotsFrame() {
        MyInternalFrame frame = new MyInternalFrame();

        frame.getContentPane().add(bubble,null);
        frame.setTitle("spots");
        desktop.add(frame,BorderLayout.CENTER);
        frame.setOpaque(true);
        frame.setBackground(Color.white);
        frame.setSize(200,520);
        frame.setVisible(true);
        spots.init();
        }

/////////////////////////////
package me;

import javax.swing.JInternalFrame;
import java.awt.event.*;
import java.awt.*;

public class MyInternalFrame extends JInternalFrame {
    public MyInternalFrame() {
        super("",false, //resizable
              false, //closable
              false, //maximizable
              false);//iconifiable

       setSize(300,300);
       setLocation(100, 100);
    try {
      jbInit();
    }
    catch(Exception e) {
      e.printStackTrace();
    }
    }
  private void jbInit() throws Exception {
  }
}

0
 

Author Comment

by:Samooramad
Comment Utility
sorry
frame.getContentPane().add(bubble,null);
is actually:
frame.getContentPane().add(spots,null);
0
 
LVL 86

Expert Comment

by:CEHJ
Comment Utility
Firstly, i can see from your code that the applet is an Applet, not a JApplet. Secondly i don't see where you're adding it to anything anyway
0
 
LVL 86

Expert Comment

by:CEHJ
Comment Utility
I posted that before seeing your last. Don't you mean

frame.getContentPane().add(Spots,null);

?

If so, you must call init() on the applet before adding it
0
 

Author Comment

by:Samooramad
Comment Utility
yes i do
0
Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

 

Author Comment

by:Samooramad
Comment Utility
>>If so, you must call init() on the applet before adding it
but the applet works anyway
the only problem is its hiding the drop down menus of the menubar
0
 

Author Comment

by:Samooramad
Comment Utility
>>Firstly, i can see from your code that the applet is an Applet, not a JApplet
like i said ...i tried changing to JApplet but still had the same problem
0
 
LVL 86

Expert Comment

by:CEHJ
Comment Utility
Hmm. What happens when you change

>>frame.getContentPane().add(spots,null);

to

frame.getContentPane().add(spots, BorderLayout.CENTER);

or something other than null?
0
 

Author Comment

by:Samooramad
Comment Utility
still doesn't work :(
0
 
LVL 3

Expert Comment

by:JavaInTheMorning
Comment Utility
Well...
That's an ugly solution but you can try it:
Add a listener (if you don't already have one) to your menu, so that you'd know when the user is clicking it. When the user is clicking it, do the following:
spots.resize(0,0);

Then, when the user made his choice, resize spots back to the original size.

Itsik
0
 
LVL 92

Accepted Solution

by:
objects earned 500 total points
Comment Utility
add the following call before you create your menu:

JPoupMenu.setDefaultLightWeightPopupEnabled(false);
0
 

Author Comment

by:Samooramad
Comment Utility
JavaInTheMorning,
would you mind giving me an example?
0
 

Author Comment

by:Samooramad
Comment Utility
object,
add the following call before you create your menu:
do you mean before I add items to the menu bar or before adding the menubar to the contentPane?
0
 

Author Comment

by:Samooramad
Comment Utility
never mind objects that worked!
thank you
0
 
LVL 92

Expert Comment

by:objects
Comment Utility
u can add it to your main before you create your frame.
0
 
LVL 92

Expert Comment

by:objects
Comment Utility
0

Featured Post

How to improve team productivity

Quip adds documents, spreadsheets, and tasklists to your Slack experience
- Elevate ideas to Quip docs
- Share Quip docs in Slack
- Get notified of changes to your docs
- Available on iOS/Android/Desktop/Web
- Online/Offline

Join & Write a Comment

Suggested Solutions

An old method to applying the Singleton pattern in your Java code is to check if a static instance, defined in the same class that needs to be instantiated once and only once, is null and then create a new instance; otherwise, the pre-existing insta…
For beginner Java programmers or at least those new to the Eclipse IDE, the following tutorial will show some (four) ways in which you can import your Java projects to your Eclipse workbench. Introduction While learning Java can be done with…
Viewers learn about the “while” loop and how to utilize it correctly in Java. Additionally, viewers begin exploring how to include conditional statements within a while loop and avoid an endless loop. Define While Loop: Basic Example: Explanatio…
Viewers learn about the scanner class in this video and are introduced to receiving user input for their programs. Additionally, objects, conditional statements, and loops are used to help reinforce the concepts. Introduce Scanner class: Importing…

744 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now