2015-07-06 2 views
0

Что я сделал, создается форма, в которой есть таблица, отображающая инвентарь. Когда элемент щелкнул правой кнопкой мыши, появится всплывающее меню, где пользователь может щелкнуть править редактирование инвентаризации (JFrame изменит размер до (988, 736)). Панель будет загружена из внешнего класса с помощью кнопок и меток. То, что я пытаюсь достичь здесь, - это когда пользователь нажимает кнопку «Сохранить», скрытая кнопка «Закрыть» становится видимой. После нажатия кнопки «закрыть» панель будет установлена ​​невидимой, и мне также понадобится ее, чтобы установить JFrame обратно в исходный размер (988, 430). Как мне это достичь (установка JFrame обратно (988, 430) из внешнего класса)?Изменение размера рамки с использованием внешнего фрейма

Вот код, у меня есть для него до сих пор:

На этой кнопки события ниже я хотел бы вставить кодировку, чтобы изменить размер JFrame. Это кодирование в классе (SV2.java)

private void btn_closeActionPerformed(java.awt.event.ActionEvent evt) 
    { 
     SV1 objc = new SV1(); 
     Panel.setVisible(false); 
     objc.getContentPane().setPreferredSize(new Dimension(988,430)); 
     objc.getContentPane().setSize(new Dimension(988, 430)); 

     // coding to resize JFrame in class SV1.java, from setting it within this class 

    } 
+1

можно передать JFrame в объект панели в конструкторе – BoDidely

+0

Я уже пытался передать его через конструктор. мы можем просто привести краткий пример только для ясности. В случае, если я просто что-то забываю. – Jay

ответ

0

В SV2.java:

//Add instance variable for parent 
private JFrame parent; 

//Add JFrame to the constructor 
public SV2(SomeType someParameter, OtherType foo, JFrame parent) { 
    this.parent = parent; 
    //rest of constructor code... 
} 

//Use JFrame to resize 
private void btn_closeActionPerformed(ActionEvent evt) { 
    parent.setSize(988, 430); 
    //rest of code triggered by close button... 
} 

В классе, который вызывает панель:

//Pass the frame when instantiating the SV2 object 
new SV2(yourParameter1, yourOtherParameter, frame); 
Смежные вопросы