3

私のアプリには、カスタム最小化ボタンがクリックされたときに最小化する必要があるJWindowがあります。JWindowを最小化する方法を誰かが知っている場合は返信してください。私はたくさん検索しましたが、最小化するための適切な方法を見つけることができませんでした。JFrameを最小化する方法を知っています。したがって、JFrameに関してわざわざ答えないでください。ありがとう。

4

2 に答える 2

3

私はあなたがこれを聞きたくないことを知っています、しかしひどい真実は装飾されていないjframes(setstateメソッドを使って)とjwindowsの間に大きな違いがないということです... :)

    JFrame f = new JFrame("Frame");
    f.setUndecorated(true);
于 2012-10-18T18:30:59.467 に答える
2

JWindowにはコントロールアイコンが表示されていないため、setStateメソッドは提供されていません。回避策の1つは、カスタム最小化ボタンでウィンドウを必要に応じて表示できるようにすることです。

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-10-18T18:13:26.053 に答える