Как создать виртуальный рабочий стол в Вашей Applic

JDesktopPane

Этот совет Java Swing иллюстрирует способ использования фона вашего приложения в качестве виртуального рабочего стола. Этот код использует JDesktopPane которая представляет собой контейнер (обычно для JInternalFrames), который имитирует рабочий стол. Как правило, пользователю будет создавать JInternalFrames и поместите их в JDesktopPane. Затем пользователь может взаимодействовать с JInternalFrames как обычно они бы с JFrames. Действия (свернуть, развернуть, закрывать и т.д.) осуществляются с помощью DesktopManager, что связано с JDesktopPane.


import javax.swing.*;

import java.awt.event.*;

import java.awt.*;



public class DesktopTest extends JFrame {

   public DesktopTest()

   {

      super"Using a JDesktopPane" );



      JMenuBar bar = new JMenuBar();

      JMenu addMenu = new JMenu"Add" );

      JMenuItem newFrame = new JMenuItem"Internal Frame" );

      addMenu.addnewFrame );      

      bar.addaddMenu );

      setJMenuBarbar );      



      final JDesktopPane theDesktop = new JDesktopPane();

      getContentPane().addtheDesktop );

    

      newFrame.addActionListener(

         new ActionListener() {

            public void actionPerformedActionEvent e ) {

               JInternalFrame frame =

                  new JInternalFrame(

                     "Internal Frame",

                     true, true, true, true );



               Container c = frame.getContentPane();

               MyJPanel panel = new MyJPanel();



               c.addpanel, BorderLayout.CENTER );

               frame.setSize(

                  panel.getImageWidthHeight().width,

                  panel.getImageWidthHeight().height );

               frame.setOpaquetrue );

               theDesktop.addframe );

            }

         }

      );



      setSize500400 );

      show();

   }



   public static void mainString args[] )

   {     

      DesktopTest app = new DesktopTest();



      app.addWindowListener(

         new WindowAdapter() {

            public void windowClosingWindowEvent e )

            {

               System.exit);

            }

         }

      );

   }

}



class MyJPanel extends JPanel {

    private ImageIcon imgIcon;



    public MyJPanel()

    {

       imgIcon = new ImageIcon"java-tip.gif" );

    }



    public void paintComponentGraphics g )

    {

       imgIcon.paintIconthis, g, 0);

    }



    public Dimension getImageWidthHeight()

    {

       return new DimensionimgIcon.getIconWidth(),

                             imgIcon.getIconHeight() );  

    }

}

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>