我删除了JFrame的关闭/最小化按钮,我想添加自己的按钮,关闭,它可以使用.dispose();
工作,但如果我点击一个JButton我应该用什么来最小化JFrame ?
我认为.setVisible(false);
会完全隐藏它,我在TaskBar中无法点击任何内容来获取JFrame。
答案 0 :(得分:7)
只需使用.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);
}
}
答案 1 :(得分:1)
试试这个:
frame.setExtendedState(frame.getExtendedState | Frame.ICONIFIED);
或
frame.setExtendedState(frame.getExtendedState | ~Frame.MAXIMIZED_BOTH);