Java by API/javax.swing/JLayeredPane — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
|
(нет различий)
|
Текущая версия на 14:19, 31 мая 2010
Содержание
JLayeredPane: add(Component comp, Object constraints)
import java.awt.Color;
import javax.swing.JButton;
import javax.swing.JFrame;
public class Main extends JFrame {
public Main() {
super("");
setSize(570, 400);
getContentPane().setBackground(new Color(244, 232, 152));
getLayeredPane().setOpaque(true);
JButton[] frames = new JButton[5];
for (int i = 0; i < 5; i++) {
frames[i] = new JButton("InnerFrame " + i);
frames[i].setBounds(50 + i * 20, 50 + i * 20, 200, 200);
getLayeredPane().add(frames[i]);
}
super.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String[] args) {
new Main();
}
}
JLayeredPane.DEFAULT_LAYER
import java.awt.BorderLayout;
import javax.swing.JDesktopPane;
import javax.swing.JFrame;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JLayeredPane;
public class MainClass {
public static void main(String args[]) {
JFrame f = new JFrame("Sample");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLayeredPane desktop = new JDesktopPane();
desktop.setOpaque(false);
desktop.add(new SelfInternalFrame("1"), JLayeredPane.POPUP_LAYER);
desktop.add(new SelfInternalFrame("2"), JLayeredPane.DEFAULT_LAYER);
desktop.add(new SelfInternalFrame("3"), JLayeredPane.PALETTE_LAYER);
f.add(desktop, BorderLayout.CENTER);
f.setSize(300, 200);
f.setVisible(true);
}
}
class SelfInternalFrame extends JInternalFrame {
public SelfInternalFrame(String s) {
getContentPane().add(new JLabel(s), BorderLayout.CENTER);
setBounds(50, 50, 100, 100);
setResizable(true);
setClosable(true);
setMaximizable(true);
setIconifiable(true);
setTitle(s);
setVisible(true);
}
}
JLayeredPane: getAccessibleContext()
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.accessibility.AccessibleContext;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class MainClass extends JFrame implements ActionListener {
JButton jb;
MainClass(String title) {
super(title);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
AccessibleContext ac = getAccessibleContext();
ac.setAccessibleDescription("Accessibility Demo1 description.");
ac = getRootPane().getAccessibleContext();
ac.setAccessibleName("Root pane");
ac.setAccessibleDescription("Root pane description");
ac = getGlassPane().getAccessibleContext();
ac.setAccessibleName("Glass pane");
ac.setAccessibleDescription("Glass pane description");
ac = getLayeredPane().getAccessibleContext();
ac.setAccessibleName("Layered pane");
ac.setAccessibleDescription("Layered pane description");
ac = getContentPane().getAccessibleContext();
ac.setAccessibleName("Content pane");
ac.setAccessibleDescription("Content pane description");
JPanel p = new JPanel();
ac = p.getAccessibleContext();
ac.setAccessibleName("Panel");
ac.setAccessibleDescription("Panel description");
jb = new JButton("Press Me");
jb.addActionListener(this);
jb.setToolTipText("Press me for accessibility information.");
p.add(jb);
getContentPane().add(p);
setSize(200, 75);
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
dumpInfo(getAccessibleContext());
}
void dumpInfo(AccessibleContext ac) {
System.out.println("Name = " + ac.getAccessibleName());
System.out.println("Description = " + ac.getAccessibleDescription());
int nChildren = ac.getAccessibleChildrenCount();
for (int i = 0; i < nChildren; i++)
dumpInfo(ac.getAccessibleChild(i).getAccessibleContext());
}
public static void main(String[] args) {
new MainClass("Accessibility Demo1");
}
}
JLayeredPane.PALETTE_LAYER
import java.awt.BorderLayout;
import javax.swing.JDesktopPane;
import javax.swing.JFrame;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JLayeredPane;
public class MainClass {
public static void main(String args[]) {
JFrame f = new JFrame("Sample");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLayeredPane desktop = new JDesktopPane();
desktop.setOpaque(false);
desktop.add(new SelfInternalFrame("1"), JLayeredPane.POPUP_LAYER);
desktop.add(new SelfInternalFrame("2"), JLayeredPane.DEFAULT_LAYER);
desktop.add(new SelfInternalFrame("3"), JLayeredPane.PALETTE_LAYER);
f.add(desktop, BorderLayout.CENTER);
f.setSize(300, 200);
f.setVisible(true);
}
}
class SelfInternalFrame extends JInternalFrame {
public SelfInternalFrame(String s) {
getContentPane().add(new JLabel(s), BorderLayout.CENTER);
setBounds(50, 50, 100, 100);
setResizable(true);
setClosable(true);
setMaximizable(true);
setIconifiable(true);
setTitle(s);
setVisible(true);
}
}
JLayeredPane.POPUP_LAYER
import java.awt.BorderLayout;
import javax.swing.JDesktopPane;
import javax.swing.JFrame;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JLayeredPane;
public class MainClass {
public static void main(String args[]) {
JFrame f = new JFrame("Sample");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLayeredPane desktop = new JDesktopPane();
desktop.setOpaque(false);
desktop.add(new SelfInternalFrame("1"), JLayeredPane.POPUP_LAYER);
f.add(desktop, BorderLayout.CENTER);
f.setSize(300, 200);
f.setVisible(true);
}
}
class SelfInternalFrame extends JInternalFrame {
public SelfInternalFrame(String s) {
getContentPane().add(new JLabel(s), BorderLayout.CENTER);
setBounds(50, 50, 100, 100);
setResizable(true);
setClosable(true);
setMaximizable(true);
setIconifiable(true);
setTitle(s);
setVisible(true);
}
}