首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jframe操作执行的jframe

jframe操作执行的jframe
EN

Stack Overflow用户
提问于 2012-03-14 02:44:58
回答 5查看 998关注 0票数 1

我目前有一个按钮,当单击它时,它执行一个方法,该方法创建一个带有加载多个图像的面板的jframe。如果多次单击此按钮,图像将不断添加到加载到jframe上的前置图像上。我应该使用什么代码,以便在加载jframe和元素之后单击按钮,在单击一次之后,不会添加任何其他内容。

非常感谢

EN

回答 5

Stack Overflow用户

发布于 2012-03-14 03:00:04

下面是什么:

代码语言:javascript
复制
public void actionPerformed(ActionEvent evt) {
  button.setEnabled(false);

  // the other code that creates imgFrame

  imgFrame.addWindowListener(new WindowAdapter() {
      @Override public void windowClosing(WindowEvent evt) {
          button.setEnabled(true);
      }});

  imgFrame.setVisible(true);
}
票数 2
EN

Stack Overflow用户

发布于 2012-03-14 02:47:39

  1. 不会在运行时创建大量JFrames,因为在当前JVM实例存在之前,这些对象永远不会从JFrames中消失,您可以非常方便地查看CardLayout来解决多个视图的问题(在本例中,在一个JFrame)
  2. put图像中作为JLabel

Icon/ImageIcon

票数 0
EN

Stack Overflow用户

发布于 2012-03-14 15:10:45

当框架显示时禁用该按钮,当框架关闭时启用该按钮。

代码语言:javascript
复制
public void actionPerformed(ActionEvent evt) {

    final JButton finalButton = button;
    button.setEnabled(false);
    JFrame frame = new JFrame()
    {
        protected void processWindowEvent(WindowEvent e)
        {
            if (e.getID() == WindowEvent.WINDOW_CLOSING)
            {
                finalButton.setEnabled(true);
            }
            super.processWindowEvent(e);
        }
    };
    frame.setVisible(true);
 }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9690120

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档