Hello B4J:使用 Visual Basic 语法开发完整的 Java 应用






4.88/5 (8投票s)
Hello Basic4Java (B4J),一个用 Basic 语言编写的简单 Java 应用。
引言
大约一年前,我接触了 Java。但这并不是纯粹的 Java。它是用类似 Visual Basic 的语法编写的 Java。我当时对自己说,一旦我能够熟练地用它开发一些有用的东西,我就会分享。我的那篇名为 软件开发者懒惰但聪明,这就是我们进行快速应用开发的原因。 的文章就是因此而诞生的。那篇文章是关于一个使用类似 Visual Basic 语法的应用,但它是一个 Java 应用。
这篇文章将带你回到更基础的层面,介绍如何用类似 Visual Basic 的语法开发一个 Java 应用,然后在你的电脑上运行它。如果你像我一样好奇,欢迎来到非常有趣的 B4X 世界。
B4X 致力于弥合 Android、iOS 和桌面应用之间存在的空白。你用 Visual Basic 语法编写应用,它们就变成了可以在这些平台上运行的 Android、iOS 或 Java 应用。
本次练习,我们将创建一个简单的 Hello Java 应用,不做任何花哨的功能。这仅仅是我将在本论坛中解释的许多步骤中的一步。在说得太多之前,让我们先从简单的步骤开始。
一些不成熟的假设
- 你可以编写 Visual Basic 程序,即使只是简单的程序。但我相信,任何有基本编程经验的人都可以轻松完成这些任务。
- 你有一个互联网连接,可以下载免费的 B4J IDE(Basic4Java 集成开发环境)以及 Java SDK。
- 不幸的是,你无法使用 Mac 执行这些功能,目前只能使用 Windows 电脑。
- 如何运行 jar 文件,例如:
java -jar myfile.jar
。
背景
要完成这个简单的练习,你需要一点点学习的决心和一台好电脑。首先,让我们下载开发 IDE。
- 请 点击此处 下载 IDE。这是一个免费的开发框架,名为 B4J (Basic4Java)。
- 你还需要从 这里 下载 Java SDK。接受许可协议,并下载适用于你固件的相应文件。下载文件后,进行安装。
- 完成上述步骤 2 后,安装你在步骤 1 中下载的文件。运行 B4J,你应该会看到图 1 中的内容。图 1:B4J IDE
-
现在我们需要将 Java JDK 库链接到 IDE。这是一个一次性过程。转到 Tools > Configure Paths,应该会出现图 2。
图 2:Tools > Configure Paths点击 Browse 找到 javac.exe 文件。在 program files\java 等目录下查找。Additional Libraries 文件夹是你将用于开发更多应用程序的附加库的存储位置。它主要包含 .jar 和 .xml 文件。稍后我们可以讨论。
Shared Modules 文件夹将包含附加模块。B4J 中的所有模块都将具有 .bas 扩展名。我们稍后也会研究它。完成后点击 OK。现在你已准备好开始使用 B4J 开发你的第一个 Java 应用。
Using the Code
在开始开发并向你的应用添加任何代码之前,请先保存它。
转到 File > Save > New Folder,你可以将其命名为 B4J Projects。选择新创建的文件夹,然后将你的项目保存为 HelloB4J
。
点击 Save 后,这将创建一个带有 .b4j 扩展名的文件。
你可以通过点击工具栏上的 Run 按钮来测试一切是否正常。让我们试试。
编译后,应该会出现一个空白屏幕。
恭喜你,你离创建第一个 HelloJava
项目又近了一步。如果你看到这个屏幕,说明开发环境已经设置妥当。但你还没有完全成功 :(。
正如你所见,屏幕是空白的,没有 TextBox
、没有 Label
、没有 Button
,也没有 MessageBox
。不要惊慌,我们很快就到了。现在,让我们在屏幕上添加一个 Label
控件和一个 button
控件。我们将这个屏幕称为窗体(form)。
如果你查看当前的 Your code,你会看到一行被注释掉的代码……
'MainForm.RootPane.LoadLayout("Layout1") 'Load the layout file.
这行是我们窗体组件的入口点。要访问 VB 中的 toolbox
,B4J 中有一个称为 Designer 的工具。在 Visual Basic 中,你创建一个窗体,然后可以直接在窗体上拖放控件。在 B4J 中,你将控件拖放到一个 Layout(布局)上,然后使用 LoadLayout
方法将该布局加载到窗体。这意味着你可以创建多个布局,并在同一窗体上以不同的位置放置它们。
现在我不会深入细节,这只是一个开始。我们将创建一个简单的项目并运行它作为演示。让我们享受这段旅程。现在,让我们为控件创建一个布局,然后将该布局加载到窗体。
转到 Designer > Open Internal Designer 从 IDE 菜单中选择。Designer 用于创建你的布局。
B4J 中的控件称为 Views(视图)。在 MVC 术语中,这将是“View”部分。在这里,如果你愿意这样想,你所有的视图都与模型和控制器是分开的。你可以在布局上放置各种控件/视图。继续,点击 Add View 菜单,应该会出现一个类似图 7 的列表。
在我们的练习中,我们希望屏幕上有一个 Button
和一个 Label
。在 Add View 菜单的下拉列表中点击 Label,一个 label 控件将被放置在 Abstract Designer 中。
再次点击 Add View 并选择 Button,它也将被添加到 Abstract Designer 中。你可以在 Designer 中选择每个控件,并将其拖放到其他位置。我已经按照图 8 中的方式处理了它们。你会注意到,当你选择每个组件时,它都会显示句柄,你可以拖动这些句柄来调整控件的大小。
选择 Label1
控件,一个 propertybag
将出现在左侧。将其名称更改为 lblNote
,向下滚动找到 text
属性并将其更改为 Hello B4J。通过这样做,我们为标签赋予了 lblNote
的标识,以便我们的“控制器”代码可以访问它。
同样,选择 Button1
控件,将其名称更改为 cmdHello
,并将其 Text
属性设置为 Click Me。
你刚刚完成了应用的视觉设计。你需要保存布局并为其命名。
点击 File > Save,应该会出现图 11。
输入布局的名称,我给它起了个名字叫“frmHello
”,然后点击 Ok。
转到 File > Close Window 或直接点击 Designer 的关闭按钮。不过,你也可以从菜单中选择 WYSIWYG Designer 并点击 Connect。应该会出现类似图 12 的内容。
好了,现在我们的屏幕上有一个标签和一个按钮。我们如何将按钮的点击事件关联起来,以及如何显示这个窗体/布局在我们的应用中?如果你现在运行应用,仍然会出现图 5 中的空白屏幕。
为了显示我们的窗体/布局,我们需要告诉 IDE 显示它。
我们的 AppStart
方法是启动我们应用的方法。在其中,有一行代码用于加载布局。取消注释该行,并将“Layout1
”替换为“frmHello
”,这是你的布局名称。请记住,布局名称是区分大小写的。你应该使用你保存它的确切名称。
MainForm.RootPane.LoadLayout("frmHello") 'Load the layout file.
进行这些更改后运行应用,你应该会看到类似下图的内容。
请注意,在执行模式下,屏幕底部没有“Connected”,就像图 12 一样。如果你点击 Click Me 按钮,什么也不会发生,所以我们的应用就像是“死”的。别担心。我马上就会向你展示如何将屏幕控件与事件关联起来。
让我们来看一些方法。
'show an hourglass
Sub ShowHourGlass(frm As Form)
frm.RootPane.MouseCursor = fx.Cursors.wait
End Sub
' hide the hour glass
Sub HideHourGlass(frm As Form)
frm.RootPane.MouseCursor = fx.Cursors.DEFAULT
End Sub
你可能已经注意到,我们的项目默认添加了一个方法。
Sub Process_Globals
Private fx As JFX
Private MainForm As Form
End Sub
Process globals 在应用启动时声明一次,并且如果它们被声明为 Public
,则可以在其他模块中使用。为了使 Java 应用正常工作,它需要 JFX 库和 jCore 库。在屏幕右侧,底部有一些标签,可以访问 IDE 的各个部分。我在这里不详细介绍,但如果你点击 Libraries,它们会列出可用的库,已勾选的表示已加载并将被应用使用的库。
如前所述,库是为与 B4J 框架配合使用而开发的、其他 .jar 和 .xml 文件。有各种各样的库可供选择。
根据 维基百科 的说法,JFX 或 JavaFX 是一个用于开发 RIA 和桌面应用的软件平台。你可以在那里了解更多关于它的信息。
现在,关于事件……
转到 Designer > File > frmHello
,布局应该会出现,或者你会被提示切换到该 Designer,请选择 OK 进行切换。
在这里,将 View 与 Controller 关联的过程称为“Generate Members”。对于每一个可以从代码中访问的视图,你都需要生成其成员,无论是点击(action)事件等等。
在 Designer 中,选择 Tools > Generate Members。
我们想要处理 cmdHello
事件并在代码中访问该控件,请勾选它,也勾选 Action。点击事件在 B4J 中称为 Action。另外,选择 lblNote
,然后点击 Generate Members。关闭 Designer。
你应该会注意到,在你的代码中,你应该在 Process_Globals
下看到。
Private cmdHello As Button
Private lblNote As Label
并且
Sub cmdHello_Action
End Sub
更新 cmdHello_Action
代码为……
Sub cmdHello_Action
' update the label text
lblNote.Text = "Welcome to the world of B4J Programming."
End Sub
注释你的代码始终很重要。再次运行应用,点击 Click Me 按钮。你应该会看到这个。
就是这样。我们刚刚创建了我们的第一个 B4J 应用。你可以在 Debug 模式和 Release 模式下运行你的应用。Debug 模式是你进行调试和捕捉错误的时候。在 Release 模式下,IDE 会使用项目名称为你创建一个 .jar 文件。你可以在项目文件夹的 Objects 文件夹中找到它。这就是你可以分发到 Linux、Mac、Windows、Raspberry PI 等设备上运行的文件。
关注点
这篇作为第一篇的文章只是浅显地介绍了如何使用 B4J 免费 IDE 创建第一个 Basic4Java 应用。对我来说,这是一个很好的发现,因为我可以用我熟悉的 Visual Basic 经验来创建 Java 应用。虽然语法与 Visual Basic 几乎相同,但也有一些新的方法、常量和其他定义可以让你在学习过程中掌握。对于任何有兴趣从事 Java 相关工作的人来说,这是一个非常有趣的探索领域。另一个好处是,有一个支持论坛可以解决 B4J 的任何问题。
尽情享用!
历史
- 2016 年 11 月 3 日:初始版本