如何通过单击JButton来最小化JFrame

时间:2012-09-12 12:35:54

标签: java swing jframe

  

可能重复:
  JButton minimizing a window(JFrame)

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

我认为.setVisible(false);会完全隐藏它,我在TaskBar中无法点击任何内容来获取JFrame。

2 个答案:

答案 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);