【问题标题】:How can I minimize/iconify a JWindow in Java?如何在 Java 中最小化/图标化 JWindow?
【发布时间】:2012-10-18 16:24:04
【问题描述】:

我的应用有一个需要在单击自定义最小化器按钮时最小化的 JWindow。 如果有人知道如何最小化 JWindow,请回复。我进行了很多搜索,但找不到任何合适的方法来最小化。 我知道如何最小化 JFrame。所以请不要费心回答有关 JFrame 的问题。 谢谢。

【问题讨论】:

    标签: java swing minimize jwindow


    【解决方案1】:

    我知道你不想听到这个,但可怕的事实是,未装饰的 jframe(使用 setstate 方法)和 jwindows 之间没有太大区别...:)

        JFrame f = new JFrame("Frame");
        f.setUndecorated(true);
    

    【讨论】:

    • 也感谢您提供的信息!不知道!
    【解决方案2】:

    由于JWindow 没有用任何控件图标装饰,因此没有提供setState 方法。一种解决方法是允许您的自定义最小化按钮根据需要设置窗口可见:

    public class JWindowTest extends JFrame {
    
        JWindow window = new JWindow();
        JButton maxMinButton = new JButton("Minimize Window");
    
        public JWindowTest() {
            setSize(300, 200);
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    
            maxMinButton.addActionListener(new ActionListener() {
    
                public void actionPerformed(ActionEvent e) {
                    if (window.isVisible()) {
                        maxMinButton.setText("Restore Window");
                    } else {
                        maxMinButton.setText("Minimize Window");
                    }
                    window.setVisible(!window.isVisible());
                }
            });
    
            add(maxMinButton);
    
            window.setBounds(30, 30, 300, 220);
            window.setLocationRelativeTo(this);
            window.add(new JLabel("Test JWindow", JLabel.CENTER));
            window.setVisible(true);
        }
    
        public static void main(String[] args) {
            new JWindowTest().setVisible(true);
        }
    }
    

    【讨论】:

    • 感谢您的想法。我改变了一点以匹配我自己的!
    猜你喜欢
    • 2012-07-16
    • 1970-01-01
    • 1970-01-01
    • 2021-04-11
    • 2018-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多