【问题标题】:Resize Jframe using external frame使用外部框架调整 Jframe 的大小
【发布时间】:2015-07-06 21:52:59
【问题描述】:

我所做的是创建了一个表格,其中有一个显示库存的表格。右键单击项目时,会显示一个弹出菜单,用户可以在其中单击编辑库存编辑(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

   }

【问题讨论】:

  • 您可以在构造函数中将 JFrame 传递给面板对象
  • 我已经尝试通过构造函数传递它。为了清楚起见,我们能否提供一个简短的示例。以防我忘记了什么。

标签: java swing netbeans


【解决方案1】:

在 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);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多