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
|
import javax.swing.*;
import java.awt.*;
import java.awt.geom.AffineTransform;
public class RootLayeredPaneDemo extends JPanel
{
public RootLayeredPaneDemo(JLayeredPane layeredPane)
{
JInternalFrame dummyTest = new JInternalFrame();
dummyTest.setSize(100, 100);
dummyTest.setLocation(120, 100);
dummyTest.putClientProperty("JInternalFrame.isPalette", Boolean.TRUE);
dummyTest.setVisible(true);
layeredPane.add(dummyTest, 1);
IMGPanel panel = new IMGPanel(false);
panel.setSize(100, 100);
panel.setLocation(0, 0);
layeredPane.add(panel, 0);
IMGPanel panel2 = new IMGPanel(true);
panel2.setSize(100, 100);
panel2.setLocation(150, 0);
layeredPane.add(panel2, 0);
}
private class IMGPanel extends JPanel
{
boolean at;
public IMGPanel(boolean at)
{
this.at = at;
}
@Override
public void paintComponent(Graphics graphics)
{
Graphics2D g = (Graphics2D) graphics;
g.setColor(Color.red);
g.clearRect(0, 0, getWidth(), getHeight());
if (at)
g.setTransform(new AffineTransform());
g.drawLine(0, getHeight()/2, getWidth(), getHeight()/2);
g.drawLine(getWidth()/2, 0, getWidth()/2, getHeight());
}
}
private static void createAndShowGUI()
{
//Create and set up the window.
JFrame frame = new JFrame("RootLayeredPaneDemo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//Create and set up the content pane.
RootLayeredPaneDemo newContentPane = new RootLayeredPaneDemo(
frame.getLayeredPane());
newContentPane.setOpaque(true); //content panes must be opaque
frame.setContentPane(newContentPane);
//Display the window.
frame.setSize(new Dimension(300, 350));
frame.setVisible(true);
}
public static void main(String[] args)
{
//Schedule a job for the event-dispatching thread:
//creating and showing this application's GUI.
javax.swing.SwingUtilities.invokeLater(new Runnable()
{
public void run()
{
createAndShowGUI();
}
});
}
} |
Partager