使用netbeans和swing编写简单的java用户界面

在NetBeans中创建一个新的Java应用程序项目,其中包含一个我们称之为项目的主类...

设置netbeans项目

在NetBeans中创建一个新的Java应用程序项目,其中包含一个我们称之为项目的主类

检查点:在NetBeans的“项目”窗口中,应该是一个顶级的GuiApp1文件夹(如果名称不是粗体,请右键单击该文件夹并选择

).在下面

文件夹应该是一个带有

称为GuiApp1。此文件夹包含名为

JAVA

在添加任何Java代码之前,请将以下导入添加到

类,在

线与线

:

这些导入意味着我们将可以使用制作这个GUI应用程序所需的所有类。

在main方法中,添加以下代码行:

这意味着要做的第一件事是创建一个新的

对象对于示例程序来说,这是一条很好的捷径,因为我们只需要一个类。为了让它工作,我们需要一个

类,因此添加一个新方法:

在这个方法中,我们将放置创建GUI所需的所有Java代码,这意味着从现在开始的每一行都将在

方法。

Young businessman holding his head and pondering

使用jframe构建应用程序窗口

设计说明:您可能已经看到发布的Java代码显示了该类(即。,

)从一个

. 然后将此类用作应用程序的主GUI窗口。对于一个普通的GUI应用程序,确实不需要这样做。唯一一次你想延长

类是指如果您需要创建更特定类型的

(看一看

有关创建子类的详细信息)。

如前所述,GUI的第一层是由

. 创建

对象,调用

建造商:

接下来,我们将使用以下四个步骤设置GUI应用程序窗口的行为:

1.确保当用户关闭窗口时应用程序关闭,以便它不会继续在后台运行:

2.设置窗口的标题,使窗口没有空白标题栏。添加此行:

3.设置窗口大小,以便调整窗口大小以容纳放置在其中的图形组件。

设计说明:设置窗口大小的另一个选项是调用

方法

班级。此方法根据窗口包含的图形组件计算窗口的大小。因为这个示例应用程序不需要更改其窗口大小,所以我们只使用​这个

方法。

4.将窗口中心放在计算机屏幕的中间,使其不出现在屏幕的左上角:

添加两个JPanel

这里的两行为

我们将很快创建的对象,使用两个

数组。这使得为这些组件填充一些示例条目变得更容易:

创建第一个jpanel对象

现在,让我们创建第一个

对象它将包含一个

. 所有三个都是通过其构造函数方法创建的:

以上三行的注释:

  • JPanel变量被声明为final。这意味着变量只能保存在此行中创建的JPanel。结果是我们可以在内部类中使用该变量。很明显,我们为什么要在以后的代码中这样做。
  • JLabel和JComboBox具有传递给它们的值,以设置它们的图形属性。标签将显示为“Fruits:”,组合框现在将包含前面声明的fruitOptions数组中包含的值。
  • JPanel的add()方法将图形组件放入其中。JPanel使用FlowLayout作为其默认布局管理器。这对于这个应用程序很好,因为我们希望标签位于组合框旁边。只要我们先添加JLabel,它就会看起来很好:

创建第二个jpanel对象

第二

遵循相同的模式。我们将添加一个

并将这些成分的值设置为“蔬菜:”和第二个

排列

. 唯一的其他区别是使用

方法隐藏

. 别忘了会有一个

控制两者的可见性

. 要想让它起作用,一开始就需要隐形。添加这些行以设置第二行

:

上面代码中值得注意的一行是

方法

. 这个

值使列表在两列中显示其包含的项。这被称为“报纸样式”,是一种显示项目列表的好方法,而不是更传统的垂直列。

画龙点睛

最后一个需要的组件是

要控制对象的可见性,请执行以下操作:

s在中传递的值

构造函数设置按钮的标签:

这是唯一定义了事件侦听器的组件。“事件”发生在用户与图形组件交互时。例如,如果用户单击按钮或将文本写入文本框,则会发生事件。

事件侦听器告诉应用程序在事件发生时要做什么。

使用ActionListener类“侦听”用户单击的按钮。

创建事件侦听器

由于此应用程序在单击按钮时执行简单任务,因此我们可以使用匿名内部类来定义事件侦听器:

这可能看起来像是可怕的代码,但您只需将其分解以查看发生了什么:

  • 首先,我们调用JButton的addActionListener方法。此方法需要ActionListener类的实例,该类是侦听事件的类。
  • 接下来,我们创建ActionListener类的实例,方法是使用new ActionListener()声明一个新对象,然后提供一个匿名内部类——这就是花括号中的所有代码。
  • 在匿名内部类中,添加一个名为actionPerformed()的方法。这是单击按钮时调用的方法。此方法所需的只是使用setVisible()更改JPanel的可见性。

将JPanel添加到jframe

最后,我们需要添加两个

s和

. 默认情况下

使用BorderLayout布局管理器。这意味着有五个区域(跨越三行)的

可以包含图形组件(北、{西、中、东}、南)。使用

方法:

将jframe设置为可见

最后,如果我们不设置

可见:

现在我们准备运行NetBeans项目来显示应用程序窗口。单击按钮将在显示组合框或列表之间切换。

  • 发表于 2021-09-12 23:46
  • 阅读 ( 165 )
  • 分类:IT

你可能感兴趣的文章

awt公司(awt)和摆动(swing)的区别

...、移动和web应用程序。该语言提供了用于创建丰富的图形用户界面(GUI)的工具包。其中两个是AWT和Swing。本文讨论AWT和Swing之间的区别。AWT和Swing的关键区别在于AWT是Java最初的依赖于平台的窗口、图形和用户界面小部件工具包...

  • 发布于 2020-10-19 16:56
  • 阅读 ( 180 )

虚拟机(jvm)和jre公司(jre)的区别

...,你需要安装某些软件;有些人将其称为JVM,而有些人则使用JRE。尽管大多数人所指的都是同一件事,但JVM和JRE之间有一定的区别。JVM实际上是一个应用程序,它是JRE的一部分。要运行应用程序,需要一个JRE,它包含JVM。 JVM代...

  • 发布于 2021-06-23 18:18
  • 阅读 ( 211 )

如何编写一个简单的java程序(write a simple java program)

...业的java开发人员通常使用IDE(集成开发环境)如Eclipse、NetBeans等来编写java程序。但是,如果您的机器中安装了所需的软件,您甚至可以使用记事本编写一个简单的java程序。 设置开发环境编写简单的java程序 首先,我们需要为jav...

  • 发布于 2021-06-27 21:34
  • 阅读 ( 193 )

JAVA(java)和python(python)的区别

...ySQL、MSSQL和SQLite等数据库集成。此外,它还允许开发图形用户界面(gui)。此外,它还支持多线程。 java与python的相似之处 两者都是高级通用编程语言。 程序员可以很容易地下载和安装这两个无需支付费用。 此外,还可以将两...

  • 发布于 2021-07-01 03:43
  • 阅读 ( 319 )

java核心技术(core java)和高级java(advanced java)的区别

...AWT、线程和集合等概念。Swing和AWT有助于构建强大的图形用户界面(gui)。此外,线程允许同时执行多个进程,而集合允许操作一组对象。总的来说,核心Java涵盖了Java编程语言的所有基本概念。 什么是高级java(advanced java)? Advan...

  • 发布于 2021-07-01 03:53
  • 阅读 ( 266 )

日食(eclipse)和网虫(netbeans)的区别

...扩展IDE功能。 此外,两者都提供使用GUI拖放功能设计raid用户界面。 此外,两者都提供自动代码完成功能。 最后,两者都提供了测试和调试功能。 日食(eclipse)和网虫(netbeans)的区别 定义 Eclipse是一个开源平台,包含可扩展的软...

  • 发布于 2021-07-01 03:57
  • 阅读 ( 391 )

awt公司(awt)和java中的swing(swing in java)的区别

...主要区别在于AWT是Java最初的依赖于平台的窗口、图形和用户界面小部件工具箱,而Swing是一个用于Java的GUI小部件工具箱,是AWT的扩展。 Java是一种高级通用编程语言,支持面向对象编程、多线程、平台无关性和许多其他特性。程...

  • 发布于 2021-07-01 04:03
  • 阅读 ( 226 )

命名空间(namespace)和包裹(package)的区别

...间有助于管理应用程序。在一个简单的C程序中,程序员使用语句System.C***ole。它描述了名称空间是System,类是C***ole。 此外,要访问命名空间的类,程序员应该编写以下语法namespace\u name.classname。但是,程序员可以通过“using”关...

  • 发布于 2021-07-02 00:21
  • 阅读 ( 319 )

杰帕内尔(jpanel)和jframe公司(jframe)的区别

...的通用容器。它是一个非常简单的组件,通常不具备图形用户界面(GUI)。但是,如果在不透明的背景中布局或包含显示边框,它可能有一个GUI。JPanel容器类位于javax.swing包中。swing是抽象窗口工具包(AWT)的扩展,AWT是第一代Ja...

  • 发布于 2021-07-09 19:11
  • 阅读 ( 217 )

jdk公司(jdk)和jre公司(jre)的区别

...Java虚拟机(JVM):包括Java热点客户机和服务器虚拟机。 用户界面工具包:包括抽象窗口工具包(AWT)、Swing、java2d、辅助功能、图像I/O、打印服务、声音、拖放(DnD)和输入方法。 集成库:这些库包括接口定义语言(IDL)、Jav...

  • 发布于 2021-07-13 21:16
  • 阅读 ( 229 )
佳寒谦齐
佳寒谦齐

0 篇文章

相关推荐