Como mover e redimensionar componentes em tempo de execução?

1 resposta
paulofafism

Bom dia pessoal,

Estou pensando em construir uma IDE Drag and Drop para linguagem Advpl da Microsiga. Gostaria de criar uma barra de ferramentas com alguns componentes necessários e selecionar esses componentes e soltar em um formulário. Alguém tem alguma idéia de como isso pode ser feito em Java?

1 Resposta

paulofafism

Olá pessoal fiz um pequeno teste que funcionou, mas não da maneira como eu queria. Entretanto, já foi um avanço. Alguém teria alguma ideia de como posso fazer para redimensionar o componentes em tempo de execução, como as IDEs fazem?

import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.SystemColor;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import javax.swing.JButton;
import javax.swing.JFrame;


/**
 *
 * @author Paulo Vinícius Moreira Dutra
 * @version 1.0
 */
public class DesignerPanel extends JFrame implements MouseListener,
  MouseMotionListener {
    
    private JButton button;
    private int x, y;

    public DesignerPanel(){
        
        super();

        button = new JButton("TESTE");

        this.setLayout(null);

        button.addMouseMotionListener(this);
        button.setBounds(x,y,100,20);

        this.add(button);

    }

           void updateLocation(MouseEvent e)
           {
              button.setLocation(e.getX() + button.getX(), e.getY() + button.getY());
              repaint();
           }

   

    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                DesignerPanel panel = new DesignerPanel();
                panel.setSize(new Dimension(600,600));
                panel.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                panel.setVisible(true);
            }
        });
    }

    public void mouseClicked(MouseEvent e) {

    }

    public void mousePressed(MouseEvent e) {

    }

    public void mouseReleased(MouseEvent e) {

    }

    public void mouseEntered(MouseEvent e) {

    }

    public void mouseExited(MouseEvent e) {

    }

    public void mouseDragged(MouseEvent e) {
        updateLocation(e);
    }

    public void mouseMoved(MouseEvent e) {
        
    }    
}
Criado 19 de maio de 2010
Ultima resposta 20 de mai. de 2010
Respostas 1
Participantes 1