Java Swing Tutorial - Java JDesktopPane LIVE_DRAG_MODE








Syntax

JDesktopPane.LIVE_DRAG_MODE has the following syntax.

public static final int LIVE_DRAG_MODE

Example

In the following code shows how to use JDesktopPane.LIVE_DRAG_MODE field.

//from w  w w  . ja va 2 s.  c o  m
import java.awt.BorderLayout;

import javax.swing.JDesktopPane;
import javax.swing.JFrame;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.event.InternalFrameAdapter;
import javax.swing.event.InternalFrameEvent;
import javax.swing.event.InternalFrameListener;

public class Main {

  public static void main(final String args[]) {
    JFrame frame = new JFrame();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    JDesktopPane desktop = new JDesktopPane();
    JInternalFrame internalFrames[] = {
        new JInternalFrame("Can Do All", true, true, true, true),
        new JInternalFrame("Not Resizable", false, true, true, true),
        new JInternalFrame("Not Closable", true, false, true, true),
        new JInternalFrame("Not Maximizable", true, true, false, true),
        new JInternalFrame("Not Iconifiable", true, true, true, false) };

    int pos = 0;
    for (JInternalFrame internalFrame : internalFrames) {
      desktop.add(internalFrame);

      internalFrame.setBounds(pos * 25, pos * 25, 200, 100);
      pos++;

     
      JLabel label = new JLabel(internalFrame.getTitle(), JLabel.CENTER);
      internalFrame.add(label, BorderLayout.CENTER);

      internalFrame.setVisible(true);
    }
    desktop.setDragMode(JDesktopPane.LIVE_DRAG_MODE);
    
    
    frame.add(desktop, BorderLayout.CENTER);
    frame.setSize(500, 300);
    frame.setVisible(true);
  }
}