Algum pode explicar a função da classe DesktopManeger e MydesktopPane sobre Main Principal de Forme

0 respostas
fabiano-under

Olá estou desenvolvendo sistema de cadastro onde aprendi junto com colega adesenvolver um form q trabalha com metodos desta duas classe MydesktopPane e DesktopManeger mais não entendi sua funcionalida algem podeia me explicara ficaria grato…

Muito Obrigado Pela Atenção

package br.com.pacote.lib;

import java.awt.<em>;

import java.awt.event.</em>;

import java.beans.<em>;

import <a href="http://java.net">java.net</a>.</em>;

import java.sql.<em>;

import java.text.</em>;

import java.util.<em>;

import java.util.Timer;

import java.util.TimerTask;

import javax.swing.</em>;

import javax.swing.UIManager;

import javax.swing.border.<em>;

import javax.swing.event.</em>;

public class DesktopManager extends DefaultDesktopManager {

Dimension ps = null;

    public void beginDraggingFrame(JComponent f)
    {
        ps = f.getParent().getSize(); //tamanho original do desktop
        super.beginDraggingFrame(f);
    }

    public void dragFrame(JComponent f, int newX, int newY)
    {
        super.dragFrame(f, newX, newY);
    }

    public void endDraggingFrame(JComponent f)
    {
        Rectangle rf = f.getBounds();
        boolean changeNeeded = false;

        try
        {
            // ajusta o tamanho do se for extendido para o lado direito da tela ou p baixo
            if (ps.width < (rf.x + rf.width))
            {
                changeNeeded = true;
                ps.width = rf.x + rf.width;
            }

            if (ps.height < (rf.y + rf.height))
            {
                changeNeeded = true;
                ps.height = rf.y + rf.height;
            }

            f.getParent().setSize(ps);

            if (changeNeeded)
            {
                f.getParent().invalidate();
                f.getParent().setSize(ps);
            }

            super.endDraggingFrame(f);
        }
        catch (NullPointerException errodrag)
        {
        }
    }

    /*
     *
     * @param f DOCUMENT ME!
     */
    public void endResizingFrame(JComponent f)
    {
        super.endResizingFrame(f);
    }

}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

package br.com.pacote.lib;

import javax.swing.;
import java.awt.
;

/**
*

  • @author Fabiano Pereira
    
    */
    
    public class MyDesktopPane extends JDesktopPane {
    
    Image image;
    
    JDesktopPane desktop;
    
    public MyDesktopPane(Image image,  JDesktopPane desktop) {
    
    super();
    
    this.image = image;
    
    this.desktop = desktop;
    
    }
    
    public void paintComponent(Graphics g) {
    
    super.paintComponent(g);
    
    if(image != null){
    
    int altura = image.getHeight(null);
    
    int largura = image.getWidth(null);
    
    Dimension d = desktop.getSize();
    
    int altura_total = d.height;
    
    int largura_total = d.width;
    
    int centro_altura = (int)altura_total/2;
    
    int centro_largura = (int)largura_total/2;
    
    int meio_altura = (int)altura/2;
    
    int meio_largura = (int)largura/2;
    
    int pos_x1 = centro_altura - meio_altura;
    
    int pos_y1 = centro_largura - meio_largura;
    
    g.drawImage(image, pos_y1, pos_x1, null );
    
    }
    
    }
    
    public Dimension getPreferredSize() {
    
    return super.getSize();
    
    }
    
    }
    
    //////////////////////////////////////////////////////////////////////////
    
    import br.com.pacote.lib.MyDesktopPane;
    
    import br.com.pacote.lib.DesktopManager;
    
    import br.com.pacote.lib.Conexao;
    
    import br.com.pacote.lib.Splash;
    
import java.awt.<em>;

import java.awt.event.</em>;

import java.sql.Connection;

import java.sql.SQLException;

import java.util.<em>;

import java.util.Timer;

import javax.swing.</em>;

import javax.swing.UIManager;

/**

*
  • @author  Fabiano Pereira
    
    */
    
    public class MainForm extends javax.swing.JFrame {
    
    private JDesktopPane desktop;
    

    /** Creates new form MainForm */
    public MainForm() {

    initComponents();
     Container contentPane = getContentPane();
     
     desktop = new MyDesktopPane(null, desktop);
     desktop.setDesktopManager(new DesktopManager());
     JScrollPane spCentral = new JScrollPane();
     spCentral.getViewport().add(desktop);
     contentPane.setLayout(new BorderLayout());
     contentPane.add(spCentral, BorderLayout.CENTER);
     desktop.setSize(contentPane.getSize());
     desktop.setBackground(java.awt.SystemColor.desktop);
     desktop.setToolTipText("Desenvolvedores-->Fabiano P, Lucas S, Bruno P");
     
     this.setExtendedState(JFrame.MAXIMIZED_BOTH);
    

    }

    public static void main(String args[]) {
     java.awt.EventQueue.invokeLater(new Runnable() {
         public void run() {
             new MainForm().setVisible(true);
         }
     });
    

    }

Criado 22 de novembro de 2007
Respostas 0
Participantes 1