2

可能重复:
JButton 最小化窗口(JFrame)

我删除了 JFrame 的关闭/最小化按钮,我想添加我自己的按钮,对于关闭,它可以通过使用来工作.dispose();,但是如果我单击 JButton,我应该使用什么来最小化 JFrame?

我认为.setVisible(false);会完全隐藏它,并且我不会在任务栏中单击任何内容来获取 JFrame。

4

2 回答 2

8

只需使用.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);
    }
}
于 2012-09-12T12:39:33.007 回答
1

试试这个:

frame.setExtendedState(frame.getExtendedState | Frame.ICONIFIED);

或者

frame.setExtendedState(frame.getExtendedState | ~Frame.MAXIMIZED_BOTH);
于 2012-09-12T12:50:28.773 回答