Artigos
Java
Criando um desktop virtual em sua aplicação
Criando um desktop virtual em sua aplicação
Esta dica de Swing ilustra um método de usar o fundo de sua aplicação como um desktop virtual. Este código usa o JDesktopPane que é um recipiente (geralmente para JInternalFrames) que simula um desktop. Tipicamente, o usuário criará JInternalFrames e ira’ colocá-los em um JDesktopPane. O usuário pode então interagir com o JInternalFrames como geralmente faz com os JFrames. As ações (minimize, maximize, próximo, etc.) são feitas usando um DesktopManager que esta’ associado com o JDesktopPane.
|
import javax.swing.*; import java.awt.event.*; import java.awt.*;
public class DesktopTest extends JFrame { public DesktopTest() { super( "Usando um JDesktopPane" );
JMenuBar bar = new JMenuBar(); JMenu addMenu = new JMenu( "Add" ); JMenuItem newFrame = new JMenuItem( "Frame Interno" ); addMenu.add( newFrame ); bar.add( addMenu ); setJMenuBar( bar );
final JDesktopPane theDesktop = new JDesktopPane(); getContentPane().add( theDesktop ); newFrame.addActionListener( new ActionListener() { public void actionPerformed( ActionEvent e ) { JInternalFrame frame = new JInternalFrame( "Frame Interno", true, true, true, true );
Container c = frame.getContentPane(); MyJPanel panel = new MyJPanel();
c.add( panel, BorderLayout.CENTER ); frame.setSize( panel.getImageWidthHeight().width, panel.getImageWidthHeight().height ); frame.setOpaque( true ); theDesktop.add( frame ); } } );
setSize( 500, 400 ); show(); }
public static void main( String args[] ) { DesktopTest app = new DesktopTest();
app.addWindowListener( new WindowAdapter() { public void windowClosing( WindowEvent e ) { System.exit( 0 ); } } ); } }
class MyJPanel extends JPanel { private ImageIcon imgIcon;
public MyJPanel() { imgIcon = new ImageIcon( "devmedia.gif" ); }
public void paintComponent( Graphics g ) { imgIcon.paintIcon( this, g, 0, 0 ); }
public Dimension getImageWidthHeight() { return new Dimension( imgIcon.getIconWidth(), imgIcon.getIconHeight() ); } } |