Автоматически максимизировать окно с помощью Netbeans

Я пытался заставить окно автоматически максимизироваться с помощью Netbeans.

Я, наверное, просмотрел 4 или 5 страниц Google в поисках ответа.

Веб-страницы всегда предоставляют что-то вроде этого:

public void run() {
    MyFrame myFrame = new MyFrame();
    myFrame.setVisible(true);
    myFrame.setExtendedState(myFrame.getExtendedState() | JFrame.MAXIMIZED_BOTH);
}

Я использую Netbeans 6.9.1.

Это больше не работает? Есть ли другой способ сделать это?

Кроме того, если вы найдете свой ответ на веб-странице, предоставьте ссылку, чтобы я мог продолжить изучение этого вопроса. Спасибо заранее за любые данные! :)


person JT White    schedule 05.03.2011    source источник
comment
Код, который вы предоставили, кажется, очень хорош - почему вы думаете, что это как-то связано с NetBeans? Что произойдет, если вы попробуете это сделать в Eclipse или даже из командной строки? Кроме того, вы можете опубликовать еще немного своего кода, чтобы мы могли посмотреть, есть ли что-то, что может отменить это.   -  person no.good.at.coding    schedule 06.03.2011
comment
удалите myFrame.getExtendedState() и оставьте только JFrame.MAXIMIZED_BOTH. Состояния не (бит) установлены. Toolkit.isFrameStateSupported всегда возвращает false в составном состоянии, даже если все части поддерживаются; если часть состояния не поддерживается, состояние не поддерживается. MAXIMIZED_BOTH не является составным состоянием.   -  person bestsss    schedule 06.03.2011
comment
@trashgod, прочитайте замечание, я хорошо знаю, что говорится в документе (замечание от private boolean java.awt.Frame.isFrameStateSupported(int state)   -  person bestsss    schedule 06.03.2011
comment
@bestsss: Ах, я пропустил обновление вашего комментария. Я не уверен, что ваше предложение что-то изменит. Я вижу один и тот же результат в любом случае.   -  person trashgod    schedule 06.03.2011


Ответы (4)


Что касается setExtendedState(), «Обратите внимание, что если состояние не поддерживается на данной платформе, ничего не произойдет».

Если это не имеет значения, может оказаться полезным sscce.

Приложение: Этот пример работает правильно:

import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;

/** @see http://stackoverflow.com/questions/5207425 */
public class NewJavaGUI extends JPanel {

    private void display() {
        JFrame f = new JFrame("NewJavaGUI");
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.add(this);
        f.pack();
        f.setExtendedState(f.getExtendedState() | JFrame.MAXIMIZED_BOTH);
        f.setVisible(true);
    }

    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {

            @Override
            public void run() {
                new NewJavaGUI().display();
            }
        });
    }
}

Приложение: Соответствующие константы состояния, по-видимому, образуют согласованный набор. В частности, MAXIMIZED_HORIZ | MAXIMIZED_VERT == MAXIMIZED_BOTH:

NORMAL          0 0000
MAXIMIZED_HORIZ 2 0010
MAXIMIZED_VERT  4 0100
MAXIMIZED_BOTH  6 0110
person trashgod    schedule 06.03.2011
comment
проблема в том, что состояния не могут быть установлены с помощью ИЛИ, даже если в документе указано, что они битовые, просто у вас не может быть NORMAL | Состояние MAXIMIZED_XXX одновременно - person bestsss; 06.03.2011
comment
@bestsss: Извините, я не слежу за: 2 | 4 == 6. - person trashgod; 06.03.2011
comment
@bestsss: Вовсе нет; Я ценю возможность уточнить мое понимание. - person trashgod; 06.03.2011
comment
@trashgod Большое спасибо, это сработало идеально ... Думаю, теперь я понимаю. Вы здорово помогли! Надеюсь, это будет отображаться в Google, чтобы другие тоже могли его просмотреть! - person JT White; 09.03.2011
comment
@JT Уайт: Отлично! Вы можете принять этот ответ, нажав на серую галочку, чтобы она стала зеленой. - person trashgod; 09.03.2011

чтобы максимизировать свою форму при запуске, вы должны позволить netbeans сделать это в нужное время! Вы можете сделать это через событие JFrame windowOpened:

В окне свойств JFrame нажмите кнопку «События»;

Нажмите кнопку с многоточием (...) рядом с событием windowOpened;

В диалоговом окне Handler добавьте обработчик с именем formWindowOpened (как предложено NetBeans);

В методе formWindowOpened в редакторе исходного кода вставьте следующий код:

Код:

    setExtendedState(JFrame.MAXIMIZED_BOTH); 

Удачи!

person Irshad Khan    schedule 18.05.2013

Поместите код ниже в initComponents();

public Home() {
        initComponents();
        this.setExtendedState(MAXIMIZED_BOTH);
    }
person user3686046    schedule 24.01.2016

Поместите приведенный ниже код над initcomponents();:

 public Test() {
    this.setExtendedState(JFrame.MAXIMIZED_BOTH);

    this.setUndecorated(true);
    //use this command to remove the maximize,minimize,close option from the 
    //title.        

     initComponents();

 }
person Shivam Rajput    schedule 09.03.2019