Я хотел бы создать рамку без рамки, максимальную кнопку, минимальную кнопку и значок рамки.
JFrame без рамки рамки, максимальная кнопка, минимальная кнопка и значок кадра
Ответ 1
Вызовите setUndecorated(true)
на JFrame
.
Этот метод можно вызвать только в том случае, если кадр не отображается (см. JavaDoc).
Ответ 2
Этот код Объясняет, как вы можете его достичь.
Примечание: 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);
}
}
Ответ 3
Вы можете использовать класс java.awt.Window
. A Window
как a 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
}
Надеюсь, это поможет!
Ответ 4
Использовать метод frame.getContentPane(); этот метод возвращает содержимое внутри любого кадра. Но вам нужно бросить его в JPanel. PrintUI использует JPanel, а не JFrame....
Ответ 5
Внутри конструктора вы можете поместить код setUndecorated (true), он исчезнет.
Например://Это конструктор
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
}