Win a copy of Spark in Action this week in the Open Source Projects forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Bear Bibeault
  • Ron McLeod
  • Jeanne Boyarsky
  • Paul Clapham
Sheriffs:
  • Tim Cooke
  • Liutauras Vilda
  • Junilu Lacar
Saloon Keepers:
  • Tim Moores
  • Stephan van Hulst
  • Tim Holloway
  • fred rosenberger
  • salvin francis
Bartenders:
  • Piet Souris
  • Frits Walraven
  • Carey Brown

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

 
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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);
}

}


}
 
Don't get me started about those stupid light bulbs.
    Bookmark Topic Watch Topic
  • New Topic