如何从任何java gui中删除窗口框

如何从任何java程序中删除窗口框。 因为我想让它看起来没有边框。 我知道在jre上运行的任何jar文件会自动获得这样的窗口。 所以我想知道是否有解决方法。

提前致谢

这是一张我想要做的照片

在此处输入图像描述

Frame#setUndecorated

您也可以使用默认情况下未修饰的JWindow

检查这个 ,例如使用

更新

如果删除边框,则负责移动和调整窗口大小…

这个“基本”示例演示了如何使用鼠标移动JWindow 。 这使得窗口周围的“拖动区域”宽10像素。

resize将是类似的过程,但您需要决定resize的方向(即,它可能需要您在resize时移动窗口;))

 import java.awt.Component; import java.awt.Cursor; import java.awt.EventQueue; import java.awt.Point; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JWindow; import javax.swing.SwingUtilities; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; public class TestMoveWindow { public static void main(String[] args) { new TestMoveWindow(); } public TestMoveWindow() { EventQueue.invokeLater(new Runnable() { @Override public void run() { try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) { } JWindow window = new JWindow(); window.setSize(200, 200); window.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { System.exit(0); } }); MouseAdapter mouseHandler = new MouseAdapter() { private Point offset; protected boolean isWithinBorder(MouseEvent e) { Point p = e.getPoint(); Component comp = e.getComponent(); return px < 10 || py < 10 || px > comp.getWidth() - 10 || py > comp.getHeight() - 10; } @Override public void mouseMoved(MouseEvent e) { Component comp = e.getComponent(); if (isWithinBorder(e)) { System.out.println("Move"); comp.setCursor(Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR)); } else { System.out.println("Default"); comp.setCursor(Cursor.getDefaultCursor()); } } @Override public void mouseDragged(MouseEvent e) { if (offset != null) { Point pos = e.getLocationOnScreen(); int x = pos.x - offset.x; int y = pos.y - offset.y; System.out.println(x + "x" + y); SwingUtilities.getWindowAncestor(e.getComponent()).setLocation(x, y); } } @Override public void mousePressed(MouseEvent e) { if (isWithinBorder(e)) { Point pos = e.getComponent().getLocationOnScreen(); offset = new Point(e.getLocationOnScreen()); offset.x -= pos.x; offset.y -= pos.y; } } }; window.getContentPane().addMouseListener(mouseHandler); window.getContentPane().addMouseMotionListener(mouseHandler); window.setLocationRelativeTo(null); window.setVisible(true); } }); } }