InternalFrameDemopublic class InternalFrameDemo extends DemoModule
Fields Summary |
---|
int | windowCount | JDesktopPane | desktop | ImageIcon | icon1 | ImageIcon | icon2 | ImageIcon | icon3 | ImageIcon | icon4 | ImageIcon | smIcon1 | ImageIcon | smIcon2 | ImageIcon | smIcon3 | ImageIcon | smIcon4 | public Integer | FIRST_FRAME_LAYER | public Integer | DEMO_FRAME_LAYER | public Integer | PALETTE_LAYER | public int | FRAME0_X | public int | FRAME0_Y | public int | FRAME0_WIDTH | public int | FRAME0_HEIGHT | public int | FRAME_WIDTH | public int | FRAME_HEIGHT | public int | PALETTE_X | public int | PALETTE_Y | public int | PALETTE_WIDTH | public int | PALETTE_HEIGHT | JCheckBox | windowResizable | JCheckBox | windowClosable | JCheckBox | windowIconifiable | JCheckBox | windowMaximizable | JTextField | windowTitleField | JLabel | windowTitleLabel |
Constructors Summary |
---|
public InternalFrameDemo(SwingSet2 swingset)InternalFrameDemo Constructor
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);
|
Methods Summary |
---|
public javax.swing.JInternalFrame | createInternalFrame(javax.swing.Icon icon, java.lang.Integer layer, int width, int height)Create an internal frame and add a scrollable imageicon to it
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 javax.swing.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;
| public java.lang.Integer | getDemoFrameLayer()
return DEMO_FRAME_LAYER;
| public int | getFrameHeight()
return FRAME_HEIGHT;
| public int | getFrameWidth()
return FRAME_WIDTH;
| public static void | main(java.lang.String[] args)main method allows us to run as a standalone demo.
InternalFrameDemo demo = new InternalFrameDemo(null);
demo.mainImpl();
|
|