没有框架边框的JFrame,最大按钮,最小按钮和框架图标

时间:2010-01-06 08:03:58

标签: java swing

我想创建一个无框边框,最大按钮,最小按钮和框架图标。

5 个答案:

答案 0 :(得分:46)

致电setUndecorated(true)上的JFrame

此方法只能在帧不可显示时调用(请参阅JavaDoc)。

enter image description here

答案 1 :(得分:6)

此代码说明了如何实现它。

注意:setUndecorated(true);构造函数中的语句。

在框架已经显示时,您无法取消框架。

public class MyFrame extends JFrame {

private JPanel contentPane;
private JTextField textField;

/**
 * Launch the application.
 */
public static void main(String[] args) {

                MyFrame frame = new MyFrame();
                frame.setVisible(true);

}
/**
 * Create the frame.
 */
public MyFrame() {
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setBounds(100, 100, 450, 300);
    contentPane = new JPanel();
    contentPane.setBackground(Color.ORANGE);
    contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));


    /* important Statement */
    setUndecorated(true);
}

}

Frame without Border

答案 2 :(得分:1)

你可以java.awt.Window课程。 Window就像JFrame,但没有边框。

请注意,Window类构造函数需要Framejava.awt.Frame)作为参数,但您可以将其设置为null。您还可以扩展Window类以对其进行自定义:

public class MyWindow extends Window{
   public MyWindow(){
      super(null); // creates a window with no Frame as owner
      setBounds(x, y, width, height);
      setVisible(true);
   }
}

main中,您可以创建MyWindow而非Window的实例。

public static void main (String[] args) {
    Window window = new MyWindow();
    // Other stuff in main
}

我希望这有帮助!

答案 3 :(得分:1)

在构造函数中,您可以放置​​代码setUndecorated(true),它将消失Frame。

例如: //这是构造函数

public freak() {    
    super("Images");
    panel = new JPanel();
    ImageIcon image = new ImageIcon("C:\\Users\\shilu.shilu-PC\\Desktop\\2.jpg");
    label = new JLabel(image);
    add(panel);
    add(label);

    //Main thing is this one
    setUndecorated(true);
    //Just add this code in your constructor
}

答案 4 :(得分:0)

使用方法frame.getContentPane(); 此方法返回任何帧的内容。 但是你需要把它投射到JPanel中。 PrintUI使用JPanel而非JFrame ....