JFrame без рамки, кнопки максимума, кнопки минимума и значка рамки - PullRequest
23 голосов
/ 06 января 2010

Я хотел бы создать рамку без рамки, кнопку максимума, кнопку минимума и значок рамки.

Ответы [ 5 ]

46 голосов
/ 06 января 2010

Звоните setUndecorated(true) на ваш JFrame.

Этот метод можно вызывать только тогда, когда кадр не отображается (см. JavaDoc ).

enter image description here

6 голосов
/ 25 февраля 2014

Этот код объясняет, как вы можете достичь этого.

Примечание: 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

1 голос
/ 02 декабря 2018

Внутри конструктора вы можете поместить код 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
}
1 голос
/ 22 мая 2011

Вы можете java.awt.Window класс. A Window похож на JFrame, но без границ.

Обратите внимание, что конструктору класса Window требуется Frame (java.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
}

Надеюсь, это поможет!

0 голосов
/ 08 июля 2015

Использовать метод frame.getContentPane (); этот метод возвращает содержимое любого фрейма. Но вам нужно привести его в JPanel. PrintUI с использованием JPanel, а не JFrame ....

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...