Как активировать и деактивировать фрейм в Java? - PullRequest
2 голосов
/ 27 мая 2010

Я подал одну заявку в java-swing,
Теперь у меня проблема:
я хочу минимизировать мой jframe, когда он деактивирован, а затем максимизировать, я хочу активировать это окно.

Так что для максимизации я хочу активировать любой jframe, используя код Java.
Так как активировать и деактивировать любой jframe, чтобы я мог что-то сделать для оконных слушателей?

Заранее спасибо.

Ответы [ 2 ]

4 голосов
/ 27 мая 2010

Вам потребуется добавить WindowListener в ваш JFrame и добавить следующую логику для вашего слушателя:

public class Demo extends JFrame implements WindowListener {

    public Demo() {
        addWindowListener(this);
    }

    public void windowActivated(WindowEvent e) {
        setExtendedState(getExtendedState() | Frame.ICONIFIED);
    }

    public void windowDeactivated(WindowEvent e) {
        setExtendedState(getExtendedState() | Frame.MAXIMIZED_BOTH);
    }

    ....
}
1 голос
/ 27 мая 2010

Следующие работы:

import java.awt.Frame;

import javax.swing.*;

public class FrameTest {
    public static void main(String[] args) throws InterruptedException {

        // Create a test frame
        JFrame frame = new JFrame("Hello");
        frame.add(new JLabel("Minimize demo"));
        frame.pack();

        // Show the frame
        frame.setVisible(true);

        // Sleep for 5 seconds, then minimize
        Thread.sleep(5000);
        frame.setState(Frame.ICONIFIED);

        // Sleep for 5 seconds, then restore
        Thread.sleep(5000);
        frame.setState(Frame.NORMAL);

        // Sleep for 5 seconds, then kill window
        Thread.sleep(5000);
        frame.setVisible(false);
        frame.dispose();

        // Terminate test
        System.exit(0);
    }
}

Изменено с http://www.javacoffeebreak.com/faq/faq0055.html


Для фокусировки окна вы можете сделать frame.requestFocus();.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...