Re: Help: strange behavio
To: comp.lang.java.gui
test\best\TestApp3.java
---------------------------------------
package test.best;
import java.awt.Dimension;
import java.awt.Toolkit;
import javax.swing.JFrame;
import javax.swing.UIManager;
public class TestApp3 {
public TestApp3() {
JFrame frame = new TestFrame3();
frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
frame.setVisible(true);
}
public static void main(String[] args) {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) {
e.printStackTrace();
}
new TestApp3();
}
}
test\best\TestFrame3.java
---------------------------------------
package test.best;
import cor.no.exception.CommonException;
import java.awt.Color;
import java.awt.Component;
import java.awt.Cursor;
import java.awt.Dimension;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class TestFrame3 extends JFrame {
private JComboBox jComboBox1 = new JComboBox(new String[]
{"Indicates","a","window","is","currently","the","active","window","Indicates","a","window","is","currently","the","active","window"});
private JLabel jLabel1 = new JLabel();
private JButton jButton1 = new JButton();
public TestFrame3() {
try {
jbInit();
} catch (Exception e) {
e.printStackTrace();
}
}
private void jbInit() throws Exception {
this.getContentPane().setLayout( null );
this.setSize(new Dimension(726, 458));
jComboBox1.setBounds(new Rectangle(200, 60, 140, 25));
jLabel1.setText("Back Combo");
jLabel1.setBounds(new Rectangle(45, 65, 110, 20));
jButton1.setText("Cover us with Glass");
jButton1.setBounds(new Rectangle(70, 125, 235, 30));
jButton1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
jButton1_actionPerformed(e);
}
});
this.getContentPane().add(jButton1, null);
this.getContentPane().add(jLabel1, null);
this.getContentPane().add(jComboBox1, null);
}
private void jButton1_actionPerformed(ActionEvent e) {
JComponent glassPane = (JComponent)this.getGlassPane();
glassPane.setOpaque(true);
glassPane.setBackground(Color.RED); // so that you can see
that it's there
glassPane.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); //
so that you can see that it's there
glassPane.addMouseListener(new MouseAdapter(){}); // ignores
all mouse events
TestInternalFrame3 tif = null;
tif = new TestInternalFrame3();
tif.setParentGlassPane(glassPane); // so that we can get rid
of glass pane when internal frame is closed
tif.setPreferredSize(new Dimension(400,400));
tif.setLocation(0,100);
tif.setResizable(true);
tif.setVisible(true);
glassPane.add(tif);
glassPane.setVisible(true);
}
}
test\best\TestInternalFrame3.java
---------------------------------------
package test.best;
import java.awt.BorderLayout;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JComponent;
import javax.swing.JInternalFrame;
import javax.swing.JPanel;
public class TestInternalFrame3 extends JInternalFrame {
private JPanel jPanel1 = new JPanel();
private JComboBox jComboBox1 = new JComboBox(new String[]
{"The","glass","pane","is","useful","when","you","want","to","be","able","to","catch","events","or","paint","over","an","area","that","already","contains","one","or","more","components"});
private JButton jButton1 = new JButton();
private JComponent glassPane = null;
public TestInternalFrame3() {
try {
jbInit();
} catch (Exception e) {
e.printStackTrace();
}
}
private void jbInit() throws Exception {
this.setTitle( "Test Internal Frame 3" );
jPanel1.setLayout(null);
jComboBox1.setBounds(new Rectangle(105, 90, 165, 25));
jComboBox1.setLightWeightPopupEnabled(false); // popup won't
show otherwise !!!!
jButton1.setText("Close modal window");
jButton1.setBounds(new Rectangle(140, 160, 88, 29));
jButton1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
jButton1_actionPerformed(e);
}
});
jPanel1.add(jButton1, null);
jPanel1.add(jComboBox1, null);
this.getContentPane().add(jPanel1, BorderLayout.CENTER);
}
private void jButton1_actionPerformed(ActionEvent e) {
this.dispose();
this.glassPane.setVisible(false);
}
public void setParentGlassPane(JComponent glassPane){
this.glassPane = glassPane;
}
}
---
* Synchronet * The Whitehouse BBS --- whitehouse.hulds.com --- check it out free usenet!
--- Synchronet 3.15a-Win32 NewsLink 1.92
Time Warp of the Future BBS - telnet://time.synchro.net:24