1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
|
/**
* Lanceur permettant d'afficher le glassPane et de faire divers tests.
* @param args
*/
public static void main(String... args)
{
// Nouvelle fenetre (1)
javax.swing.JFrame frame = new javax.swing.JFrame();
// Panneau principal (2)
final javax.swing.JPanel contentPane = new javax.swing.JPanel();
final CardLayout layout = new CardLayout();
contentPane.setBorder(javax.swing.BorderFactory.createLineBorder(java.awt.Color.RED));
// Panneau contenant tabbed + spinner (3)
javax.swing.JPanel composantPane = new javax.swing.JPanel();
composantPane.setLayout(new java.awt.BorderLayout());
// TabbedPane (4)
javax.swing.JTabbedPane tabbedPane = new javax.swing.JTabbedPane();
tabbedPane.addTab("Tab 1", new javax.swing.JPanel());
tabbedPane.addTab("Tab 2", new javax.swing.JPanel());
tabbedPane.addTab("Tab 3", new javax.swing.JPanel());
// Spinner+Button (5)
javax.swing.JSpinner spinner = new javax.swing.JSpinner();
javax.swing.JButton button = new javax.swing.JButton("show Glass");
button.addActionListener( new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
layout.next(contentPane);
}
});
// Ajout des composants (4+5) dans (3)
composantPane.add(spinner, java.awt.BorderLayout.NORTH);
composantPane.add(tabbedPane, java.awt.BorderLayout.CENTER);
composantPane.add(button, java.awt.BorderLayout.SOUTH);
// Création d'un panneau superposé au (2)
javax.swing.JPanel glassPane = new javax.swing.JPanel()
{
private final static long serialVersionUID = 1L;
public void paint(java.awt.Graphics g)
{
java.awt.Graphics2D g2 = (java.awt.Graphics2D) g;
g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.4F));
super.paint(g2);
}
};
glassPane.setOpaque(true);
glassPane.setBackground(java.awt.Color.RED);
glassPane.setBorder(javax.swing.BorderFactory.createLineBorder(java.awt.Color.GREEN));
glassPane.addMouseListener(new MouseListener()
{
public void mouseClicked(MouseEvent e) {}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
public void mousePressed(MouseEvent e) {}
public void mouseReleased(MouseEvent e)
{
layout.next(contentPane);
}
});
// Ajout des composants au (2)
contentPane.setLayout(layout);
contentPane.setPreferredSize(new java.awt.Dimension(300,300));
java.awt.GridBagConstraints c = new java.awt.GridBagConstraints();
c.gridx=0; c.gridy=0; c.weighty=1; c.weightx=1;
c.fill = java.awt.GridBagConstraints.BOTH;
composantPane.setBounds(0,0,contentPane.getPreferredSize().width, contentPane.getPreferredSize().height);
glassPane.setBounds(0,0,contentPane.getPreferredSize().width, contentPane.getPreferredSize().height);
contentPane.add(composantPane, "");
contentPane.add(glassPane, "");
// Ordre des composants affichés pour (2)
//contentPane.setComponentZOrder(glassPane, 0);
//contentPane.setComponentZOrder(composantPane, 1);
// Gestion de la fenêtre (1)
frame.setContentPane(contentPane);
frame.pack();
frame.setVisible(true);
} |
Partager