package VTest2; import java.awt.Color; import java.awt.Cursor; import java.awt.Dimension; import java.awt.Graphics; import java.awt.Point; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.border.Border; import javax.swing.border.CompoundBorder; import javax.swing.border.EtchedBorder; import javax.swing.border.LineBorder; public class WindowDragSize { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub final JFrame frame = new JFrame(); frame.setUndecorated(true); Border b = new CompoundBorder(new EtchedBorder(),new LineBorder(Color.RED)); final JPanel panel = new JPanel(){ @Override public void paintComponent(Graphics g) { ImageIcon icon = new ImageIcon("C:\\Users\\asus\\Desktop\\新建文件夹\\6.jpg"); // 图片随窗体大小而变化 g.drawImage(icon.getImage(), 0, 0, frame.getSize().width,frame.getSize().height,frame); }}; panel.setSize(200,100); panel.setBorder(b); panel.addMouseMotionListener(new MouseAdapter() { private boolean top = false; private boolean down = false; private boolean left = false; private boolean right = false; private boolean drag = false; private Point lastPoint = null; private Point draggingAnchor = null; @Override public void mouseMoved(MouseEvent e) { if( e.getPoint().getY() == 0 ){ frame.setCursor(Cursor.getPredefinedCursor(Cursor.N_RESIZE_CURSOR)); top = true; }else if(Math.abs(e.getPoint().getY()- frame.getSize().getHeight()) <=5 ){ frame.setCursor(Cursor.getPredefinedCursor(Cursor.N_RESIZE_CURSOR)); down = true; }else if(e.getPoint().getX() == 0 ){ frame.setCursor(Cursor.getPredefinedCursor(Cursor.E_RESIZE_CURSOR)); left = true; }else if(Math.abs(e.getPoint().getX()- frame.getSize().getWidth()) <=5 ){ frame.setCursor(Cursor.getPredefinedCursor(Cursor.E_RESIZE_CURSOR)); right = true; }else{ frame.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR)); draggingAnchor = new Point(e.getX() + panel.getX(), e.getY() + panel.getY()); top = false; down = false; left = false; right = false; drag = true; } } @Override public void mouseDragged(MouseEvent e) { Dimension dimension = frame.getSize(); if(top){ dimension.setSize(dimension.getWidth() ,dimension.getHeight()-e.getY()); frame.setSize(dimension); frame.setLocation(frame.getLocationOnScreen().x, frame.getLocationOnScreen().y + e.getY()); }else if(down){ dimension.setSize(dimension.getWidth() , e.getY()); frame.setSize(dimension); }else if(left){ dimension.setSize(dimension.getWidth() - e.getX() ,dimension.getHeight() ); frame.setSize(dimension); frame.setLocation(frame.getLocationOnScreen().x + e.getX(),frame.getLocationOnScreen().y ); }else if(right){ dimension.setSize(e.getX(),dimension.getHeight()); frame.setSize(dimension); }else { frame.setLocation(e.getLocationOnScreen().x - draggingAnchor.x, e.getLocationOnScreen().y - draggingAnchor.y); } } }); frame.setLocation(200,100); frame.getContentPane().add(panel); frame.setSize(200,100); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setAlwaysOnTop(true); frame.show(); } }

qq1654486219 LV6
2020年5月3日
wei112233 LV15
2020年4月2日
bluecatnmd LV1
2019年5月20日
刘花花 LV1
2018年12月26日
省公司管理员 LV2
2018年8月30日
ZhengGe666 LV2
2018年4月1日
笑瘾iiiii LV2
2017年12月10日
chencs LV4
2017年11月14日
喵酱Yuka LV1
2017年9月11日
sankin LV1
2017年7月8日