可能重复:
JButton 最小化窗口(JFrame)
我删除了 JFrame 的关闭/最小化按钮,我想添加我自己的按钮,对于关闭,它可以通过使用来工作.dispose();
,但是如果我单击 JButton,我应该使用什么来最小化 JFrame?
我认为.setVisible(false);
会完全隐藏它,并且我不会在任务栏中单击任何内容来获取 JFrame。
可能重复:
JButton 最小化窗口(JFrame)
我删除了 JFrame 的关闭/最小化按钮,我想添加我自己的按钮,对于关闭,它可以通过使用来工作.dispose();
,但是如果我单击 JButton,我应该使用什么来最小化 JFrame?
我认为.setVisible(false);
会完全隐藏它,并且我不会在任务栏中单击任何内容来获取 JFrame。
只需使用.setState(Frame.ICONIFIED)
工作示例:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class FrameTest {
public static void main(String args[]) throws Exception {
final JFrame frame = new JFrame();
frame.setUndecorated(true);
JButton button = new JButton("Minimize");
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
frame.setState(Frame.ICONIFIED);
}
});
frame.add(button);
frame.pack();
frame.setVisible(true);
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
}
试试这个:
frame.setExtendedState(frame.getExtendedState | Frame.ICONIFIED);
或者
frame.setExtendedState(frame.getExtendedState | ~Frame.MAXIMIZED_BOTH);