【问题标题】:How to call a class using jToggleButton?如何使用 jToggleButton 调用类?
【发布时间】:2015-10-07 12:10:26
【问题描述】:

我正在用 java 开发一个小屏幕捕获应用程序。我找到了一个从这里选择矩形区域的示例。(this is that question).我使用了另一个 jframe 并添加了一个切换按钮来调用矩形选择类。我创建了一个对象选择切换按钮时的矩形选择类。现在我有问题,

  1. 我使用以下代码创建选择类对象 但如果选择对象存在,它会创建一个新对象。如何阻止这种情况?

     if (sn == null) {   
        if (btn_selection.isSelected()) {
            sn = new SnipIt();
        } else {
            sn.frame.dispose();
        }
    }
    

2. 使用此代码行关闭选择类,

    SwingUtilities.getWindowAncestor(sl).dispose();

所以我创建了一个名为 closeSelection 的方法并在代码行上方插入。但是当我调用此方法时返回一个空点异常,

public void closeSelection() {
        SelectionPane sl=new SelectionPane();
        SwingUtilities.getWindowAncestor(sl).dispose();

    }

我知道我的代码有很多错误。所以请展示这些并给我一个解决方案。非常感谢您的帮助☺

【问题讨论】:

    标签: java swing class


    【解决方案1】:
    1. 例如通过添加一个简单的条件if (sn == null) sn = new SnipIt();null 是对象“不存在”时的值。
    2. 您必须在第一个代码 sn-p 中使用对实际 sn 对象的引用。也许在字段中存储对它的引用。 您的尝试失败,因为:
      • 这是您试图摆脱的完全不同的事情(您创建一个new 只是为了处理它)。
      • 它没有附加到实际的视图层次结构中,因此它没有窗口。

    【讨论】:

    • thanks.but 我试图在那个 class.same 异常中处理 jframe?
    • @stackquestions sn 是否添加到某个窗口中? IE。运行程序时能看到窗格吗?如果没有,那么它也没有窗口。
    • 现在,但是类中有一个jframe?
    • @stackquestions swing 不关心类中是否还有其他东西。您必须将它们添加到框架中 stackoverflow.com/questions/10086936/…
    • 好的,非常感谢。我会试试,或者我会尝试更改类文件:-)。
    猜你喜欢
    • 1970-01-01
    • 2014-09-24
    • 1970-01-01
    • 2011-12-28
    • 2011-12-14
    • 2014-05-26
    • 2012-11-06
    • 2021-12-31
    • 1970-01-01
    相关资源
    最近更新 更多