FULL PRODUCT VERSION :
build 1.6.0_10-beta-b25
ADDITIONAL OS VERSION INFORMATION :
Windows XP SP2
A DESCRIPTION OF THE PROBLEM :
when the applet is resized outside the browser (if it has been dragged) and closed afterwards, it is not automatically resized to fit into the provided space of the page.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
1. drag applet
2. resize window
3. close applet
4. check if applet fits into web page
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
applet is resized to fit into specified space on the web page
ACTUAL -
applet not automatically resized and does not fit into page
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
/*html file
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>
<applet width="200" height="200">
<param name="jnlp_href" value="DragExample.jnlp">
<param name="separate_jvm" value="true">
<param name="classloader_cache" value="false">
<param name="draggable" value="true">
</applet>
</p>
</body>
</html>
*/
/*JNLP
<?xml version="1.0" encoding="utf-8"?>
<jnlp codebase="file:/C:/nbWorkspace/AppletTest/" href="DragExample.jnlp">
<information>
<title>Simple Draggable Applet Example</title>
<vendor>test</vendor>
<homepage href="file:/C:/nbWorkspace/AppletTest/"/>
<description kind="short">
A simple draggable applet example showing customization of the drag gesture and close button, desktop integration, and fallback of applet services as the applet becomes disconnected.
</description>
<offline-allowed/>
<shortcut online="false">
<desktop/>
</shortcut>
</information>
<resources>
<j2se href="http://java.sun.com/products/autodl/j2se" version="1.6+"/>
<jar href="dist/AppletTest.jar" main="true" />
</resources>
<!-- width&height used when relaunching from the desktop shortcut -->
<applet-desc
name="Drag Example"
main-class="applet.DragExample"
width="200"
height="200">
</applet-desc>
</jnlp>
*/
package applet;
import java.awt.Container;
import java.awt.Frame;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
public class DragExample extends javax.swing.JApplet {
private ActionListener closeListener;
/** Initializes the applet DragExample */
@Override
public void init() {
try {
java.awt.EventQueue.invokeAndWait(new Runnable() {
public void run() {
initComponents();
label.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
if (closeListener != null)
closeListener.actionPerformed(null);
}
});
}
});
} catch (Exception ex) {
ex.printStackTrace();
}
}
public boolean isAppletDragStart(MouseEvent e) {
if(e.getID() == MouseEvent.MOUSE_DRAGGED)
return true;
else
return false;
}
public void appletDragStarted() {
Container container = this.getParent();
while(container != null) {
if(container instanceof Frame) {
Frame frame = (Frame)container;
frame.setResizable(true);
frame.setUndecorated(false);
return;
}
container = container.getParent();
}
}
public void setAppletCloseListener(ActionListener l) {
closeListener = l;
}
public void appletRestored() {
closeListener = null;
}
/** This method is called from within the init() method to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
label = new javax.swing.JLabel();
label.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
label.setText("drag me");
label.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(label, javax.swing.GroupLayout.DEFAULT_SIZE, 362, Short.MAX_VALUE)
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(label, javax.swing.GroupLayout.DEFAULT_SIZE, 241, Short.MAX_VALUE)
.addContainerGap())
);
}// </editor-fold>
// Variables declaration - do not modify
private javax.swing.JLabel label;
// End of variables declaration
}
---------- END SOURCE ----------
build 1.6.0_10-beta-b25
ADDITIONAL OS VERSION INFORMATION :
Windows XP SP2
A DESCRIPTION OF THE PROBLEM :
when the applet is resized outside the browser (if it has been dragged) and closed afterwards, it is not automatically resized to fit into the provided space of the page.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
1. drag applet
2. resize window
3. close applet
4. check if applet fits into web page
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
applet is resized to fit into specified space on the web page
ACTUAL -
applet not automatically resized and does not fit into page
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
/*html file
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>
<applet width="200" height="200">
<param name="jnlp_href" value="DragExample.jnlp">
<param name="separate_jvm" value="true">
<param name="classloader_cache" value="false">
<param name="draggable" value="true">
</applet>
</p>
</body>
</html>
*/
/*JNLP
<?xml version="1.0" encoding="utf-8"?>
<jnlp codebase="file:/C:/nbWorkspace/AppletTest/" href="DragExample.jnlp">
<information>
<title>Simple Draggable Applet Example</title>
<vendor>test</vendor>
<homepage href="file:/C:/nbWorkspace/AppletTest/"/>
<description kind="short">
A simple draggable applet example showing customization of the drag gesture and close button, desktop integration, and fallback of applet services as the applet becomes disconnected.
</description>
<offline-allowed/>
<shortcut online="false">
<desktop/>
</shortcut>
</information>
<resources>
<j2se href="http://java.sun.com/products/autodl/j2se" version="1.6+"/>
<jar href="dist/AppletTest.jar" main="true" />
</resources>
<!-- width&height used when relaunching from the desktop shortcut -->
<applet-desc
name="Drag Example"
main-class="applet.DragExample"
width="200"
height="200">
</applet-desc>
</jnlp>
*/
package applet;
import java.awt.Container;
import java.awt.Frame;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
public class DragExample extends javax.swing.JApplet {
private ActionListener closeListener;
/** Initializes the applet DragExample */
@Override
public void init() {
try {
java.awt.EventQueue.invokeAndWait(new Runnable() {
public void run() {
initComponents();
label.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
if (closeListener != null)
closeListener.actionPerformed(null);
}
});
}
});
} catch (Exception ex) {
ex.printStackTrace();
}
}
public boolean isAppletDragStart(MouseEvent e) {
if(e.getID() == MouseEvent.MOUSE_DRAGGED)
return true;
else
return false;
}
public void appletDragStarted() {
Container container = this.getParent();
while(container != null) {
if(container instanceof Frame) {
Frame frame = (Frame)container;
frame.setResizable(true);
frame.setUndecorated(false);
return;
}
container = container.getParent();
}
}
public void setAppletCloseListener(ActionListener l) {
closeListener = l;
}
public void appletRestored() {
closeListener = null;
}
/** This method is called from within the init() method to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
label = new javax.swing.JLabel();
label.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
label.setText("drag me");
label.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(label, javax.swing.GroupLayout.DEFAULT_SIZE, 362, Short.MAX_VALUE)
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(label, javax.swing.GroupLayout.DEFAULT_SIZE, 241, Short.MAX_VALUE)
.addContainerGap())
);
}// </editor-fold>
// Variables declaration - do not modify
private javax.swing.JLabel label;
// End of variables declaration
}
---------- END SOURCE ----------