【发布时间】:2012-02-28 00:31:38
【问题描述】:
我正在使用 NetBeans 在 Java 中开发一个独立的应用程序,它通过串行端口获取和发送数据。我正在使用一个很棒的 API 进行串行通信,称为 java 简单串行连接器 http://code.google.com/p/java-simple-serial-connector/
请下载我创建的以下 NetBeans 项目: http://netload.in/dateiN9xmwRtn19.htm 即使您没有 netbeans,您仍然可以查看代码。
以上是我制作的一个小示例项目,用于解释我希望完成的任务。该示例包含一个包含 main 方法的 JFrame。此 JFrame 包含 2 个面板:一个带有导航按钮的面板,以及一个使用 CardLayout 显示面板 1 和面板 2 的面板。
在 JFrame 中,我有一个使用 jssc API 的 getPortNames() 方法获取端口名称列表的方法。我的问题是,如何将这些端口名称字符串值从 JFrame 传递到我的面板 1,而不使用以下内容,因为它不起作用: MyJFrame myjframe = new MyJFrame(); myjframe.getPortNames();
装满鳗鱼的气垫船 再次非常感谢您的解释,值得一提。我现在意识到我的问题是 NetBeans 而不是 Java。我对它还不够熟悉,但由于我的项目的规模和复杂性,我仍然更喜欢使用它。我在下面上传了另外 2 个屏幕截图,显示了我如何尝试将 JFrame 对象的“this”引用传递给 NetBeans 中的 JPanel 对象。正如您在 MyJFrame.java 屏幕截图中所见,NetBeans 已将“this”引用标记为错误。你能帮我解决这个问题吗?此外,在您解释的第一句话中,您提到串行端口方法应该在一个单独的类中,而不是在 JFrame 中,因为它们是非 GUI 方法。我完全同意你的看法,我更愿意这样做,因为它是正确的面向对象的方法。但是这样做,我在 NetBeans 中再次面临同样的问题。我现在如何将对象引用从 SerialPorts.java 类传递给 JFrame、JPanel 等,这样我就不会一直创建新的 SerialPorts 对象,记住我需要连接一直保持打开状态(例如,没有使用 SerialPorts sp = new SerialPorts();)。非常感谢您的帮助。
在面板 1 的代码定制器中添加“this”
MyJFrame.java - 编辑器下划线将“this”引用为错误
【问题讨论】:
-
请不要在链接中发布代码。如果您有相关代码,请在此处使用代码标签发布。否则我们可能无法为您提供具体帮助。
标签: java swing netbeans constructor pass-by-reference