Mega Code Archive

 
Categories / Java / Swing JFC
 

Java X Windows

import java.awt.BorderLayout; import java.awt.Color; import java.awt.Component; import java.awt.Cursor; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.Graphics; import java.awt.Point; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.ComponentAdapter; import java.awt.event.ComponentEvent; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.awt.event.MouseMotionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.awt.event.WindowListener; import java.beans.PropertyVetoException; import java.io.FileReader; import javax.swing.DefaultDesktopManager; import javax.swing.JButton; import javax.swing.JComponent; import javax.swing.JDesktopPane; import javax.swing.JFrame; import javax.swing.JInternalFrame; import javax.swing.JLayeredPane; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.JViewport; import javax.swing.event.MouseInputAdapter; public class JavaXWin extends JFrame {   protected int m_count;   protected int m_tencount;   protected int m_wmX, m_wmY;   protected JButton m_newFrame;   protected JDesktopPane m_desktop;   protected WindowManager m_wm;   protected JViewport viewport;      public JavaXWin() {     setTitle("JavaXWin");     m_count = m_tencount = 0;     m_desktop = new JDesktopPane();     JScrollPane scroller = new JScrollPane();     m_wm = new WindowManager(m_desktop);     m_desktop.setDesktopManager(m_wm);     m_desktop.add(m_wm.getWindowWatcher(),       JLayeredPane.PALETTE_LAYER);     m_wm.getWindowWatcher().setBounds(555,5,200,150);     viewport = new JViewport() {       public void setViewPosition(Point p) {          super.setViewPosition(p);          m_wm.getWindowWatcher().setLocation(           m_wm.getWindowWatcher().getX() +             (getViewPosition().x-m_wmX),           m_wm.getWindowWatcher().getY() +             (getViewPosition().y-m_wmY));         m_wmX = getViewPosition().x;         m_wmY = getViewPosition().y;       }     };     viewport.setView(m_desktop);     scroller.setViewport(viewport);     ComponentAdapter ca = new ComponentAdapter() {       JViewport view = viewport;       public void componentResized(ComponentEvent e) {         m_wm.getWindowWatcher().setLocation(           view.getViewPosition().x + view.getWidth()-             m_wm.getWindowWatcher().getWidth()-15,           view.getViewPosition().y + 5);       }     };     viewport.addComponentListener(ca);            m_newFrame = new JButton("New Frame");     m_newFrame.addActionListener(new ActionListener() {       public void actionPerformed(ActionEvent e) {         newFrame();       }     });     JPanel topPanel = new JPanel(true);     topPanel.setLayout(new FlowLayout());     getContentPane().setLayout(new BorderLayout());     getContentPane().add("North", topPanel);     getContentPane().add("Center", scroller);     topPanel.add(m_newFrame);     Dimension dim = getToolkit().getScreenSize();     setSize(800,600);     setLocation(dim.width/2-getWidth()/2,       dim.height/2-getHeight()/2);     m_desktop.setPreferredSize(new Dimension(1600,1200));     setVisible(true);     WindowListener l = new WindowAdapter() {       public void windowClosing(WindowEvent e) {         System.exit(0);       }     };            addWindowListener(l);   }   public void newFrame() {     JInternalFrame jif = new JInternalFrame("Frame " + m_count,        true, true, true, true);     jif.setBounds(20*(m_count%10) + m_tencount*80,        20*(m_count%10), 200, 200);     JTextArea text = new JTextArea();     JScrollPane scroller = new JScrollPane();     scroller.getViewport().add(text);     try {       FileReader fileStream = new FileReader("");       text.read(fileStream, "JavaLinux.txt");     }     catch (Exception e) {       text.setText("* Could not read JavaLinux.txt *");     }     jif.getContentPane().add(scroller);     m_desktop.add(jif);     try {                   jif.setSelected(true);             }     catch (PropertyVetoException pve) {       System.out.println("Could not select " + jif.getTitle());     }     m_count++;     if (m_count%10 == 0) {       if (m_tencount < 3)         m_tencount++;       else          m_tencount = 0;     }   }   public static void main(String[] args) {     new JavaXWin();   } } class WindowManager  extends DefaultDesktopManager {   protected WindowWatcher ww;   public WindowManager(JDesktopPane desktop) {     ww = new WindowWatcher(desktop);   }   public WindowWatcher getWindowWatcher() { return ww; }        public void activateFrame(JInternalFrame f) {     super.activateFrame(f);     ww.repaint();   }   public void beginDraggingFrame(JComponent f) {      super.beginDraggingFrame(f);     ww.repaint();   }   public void beginResizingFrame(JComponent f, int direction) {     super.beginResizingFrame(f,direction);     ww.repaint();   }   public void closeFrame(JInternalFrame f) {     super.closeFrame(f);     ww.repaint();   }   public void deactivateFrame(JInternalFrame f) {     super.deactivateFrame(f);     ww.repaint();   }   public void deiconifyFrame(JInternalFrame f) {     super.deiconifyFrame(f);     ww.repaint();   }   public void dragFrame(JComponent f, int newX, int newY) {     f.setLocation(newX, newY);     ww.repaint();   }   public void endDraggingFrame(JComponent f) {     super.endDraggingFrame(f);     ww.repaint();   }   public void endResizingFrame(JComponent f) {     super.endResizingFrame(f);     ww.repaint();   }   public void iconifyFrame(JInternalFrame f) {     super.iconifyFrame(f);     ww.repaint();   }   public void maximizeFrame(JInternalFrame f) {     super.maximizeFrame(f);     ww.repaint();   }   public void minimizeFrame(JInternalFrame f) {     super.minimizeFrame(f);     ww.repaint();   }   public void openFrame(JInternalFrame f) {     super.openFrame(f);     ww.repaint();   }   public void resizeFrame(JComponent f,    int newX, int newY, int newWidth, int newHeight) {     f.setBounds(newX, newY, newWidth, newHeight);     ww.repaint();   }   public void setBoundsForFrame(JComponent f,    int newX, int newY, int newWidth, int newHeight) {     f.setBounds(newX, newY, newWidth, newHeight);     ww.repaint();   } } class WindowWatcher extends JPanel {   protected static final Color C_UNSELECTED =     new Color(123, 123, 123);   protected static final Color C_SELECTED =     new Color(243, 232, 165);   protected static final Color C_BACKGROUND =     new Color(5,165,165);   protected static final Color C_WWATCHER =     new Color(203,226,0);   protected float m_widthratio, m_heightratio;   protected int m_width, m_height, m_XDifference, m_YDifference;   protected JDesktopPane m_desktop;   protected NorthResizeEdge m_northResizer;   protected SouthResizeEdge m_southResizer;   protected EastResizeEdge m_eastResizer;   protected WestResizeEdge m_westResizer;      public WindowWatcher(JDesktopPane desktop) {     m_desktop = desktop;     setOpaque(true);     m_northResizer = new NorthResizeEdge(this);     m_southResizer = new SouthResizeEdge(this);     m_eastResizer = new EastResizeEdge(this);     m_westResizer = new WestResizeEdge(this);     setLayout(new BorderLayout());     add(m_northResizer, BorderLayout.NORTH);     add(m_southResizer, BorderLayout.SOUTH);     add(m_eastResizer, BorderLayout.EAST);     add(m_westResizer, BorderLayout.WEST);     MouseInputAdapter ma = new MouseInputAdapter() {       public void mousePressed(MouseEvent e) {         m_XDifference = e.getX();         m_YDifference = e.getY();       }       public void mouseDragged(MouseEvent e) {         int vx = 0;         int vy = 0;         if (m_desktop.getParent() instanceof JViewport) {           vx = ((JViewport)              m_desktop.getParent()).getViewPosition().x;           vy = ((JViewport)              m_desktop.getParent()).getViewPosition().y;         }         int w = m_desktop.getParent().getWidth();         int h = m_desktop.getParent().getHeight();         int x = getX();         int y = getY();         int ex = e.getX();         int ey = e.getY();          if ((ey + y > vy && ey + y < h+vy) &&              (ex + x > vx && ex + x < w+vx))          {           setLocation(ex-m_XDifference + x, ey-m_YDifference + y);         }         else if (!(ey + y > vy && ey + y < h+vy) &&                    (ex + x > vx && ex + x < w+vx))          {           if (!(ey + y > vy) && ey + y < h+vy)             setLocation(ex-m_XDifference + x, vy-m_YDifference);           else if (ey + y > vy && !(ey + y < h+vy))             setLocation(ex-m_XDifference + x, (h+vy)-m_YDifference);         }         else if ((ey + y >vy && ey + y < h+vy) &&                  !(ex + x > vx && ex + x < w+vx))          {           if (!(ex + x > vx) && ex + x < w+vx)             setLocation(vx-m_XDifference, ey-m_YDifference + y);           else if (ex + x > vx && !(ex + x < w))             setLocation((w+vx)-m_XDifference, ey-m_YDifference + y);         }         else if (!(ey + y > vy) && ey + y < h+vy &&                   !(ex + x > vx) && ex + x < w+vx)           setLocation(vx-m_XDifference, vy-m_YDifference);         else if (!(ey + y > vy) && ey + y < h+vy &&                   ex + x > vx && !(ex + x < w+vx))            setLocation((w+vx)-m_XDifference, vy-m_YDifference);         else if (ey + y > vy && !(ey + y < h+vy) &&                   !(ex + x > vx) && ex + x < w+vx)            setLocation(vx-m_XDifference, (h+vy)-m_YDifference);         else if (ey + y > vy && !(ey + y < h+vy) &&                   ex + x > vx && !(ex + x < w+vx))            setLocation((w+vx)-m_XDifference, (h+vy)-m_YDifference);       }       public void mouseEntered(MouseEvent e) {         setCursor(Cursor.getPredefinedCursor(           Cursor.MOVE_CURSOR));       }       public void mouseExited(MouseEvent e) {         setCursor(Cursor.getPredefinedCursor(           Cursor.DEFAULT_CURSOR));       }     };     addMouseListener(ma);     addMouseMotionListener(ma);   }    public void paintComponent(Graphics g) {     super.paintComponent(g);     m_height = getHeight();     m_width = getWidth();      g.setColor(C_BACKGROUND);     g.fillRect(0,0,m_width,m_height);     Component[] components = m_desktop.getComponents();     m_widthratio = ((float)        m_desktop.getWidth())/((float) m_width);     m_heightratio = ((float)        m_desktop.getHeight())/((float) m_height);     for (int i=components.length-1; i>-1; i--) {       if (components[i].isVisible()) {         g.setColor(C_UNSELECTED);         if (components[i] instanceof JInternalFrame) {           if (((JInternalFrame) components[i]).isSelected())             g.setColor(C_SELECTED);         }         else if(components[i] instanceof WindowWatcher)           g.setColor(C_WWATCHER);         g.fillRect(           (int)(((float)components[i].getX())/m_widthratio),           (int)(((float)components[i].getY())/m_heightratio),           (int)(((float)components[i].getWidth())/m_widthratio),            (int)(((float)components[i].getHeight())/m_heightratio));         g.setColor(Color.black);         g.drawRect(           (int)(((float)components[i].getX())/m_widthratio),            (int)(((float)components[i].getY())/m_heightratio),           (int)(((float)components[i].getWidth())/m_widthratio),            (int)(((float)components[i].getHeight())/m_heightratio));       }             }     g.drawLine(m_width/2,0,m_width/2,m_height);     g.drawLine(0,m_height/2,m_width,m_height/2);   } } class EastResizeEdge extends JPanel   implements MouseListener, MouseMotionListener {     private int WIDTH = 3;     private int MIN_WIDTH = 50;     private boolean m_dragging;     private JComponent m_resizeComponent;        public EastResizeEdge(JComponent c) {       m_resizeComponent = c;       addMouseListener(this);       addMouseMotionListener(this);       setOpaque(true);       setBackground(Color.black);     }     public Dimension getPreferredSize() {       return new Dimension(WIDTH, m_resizeComponent.getHeight());     }     public void mouseClicked(MouseEvent e) {}     public void mouseMoved(MouseEvent e) {}     public void mouseReleased(MouseEvent e) {       m_dragging = false;     }     public void mouseDragged(MouseEvent e) {       if (m_resizeComponent.getWidth() + e.getX() >= MIN_WIDTH)         m_resizeComponent.setBounds(m_resizeComponent.getX(),            m_resizeComponent.getY(),            m_resizeComponent.getWidth() + e.getX(),           m_resizeComponent.getHeight());       else         m_resizeComponent.setBounds(m_resizeComponent.getX(),            m_resizeComponent.getY(),            MIN_WIDTH, m_resizeComponent.getHeight());       m_resizeComponent.validate();     }     public void mouseEntered(MouseEvent e) {       if (!m_dragging)         setCursor(Cursor.getPredefinedCursor(           Cursor.E_RESIZE_CURSOR));     }          public void mouseExited(MouseEvent e) {       if (!m_dragging)         setCursor(Cursor.getPredefinedCursor(           Cursor.DEFAULT_CURSOR));     }        public void mousePressed(MouseEvent e) {       //toFront();       m_dragging = true;     }     } class NorthResizeEdge extends JPanel   implements MouseListener, MouseMotionListener {     private static final int NORTH = 0;     private static final int NORTHEAST = 1;     private static final int NORTHWEST = 2;     private int CORNER = 10;     private int HEIGHT = 3;     private int MIN_WIDTH = 50;     private int MIN_HEIGHT = 50;     private int m_width, m_dragX, m_dragY, m_rightX, m_lowerY;     private boolean m_dragging;     private JComponent m_resizeComponent;     private int m_mode;          public NorthResizeEdge(JComponent c) {       m_resizeComponent = c;       addMouseListener(this);       addMouseMotionListener(this);       setOpaque(true);       setBackground(Color.black);     }     public Dimension getPreferredSize() {       return new Dimension(m_resizeComponent.getWidth(), HEIGHT);     }     public void mouseClicked(MouseEvent e) {}     public void mouseMoved(MouseEvent e) {       if (!m_dragging) {         if (e.getX() < CORNER) {           setCursor(Cursor.getPredefinedCursor(             Cursor.NW_RESIZE_CURSOR));         }         else if(e.getX() > getWidth()-CORNER) {           setCursor(Cursor.getPredefinedCursor(             Cursor.NE_RESIZE_CURSOR));         }         else {           setCursor(Cursor.getPredefinedCursor(             Cursor.N_RESIZE_CURSOR));         }       }     }     public void mouseReleased(MouseEvent e) {       m_dragging = false;     }     public void mouseDragged(MouseEvent e) {       int h = m_resizeComponent.getHeight();       int w = m_resizeComponent.getWidth();       int x = m_resizeComponent.getX();       int y = m_resizeComponent.getY();       int ex = e.getX();       int ey = e.getY();       switch (m_mode) {         case NORTH:           if (h-(ey-m_dragY) >= MIN_HEIGHT)             m_resizeComponent.setBounds(x, y + (ey-m_dragY),                w, h-(ey-m_dragY));           else               m_resizeComponent.setBounds(x,                  m_lowerY-MIN_HEIGHT, w, MIN_HEIGHT);           break;         case NORTHEAST:           if (h-(ey-m_dragY) >= MIN_HEIGHT           && w + (ex-(getWidth()-CORNER)) >= MIN_WIDTH)             m_resizeComponent.setBounds(x,                y + (ey-m_dragY), w + (ex-(getWidth()-CORNER)),                 h-(ey-m_dragY));           else if (h-(ey-m_dragY) >= MIN_HEIGHT           && !(w + (ex-(getWidth()-CORNER)) >= MIN_WIDTH))             m_resizeComponent.setBounds(x,                y + (ey-m_dragY), MIN_WIDTH, h-(ey-m_dragY));           else if (!(h-(ey-m_dragY) >= MIN_HEIGHT)           && w + (ex-(getWidth()-CORNER)) >= MIN_WIDTH)             m_resizeComponent.setBounds(x,                m_lowerY-MIN_HEIGHT, w + (ex-(getWidth()-CORNER)),                  MIN_HEIGHT);           else             m_resizeComponent.setBounds(x,                m_lowerY-MIN_HEIGHT, MIN_WIDTH, MIN_HEIGHT);           break;         case NORTHWEST:           if (h-(ey-m_dragY) >= MIN_HEIGHT           && w-(ex-m_dragX) >= MIN_WIDTH)             m_resizeComponent.setBounds(x + (ex-m_dragX),                y + (ey-m_dragY), w-(ex-m_dragX),                 h-(ey-m_dragY));           else if (h-(ey-m_dragY) >= MIN_HEIGHT           && !(w-(ex-m_dragX) >= MIN_WIDTH)) {             if (x + MIN_WIDTH < m_rightX)                m_resizeComponent.setBounds(m_rightX-MIN_WIDTH,                  y + (ey-m_dragY), MIN_WIDTH, h-(ey-m_dragY));             else               m_resizeComponent.setBounds(x,                  y + (ey-m_dragY), w, h-(ey-m_dragY));           }            else if (!(h-(ey-m_dragY) >= MIN_HEIGHT)           && w-(ex-m_dragX) >= MIN_WIDTH)              m_resizeComponent.setBounds(x + (ex-m_dragX),                m_lowerY-MIN_HEIGHT, w-(ex-m_dragX), MIN_HEIGHT);           else             m_resizeComponent.setBounds(m_rightX-MIN_WIDTH,                m_lowerY-MIN_HEIGHT, MIN_WIDTH, MIN_HEIGHT);           break;       }       m_rightX = x + w;       m_resizeComponent.validate();     }        public void mouseEntered(MouseEvent e) {       mouseMoved(e);     }          public void mouseExited(MouseEvent e) {       if (!m_dragging)         setCursor(Cursor.getPredefinedCursor(           Cursor.DEFAULT_CURSOR));     }          public void mousePressed(MouseEvent e) {       m_dragging = true;       m_dragX = e.getX();       m_dragY = e.getY();       m_lowerY = m_resizeComponent.getY()         + m_resizeComponent.getHeight();       if (e.getX() < CORNER) {         m_mode = NORTHWEST;       }       else if(e.getX() > getWidth()-CORNER) {         m_mode = NORTHEAST;       }       else {         m_mode = NORTH;           }     }     } class SouthResizeEdge extends JPanel   implements MouseListener, MouseMotionListener {     private static final int SOUTH = 0;     private static final int SOUTHEAST = 1;     private static final int SOUTHWEST = 2;     private int CORNER = 10;     private int HEIGHT = 3;     private int MIN_WIDTH = 50;     private int MIN_HEIGHT = 50;     private int m_width, m_dragX, m_dragY, m_rightX;     private boolean m_dragging;     private JComponent m_resizeComponent;     private int m_mode;          public SouthResizeEdge(JComponent c) {       m_resizeComponent = c;       addMouseListener(this);       addMouseMotionListener(this);       setOpaque(true);       setBackground(Color.black);     }     public Dimension getPreferredSize() {       return new Dimension(m_resizeComponent.getWidth(), HEIGHT);     }        public void mouseClicked(MouseEvent e) {}        public void mouseMoved(MouseEvent e) {       if (!m_dragging) {         if (e.getX() < CORNER) {           setCursor(Cursor.getPredefinedCursor(             Cursor.SW_RESIZE_CURSOR));         }         else if(e.getX() > getWidth()-CORNER) {           setCursor(Cursor.getPredefinedCursor(             Cursor.SE_RESIZE_CURSOR));         }         else {           setCursor(Cursor.getPredefinedCursor(             Cursor.S_RESIZE_CURSOR));         }       }     }        public void mouseReleased(MouseEvent e) {       m_dragging = false;     }        public void mouseDragged(MouseEvent e) {       int h = m_resizeComponent.getHeight();       int w = m_resizeComponent.getWidth();       int x = m_resizeComponent.getX();       int y = m_resizeComponent.getY();       int ex = e.getX();       int ey = e.getY();       switch (m_mode) {         case SOUTH:           if (h+(ey-m_dragY) >= MIN_HEIGHT)            m_resizeComponent.setBounds(x, y, w, h+(ey-m_dragY));           else             m_resizeComponent.setBounds(x, y, w, MIN_HEIGHT);           break;         case SOUTHEAST:           if (h+(ey-m_dragY) >= MIN_HEIGHT             && w + (ex-(getWidth()-CORNER)) >= MIN_WIDTH)             m_resizeComponent.setBounds(x, y,                w + (ex-(getWidth()-CORNER)), h+(ey-m_dragY));           else if (h+(ey-m_dragY) >= MIN_HEIGHT             && !(w + (ex-(getWidth()-CORNER)) >= MIN_WIDTH))             m_resizeComponent.setBounds(x, y,                MIN_WIDTH, h+(ey-m_dragY));           else if (!(h+(ey-m_dragY) >= MIN_HEIGHT)             && w + (ex-(getWidth()-CORNER)) >= MIN_WIDTH)             m_resizeComponent.setBounds(x, y,                w + (ex-(getWidth()-CORNER)), MIN_HEIGHT);           else             m_resizeComponent.setBounds(x,                y, MIN_WIDTH, MIN_HEIGHT);           break;         case SOUTHWEST:           if (h+(ey-m_dragY) >= MIN_HEIGHT              && w-(ex-m_dragX) >= MIN_WIDTH)             m_resizeComponent.setBounds(x + (ex-m_dragX), y,                w-(ex-m_dragX), h+(ey-m_dragY));           else if (h+(ey-m_dragY) >= MIN_HEIGHT             && !(w-(ex-m_dragX) >= MIN_WIDTH)) {             if (x + MIN_WIDTH < m_rightX)               m_resizeComponent.setBounds(m_rightX-MIN_WIDTH, y,                  MIN_WIDTH, h+(ey-m_dragY));             else               m_resizeComponent.setBounds(x, y, w,                  h+(ey-m_dragY));           }           else if (!(h+(ey-m_dragY) >= MIN_HEIGHT)             && w-(ex-m_dragX) >= MIN_WIDTH)             m_resizeComponent.setBounds(x + (ex-m_dragX), y,                w-(ex-m_dragX), MIN_HEIGHT);           else             m_resizeComponent.setBounds(m_rightX-MIN_WIDTH,                y, MIN_WIDTH, MIN_HEIGHT);           break;       }       m_rightX = x + w;       m_resizeComponent.validate();     }        public void mouseEntered(MouseEvent e) {       mouseMoved(e);     }          public void mouseExited(MouseEvent e) {       if (!m_dragging)         setCursor(Cursor.getPredefinedCursor(           Cursor.DEFAULT_CURSOR));     }          public void mousePressed(MouseEvent e) {       //toFront();       m_dragging = true;       m_dragX = e.getX();       m_dragY = e.getY();       if (e.getX() < CORNER) {         m_mode = SOUTHWEST;       }       else if(e.getX() > getWidth()-CORNER) {         m_mode = SOUTHEAST;       }       else {         m_mode = SOUTH;           }     }     } class WestResizeEdge extends JPanel   implements MouseListener, MouseMotionListener {     private int WIDTH = 3;     private int MIN_WIDTH = 50;     private int m_dragX, m_rightX;     private boolean m_dragging;     private JComponent m_resizeComponent;        public WestResizeEdge(JComponent c) {       m_resizeComponent = c;       addMouseListener(this);       addMouseMotionListener(this);       setOpaque(true);       setBackground(Color.black);     }     public Dimension getPreferredSize() {       return new Dimension(WIDTH, m_resizeComponent.getHeight());     }     public void mouseClicked(MouseEvent e) {}     public void mouseMoved(MouseEvent e) {}        public void mouseReleased(MouseEvent e) {       m_dragging = false;     }     public void mouseDragged(MouseEvent e) {       if (m_resizeComponent.getWidth()-        (e.getX()-m_dragX) >= MIN_WIDTH)         m_resizeComponent.setBounds(           m_resizeComponent.getX() + (e.getX()-m_dragX),            m_resizeComponent.getY(),            m_resizeComponent.getWidth()-(e.getX()-m_dragX),           m_resizeComponent.getHeight());       else         if (m_resizeComponent.getX() + MIN_WIDTH < m_rightX)           m_resizeComponent.setBounds(m_rightX-MIN_WIDTH,              m_resizeComponent.getY(),              MIN_WIDTH, m_resizeComponent.getHeight());         else           m_resizeComponent.setBounds(m_resizeComponent.getX(),              m_resizeComponent.getY(),              MIN_WIDTH, m_resizeComponent.getHeight());       m_resizeComponent.validate();     }        public void mouseEntered(MouseEvent e) {       if (!m_dragging)         setCursor(Cursor.getPredefinedCursor(           Cursor.W_RESIZE_CURSOR));     }          public void mouseExited(MouseEvent e) {       if (!m_dragging)         setCursor(Cursor.getPredefinedCursor(           Cursor.DEFAULT_CURSOR));     }          public void mousePressed(MouseEvent e) {       //toFront();       m_rightX = m_resizeComponent.getX() +          m_resizeComponent.getWidth();       m_dragging = true;       m_dragX = e.getX();     }     }