Solved

applet covering drop down menu

Posted on 2004-04-28
21
1,120 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
ID: 10939821
Make sure it's a JApplet - Swing and AWT don't mix well in this respect
0
 
LVL 7

Expert Comment

by:maheshexp
ID: 10940022
disappears behnd the applet?????? :-?
0
 

Author Comment

by:Samooramad
ID: 10940053
i did.. it still doesn't work
0
Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
LVL 86

Expert Comment

by:CEHJ
ID: 10940078
Can you show how you add the JApplet?
0
 
LVL 7

Expert Comment

by:maheshexp
ID: 10940115
can you show the code
0
 

Author Comment

by:Samooramad
ID: 10940296
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
ID: 10940322
sorry
frame.getContentPane().add(bubble,null);
is actually:
frame.getContentPane().add(spots,null);
0
 
LVL 86

Expert Comment

by:CEHJ
ID: 10940339
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
ID: 10940357
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
ID: 10940403
yes i do
0
 

Author Comment

by:Samooramad
ID: 10940430
>>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
ID: 10940457
>>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
ID: 10940482
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
ID: 10940524
still doesn't work :(
0
 
LVL 3

Expert Comment

by:JavaInTheMorning
ID: 10942895
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
ID: 10944360
add the following call before you create your menu:

JPoupMenu.setDefaultLightWeightPopupEnabled(false);
0
 

Author Comment

by:Samooramad
ID: 10944950
JavaInTheMorning,
would you mind giving me an example?
0
 

Author Comment

by:Samooramad
ID: 10944962
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
ID: 10944990
never mind objects that worked!
thank you
0
 
LVL 92

Expert Comment

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

Expert Comment

by:objects
ID: 10945060
0

Featured Post

Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

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…
Introduction This article is the last of three articles that explain why and how the Experts Exchange QA Team does test automation for our web site. This article covers our test design approach and then goes through a simple test case example, how …
Viewers learn about the third conditional statement “else if” and use it in an example program. Then additional information about conditional statements is provided, covering the topic thoroughly. Viewers learn about the third conditional statement …
Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …

840 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