aspose file tools*
The moose likes Swing / AWT / SWT and the fly likes where r menuitems of popupmenu are defined when InternalFrames are minimized. Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Java 8 in Action this week in the Java 8 forum!
JavaRanch » Java Forums » Java » Swing / AWT / SWT
Bookmark "where r menuitems of popupmenu are defined when InternalFrames are minimized." Watch "where r menuitems of popupmenu are defined when InternalFrames are minimized." New topic
Author

where r menuitems of popupmenu are defined when InternalFrames are minimized.

Rajesh Honnappanavar
Greenhorn

Joined: Nov 06, 2003
Posts: 2
Hi All
i am working on Swings ie SwingSet2 application. i have mentioned my problem in my previous mail.Just i want to know when Internal frames are minimized , How it is done, what are the actions that take place. Now if click on the minimized frames a popmenu appears. which has items such as restore, maximize, minimize,close. I want to know where these items are defined/declared.How they are enabled and disabled?
I would be Grateful to you if you can help me in this regard.

Sample Code :


import javax.swing.*;
import javax.swing.event.*;
import javax.swing.text.*;
import javax.swing.border.*;
import javax.swing.colorchooser.*;
import javax.swing.filechooser.*;
import javax.accessibility.*;

import java.awt.*;
import java.awt.event.*;
import java.beans.*;
import java.util.*;
import java.io.*;
import java.applet.*;
import java.net.*;


public class InternalFrameDemo extends DemoModule {
int windowCount = 0;
JDesktopPane desktop = null;

ImageIcon icon1, icon2, icon3, icon4;
ImageIcon smIcon1, smIcon2, smIcon3, smIcon4;

public Integer FIRST_FRAME_LAYER = new Integer(1);
public Integer DEMO_FRAME_LAYER = new Integer(2);
public Integer PALETTE_LAYER = new Integer(3);

public int FRAME0_X = 15;
public int FRAME0_Y = 280;

public int FRAME0_WIDTH = 320;
public int FRAME0_HEIGHT = 230;

public int FRAME_WIDTH = 225;
public int FRAME_HEIGHT = 150;

public int PALETTE_X = 375;
public int PALETTE_Y = 20;

public int PALETTE_WIDTH = 260;
public int PALETTE_HEIGHT = 230;

JCheckBox windowResizable = null;
JCheckBox windowClosable = null;
JCheckBox windowIconifiable = null;
JCheckBox windowMaximizable = null;

JTextField windowTitleField = null;
JLabel windowTitleLabel = null;


/**
* main method allows us to run as a standalone demo.
*/
public static void main(String[] args) {
InternalFrameDemo demo = new InternalFrameDemo(null);
demo.mainImpl();
}

/**
* InternalFrameDemo Constructor
*/
public InternalFrameDemo(SwingSet2 swingset) {
super(swingset, "InternalFrameDemo", "toolbar/JDesktop.gif");

// preload all the icons we need for this demo
icon1 = createImageIcon("ImageClub/misc/fish.gif", getString("InternalFrameDemo.fish"));
icon2 = createImageIcon("ImageClub/misc/moon.gif", getString("InternalFrameDemo.moon"));
icon3 = createImageIcon("ImageClub/misc/sun.gif", getString("InternalFrameDemo.sun"));
icon4 = createImageIcon("ImageClub/misc/cab.gif", getString("InternalFrameDemo.cab"));

smIcon1 = createImageIcon("ImageClub/misc/fish_small.gif", getString("InternalFrameDemo.fish"));
smIcon2 = createImageIcon("ImageClub/misc/moon_small.gif", getString("InternalFrameDemo.moon"));
smIcon3 = createImageIcon("ImageClub/misc/sun_small.gif", getString("InternalFrameDemo.sun"));
smIcon4 = createImageIcon("ImageClub/misc/cab_small.gif", getString("InternalFrameDemo.cab"));

// Create the desktop pane
desktop = new JDesktopPane();
getDemoPanel().add(desktop, BorderLayout.CENTER);

// Create the "frame maker" palette
createInternalFramePalette();

// Create an initial internal frame to show
JInternalFrame frame1 = createInternalFrame(icon1, FIRST_FRAME_LAYER, 1, 1);
frame1.setBounds(FRAME0_X, FRAME0_Y, FRAME0_WIDTH, FRAME0_HEIGHT);

// Create four more starter windows
createInternalFrame(icon1, DEMO_FRAME_LAYER, FRAME_WIDTH, FRAME_HEIGHT);
createInternalFrame(icon3, DEMO_FRAME_LAYER, FRAME_WIDTH, FRAME_HEIGHT);
createInternalFrame(icon4, DEMO_FRAME_LAYER, FRAME_WIDTH, FRAME_HEIGHT);
createInternalFrame(icon2, DEMO_FRAME_LAYER, FRAME_WIDTH, FRAME_HEIGHT);
}



/**
* Create an internal frame and add a scrollable imageicon to it
*/
public JInternalFrame createInternalFrame(Icon icon, Integer layer, int width, int height) {
JInternalFrame jif = new JInternalFrame();

if(!windowTitleField.getText().equals(getString("InternalFrameDemo.frame_label"))) {
jif.setTitle(windowTitleField.getText() + " ");
} else {
jif = new JInternalFrame(getString("InternalFrameDemo.frame_label") + " " + windowCount + " ");
}

// set properties
jif.setClosable(windowClosable.isSelected());
jif.setMaximizable(windowMaximizable.isSelected());
jif.setIconifiable(windowIconifiable.isSelected());
jif.setResizable(windowResizable.isSelected());
jif.getAccessibleContext().setAccessibleName(jif.getTitle());

jif.setBounds(20*(windowCount%10), 20*(windowCount%10), width, height);
jif.setContentPane(new ImageScroller(this, icon, 0, windowCount));

windowCount++;

desktop.add(jif, layer);

// Set this internal frame to be selected

try {
jif.setSelected(true);
} catch (java.beans.PropertyVetoException e2) {
}

jif.show();

return jif;
}

public JInternalFrame createInternalFramePalette() {
JInternalFrame palette = new JInternalFrame(
getString("InternalFrameDemo.palette_label")
);
palette.putClientProperty("JInternalFrame.isPalette", Boolean.TRUE);
palette.getContentPane().setLayout(new BorderLayout());
palette.setBounds(PALETTE_X, PALETTE_Y, PALETTE_WIDTH, PALETTE_HEIGHT);
palette.setResizable(true);
palette.setIconifiable(true);
desktop.add(palette, PALETTE_LAYER);

// *************************************
// * Create create frame maker buttons *
// *************************************
JButton b1 = new JButton(smIcon1);
b1.getAccessibleContext().setAccessibleName(smIcon1.getDescription());
JButton b2 = new JButton(smIcon2);
b2.getAccessibleContext().setAccessibleName(smIcon2.getDescription());
JButton b3 = new JButton(smIcon3);
b3.getAccessibleContext().setAccessibleName(smIcon3.getDescription());
JButton b4 = new JButton(smIcon4);
b4.getAccessibleContext().setAccessibleName(smIcon4.getDescription());

// add frame maker actions
b1.addActionListener(new ShowFrameAction(this, icon1));
b2.addActionListener(new ShowFrameAction(this, icon2));
b3.addActionListener(new ShowFrameAction(this, icon3));
b4.addActionListener(new ShowFrameAction(this, icon4));

// add frame maker buttons to panel
JPanel p = new JPanel();
p.setLayout(new BoxLayout(p, BoxLayout.Y_AXIS));

JPanel buttons1 = new JPanel();
buttons1.setLayout(new BoxLayout(buttons1, BoxLayout.X_AXIS));

JPanel buttons2 = new JPanel();
buttons2.setLayout(new BoxLayout(buttons2, BoxLayout.X_AXIS));

buttons1.add(b1);
buttons1.add(Box.createRigidArea(HGAP15));
buttons1.add(b2);

buttons2.add(b3);
buttons2.add(Box.createRigidArea(HGAP15));
buttons2.add(b4);

p.add(Box.createRigidArea(VGAP10));
p.add(buttons1);
p.add(Box.createRigidArea(VGAP15));
p.add(buttons2);
p.add(Box.createRigidArea(VGAP10));

palette.getContentPane().add(p, BorderLayout.NORTH);

// ************************************
// * Create frame property checkboxes *
// ************************************
p = new JPanel() {
Insets insets = new Insets(10,15,10,5);
public Insets getInsets() {
return insets;
}
};
p.setLayout(new GridLayout(2,2));


windowResizable = new JCheckBox(getString("InternalFrameDemo.resizable_label"), true);
windowClosable = new JCheckBox(getString("InternalFrameDemo.closable_label"), true);
windowIconifiable = new JCheckBox(getString("InternalFrameDemo.iconifiable_label"), true);
windowMaximizable = new JCheckBox(getString("InternalFrameDemo.maximizable_label"), true);

p.add(windowResizable);
p.add(windowClosable);
p.add(windowIconifiable);
p.add(windowMaximizable);

palette.getContentPane().add(p, BorderLayout.CENTER);


// ************************************
// * Create Frame title textfield *
// ************************************
p = new JPanel() {
Insets insets = new Insets(0,0,10,0);
public Insets getInsets() {
return insets;
}
};

windowTitleField = new JTextField(getString("InternalFrameDemo.frame_label"));
windowTitleLabel = new JLabel(getString("InternalFrameDemo.title_text_field_label"));

p.setLayout(new BoxLayout(p, BoxLayout.X_AXIS));
p.add(Box.createRigidArea(HGAP5));
p.add(windowTitleLabel, BorderLayout.WEST);
p.add(Box.createRigidArea(HGAP5));
p.add(windowTitleField, BorderLayout.CENTER);
p.add(Box.createRigidArea(HGAP5));

palette.getContentPane().add(p, BorderLayout.SOUTH);

palette.show();

return palette;
}


class ShowFrameAction extends AbstractAction {
InternalFrameDemo demo;
Icon icon;


public ShowFrameAction(InternalFrameDemo demo, Icon icon) {
this.demo = demo;
this.icon = icon;
}

public void actionPerformed(ActionEvent e) {
demo.createInternalFrame(icon,
getDemoFrameLayer(),
getFrameWidth(),
getFrameHeight()
);
}
}

public int getFrameWidth() {
return FRAME_WIDTH;
}

public int getFrameHeight() {
return FRAME_HEIGHT;
}

public Integer getDemoFrameLayer() {
return DEMO_FRAME_LAYER;
}

class ImageScroller extends JScrollPane {

public ImageScroller(InternalFrameDemo demo, Icon icon, int layer, int count) {
super();
JPanel p = new JPanel();
p.setBackground(Color.white);
p.setLayout(new BorderLayout() );

p.add(new JLabel(icon), BorderLayout.CENTER);

getViewport().add(p);
}

public Dimension getMinimumSize() {
return new Dimension(25, 25);
}

}


}
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: where r menuitems of popupmenu are defined when InternalFrames are minimized.
 
Similar Threads
JLabel , image
How to add a tooltip in an applet
Someone Please Help! Graphics 2D
SwingSet2 popup menu items are wrong when Look & Feel is changed
loading frame/internalframe inside an internalframe