java_swing_入门教程

合集下载

javaswing jlist组件的基本用法

javaswing jlist组件的基本用法

javaswing jlist组件的基本用法JList是JavaSwing库中的一个组件,它用于显示一个列表的数据。

在JavaSwing中,JList允许用户选择列表中的项目。

以下是如何使用JList组件的基本步骤:一、引入必要的库在开始使用JList之前,我们需要引入必要的库。

首先,需要引入JavaSwing库。

可以在项目中直接添加JavaSwing库,或者通过Maven等构建工具添加。

```javaimportjavax.swing.*;```二、创建JList对象创建一个JList对象,需要指定要显示的数据源。

数据源可以是数组、列表或其他集合。

```javaJList<String>list=newJList<>(newString[]{"Item1","Item2","Item3"});```三、设置列表样式可以使用多种方式来设置列表样式,例如背景颜色、字体等。

可以使用以下方法来设置列表样式:```javalist.setBackground(Color.WHITE);//设置背景颜色为白色list.setFont(newFont("Arial",Font.BOLD,14));//设置字体为粗体,大小为14```四、添加到容器中可以将JList对象添加到JFrame、JPanel等容器中,以便将其显示出来。

可以使用以下代码将JList对象添加到容器中:```javaJFrameframe=newJFrame("JListExample");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.add(newJScrollPane(list));//将JList对象添加到滚动面板中,以便查看大列表frame.pack();frame.setVisible(true);```五、使用addListSelectionListener监听器监听列表选择事件可以使用addListSelectionListener方法来监听列表选择事件。

编写swing程序的主要步骤

编写swing程序的主要步骤

编写swing程序的主要步骤好的,要使用 Java Swing 编写图形用户界面 (GUI) 应用程序,可以按照以下主要步骤进行操作:1. 设计用户界面:首先,需要使用 Swing 组件设计应用程序的用户界面。

这可以通过使用 Java 的可视化设计工具,如 NetBeans IDE 或 Eclipse IDE 中的 Swing 设计器来完成。

这些工具提供了一个图形化界面,可以通过拖放和调整组件的大小和位置来创建用户界面。

2. 创建组件:在设计用户界面后,可以使用 Java 代码创建这些组件。

这可以通过扩展 Swing 类并创建组件对象来完成。

例如,可以扩展 JFrame 类创建一个窗口,扩展JTextField 类创建一个文本框,扩展 JButton 类创建一个按钮等。

3. 设置组件属性:创建组件后,可以使用 Java 代码设置它们的属性,例如文本、颜色、大小、位置等。

这可以通过调用组件的相应方法来完成。

4. 添加事件监听器:为了使应用程序对用户的交互做出反应,需要为组件添加事件监听器。

例如,如果需要在按钮被点击时执行某个操作,可以为按钮添加一个ActionListener。

5. 组织组件层次结构:在 Swing 中,组件是按照层次结构组织的。

父组件可以包含子组件,子组件可以包含孙子组件等。

需要确保组件的层次结构正确,以便正确显示和处理事件。

6. 创建窗口:最后,需要创建一个包含所有组件的窗口。

这可以通过创建一个 JFrame 对象并将其设置为可见来完成。

7. 运行应用程序:完成应用程序的编写后,可以使用 Java 编译器将其编译为可执行文件,并在 Java 虚拟机上运行。

这是使用 Java Swing 编写应用程序的基本步骤。

需要注意的是,Swing 是一个庞大而复杂的 API,需要花费时间和精力来学习和掌握。

跟我学JavaSwingGUI组...

跟我学JavaSwingGUI组...

跟我学JavaSwingGUI组...1.1跟我学Java Swing GUI组件技术及应⽤实例——Java Swing 组件技术中的通⽤对话框编程应⽤实例1.1.1Java Swing通⽤对话框的编程实现1、实现⽂件打开或保存JFileChooser 类(l)实现选择⽂件或者保存⽂件的对话框JFileChooser类它与FileDialog类有差别(FileDialog类是AWT中的,⽽JFileChooser类是Swing中的),通过调⽤showOpenDialog⽅法实现打开⽂件,⽽通过调⽤showSaveDialog⽅法则实现保存⽂件。

(2)JFileChooser类的构造⽅法(3)体现JFileChooser类的使⽤⽅法的⽰例代码如下JFileChooser chooser = new JFileChooser();chooser.setDialogTitle("将您的⽂件改名保存");chooser.setCurrentDirectory(new File(".\\"));chooser.setApproveButtonToolTipText("点击该按钮将保存您的⽂件");/** 采⽤showOpenDialog(this)将显⽰出⽂件打开⽅式*/int returnVal1 = chooser.showSaveDialog(this);if(returnVal1 == JFileChooser.APPROVE_OPTION) { //识别是否按下"OK" //获得⽤户所选择的⽂件路径与⽂件名textBox.append(chooser.getSelectedFile().getAbsolutePath());}(4)⽰例程序代码执⾏的效果2、JColorChooser 颜⾊选择对话框(l)实现颜⾊选择对话框JColorChooser类(2)JColorChooser类的构造⽅法(3)showDialog⽅法的功能及定义(4)体现JColorChooser类的应⽤的⽰例代码JColorChooser chooserColor = new JColorChooser();Color userSelectColor= chooserColor.showDialog(this,"Color Select Dialog",Color.red);if(userSelectColor !=null){this.setBackground(userSelectColor);}(5)⽰例程序代码执⾏的效果(6)如何将JColorChooser置于某个容器中此时应该创建出JColorChooser类的对象并使⽤ColorSelectionModel接⼝来管理⽤户所选择的颜⾊(利⽤JColorChooser类中的getSelectionModel()得到ColorSelectionModel接⼝类的对象,并添加ActionListener事件)。

java_swing_入门教程

java_swing_入门教程

Swing 甚至走得更远一步,在基本的UI 原则之上又放上了一个公共的设计模式。

这个设计模式叫做模型-视图-控制器(Model-View-Controller,MVC),它试图“把角色分开”。

MVC 让负责显示的代码、处理数据的代码、对交互进行响应并驱动变化的代码彼此分离。

JComponentSwing 的整个可视组件库的基础构造块是JComponent。

它是所有组件的父类。

它是一个抽象类,所以不能创建JComponent,但是作为类层次结构的结果,从字面意义来说它包含了数百个函数,Swing 中的每个组件都可以使用这些函数。

显然,有些概念要比其他概念重要,所以对于本教程,需要学习的重要的东西是:∙JComponent 不仅是Swing 组件的基类,还是定制组件的基类(有关的更多信息在“中级Swing”教程中)。

∙它为所有组件提供了绘制的基础架构——一些方便进行组件定制的东西(同样,在“中级Swing”中,有关于这个主题的更多信息)。

∙它知道如何处理所有的键盘按键。

所以类只需要侦听特定的键。

∙它包含add() 方法,可以添加其他JComponent。

换种方式来看,可以把任意Swing 组件添加到其他任何Swing 组件,从而构造嵌套组件(例如,JPanel 包含JButton,甚至包含一些古怪的组合,例如JMenu 包含JButton)。

简单的swing小部件Swing 库中最基础的组件是JLabel。

它所做的正是您所期望的:呆在那儿,看起来很漂亮,描述其他组件。

下图显示了的JLabel 实际应用:JLabel不太吸引人,但是仍然有用。

实际上,在整个应用程序中,不仅把JLabel 用作文本描述,还将它用作图片描述。

每当在Swing 应用程序中看到图片的时候,它就有可能是JLabel。

JLabel 对于Swing 初学者来说没有许多意料之外的方法。

基本的方法包括设置文本、图片、对齐以及标签描述的其他组件:∙get/setText():获取/设置标签的文本。

JavaSwing中嵌入JavaFX入门-Netbeans

JavaSwing中嵌入JavaFX入门-Netbeans

JavaSwing中嵌入JavaFX入门-Netbeans 1安装JDK1.6.0_31和JavaF某2.0SDK到192.168.1.82(用户名:adminitrator密码:111111)中的bak目录下拷贝,如下图所示。

一切采用默认下去就可以了。

注意:没有安装IDE的安装IDE(bak目录有,任何版本都行)。

JavaF某2.0需要JDK1.6以上。

2Swing中嵌入JavaF某应用开发2.1创建java应用程序工程选择“文件”------>“新建项目”,选择点下一步。

项目名称命名为“JavaF某EmbedInSwing”,指定“项目位置选”,创建主类“con.javaf某.in.wing.JavaF某EmbedInSwing”,点击完成。

初始的项目如下图。

2.2导入JavaF某库文件包在项目目录下建一个名称为“lib”的子目录。

然后把“JavaF某2.0SDK”安装目录下(我安装到了“C:\\ProgramFile\\JavaF某\\javaf某-dk2.1”下)的“rt”子目录中的“bin”和lib复制到刚刚创建的“lib”目录下。

项目目录:JavaF某2.0SDK目录:然后再项目树下的“库”上右键,选择“添加JAR/文件夹”。

从文件选择器中选择,刚刚复制到“lib”下的两个文件夹中的“lib”文件夹中的“jf某rt.jar”。

点击“打开”。

完成后,“库”下多了一个子节点“jf某rt.jar”,JavaF某库文件导入完毕。

如下图所示:2.3创建主窗体Java应用程序中,“publictaticvoidmain(String[]arg)”是指定的启动接口。

也就是是说java应用程序启动时首先走main方法。

在main方法中创建JFrame这个Swing的顶层容器用来存放各种Swing组件,代码如下:运行效果为:2.4创建JF某Panel并将其加入到Swing窗口中创建完JF某Panel,设置JF某Panel的内容的时侯,由于其使用的是JavaF某应用程序线程(即:“JavaF某applicationthread”)创建的,需要调用javaf某.application.Platform.runLater(Runnabler)方法,来协调其与Swing和AWT事件分发线(即:SwingandAWTEventDipatchThread(EDT))程,避免冲突。

javaswing实现数据显示的逻辑

javaswing实现数据显示的逻辑

javaswing实现数据显示的逻辑
要使用Java Swing来实现数据显示的逻辑,可以按照以下步骤进行:
1. 创建一个继承自JFrame的主窗口类,作为应用的主界面。

2. 在主窗口类中添加一个JTable组件,用来显示数据。

3. 创建一个继承自AbstractTableModel的数据模型类,用来管理表格中的数据。

4. 在数据模型类中实现必要的方法,如获取表格的行数、列数、单元格数值等。

5. 在主窗口类中实例化数据模型类,并将其设置给JTable组件。

6. 从数据源获取数据,并通过数据模型类的方法添加到表格中。

7. 可以添加其他的Swing组件,如按钮、文本框等,来实现数据的添加、删除、修改等操作。

8. 实现相应的事件监听器,以响应用户的操作。

例如,点击按钮时,执行相应的添加、删除、修改数据的操作。

9. 使用布局管理器来控制组件的布局。

可以选择合适的布局管理器来满足UI设计的需求。

10. 最后,调用setVisible(true)方法将主窗口显示出来。

这样,就可以使用Java Swing实现数据显示的逻辑了。

根据具体的需求和情况,可以根据以上步骤进行适当的修改和扩展。

Java第06章--1(AWT与Swing)

Java第06章--1(AWT与Swing)

• • 视图(view):它专门负责组件的绘制工作,主要涉及 paint()方法。MVC设计范式的最大优点是一个模型可以 有多个视图,每个视图是一个不同侧面但内容却是完整的。 • 一个模型的几个视图都是从不同侧面、用完整的内容来描 述同一个模型。当模型的控制器要修改其内容时,均会通 知这每个视图,它们都会自动地更新自己的视图显示。 • • 控制器(controller):专门负责管理和处理组件所接 收到的事件,这些事件可能来自用户的操作。如键盘输入、 鼠标点击和拖放等,也可能来自系统,如系统计时器发出 的事件。 • 视图和其控制器之间的通信不仅频繁且非常复杂,因此 JFC系统把两者封装成一个整体。
• • 模型(model):模型负责获取和管理组件的状态,用户若 需要询问组件的状态时,实际上是询问该组件的模型。 • 若要询问Swing型按钮组件(JButton 类的一个对象)的状 态,可调用JButton 类的父类javax.swing.AbstractButton所 提供的isSelected()方法,它定义为: – public boolean isSelected() { ... } – 该方法返回一个逻辑值,若为true则该按钮组件被压下,反 之返回false则按钮是松开状态。 • javax.swing包中的各种组件,对于描述该组件状态和内容的 模 型 都 是 用 以 Model 结 尾 的 接 口 实 现 , 例 如 , 对 于 按 钮 在 javax.swing包中有一个如下定义的接口: – public interface ButtonModel extends ItemSelectable { ... } • 每个JButton类的对象都保存着一个表示该按钮组件模型的对 象,调用其父类AbstractButton的方法就可以得到它,即: – JButton b = new JButton( "确定" );

Java swing布局详解(附示例图)

Java swing布局详解(附示例图)

当选择使用JPanel和顶层容器的content pane时,需要考虑布局管理。

JPanel缺省是初始化一个FlowLayout,而content pane缺省是初始化一个BorderLayout。

下面将分别介绍几种最常用的布局管理器:FlowLayout、BorderLayout、BoxLayout、CardLayout、GridLayout和GridBagLayout。

代码演示每一个布局管理器都会有一个代码演示,xxxLayoutDemo.java(见附件)。

这些文件主要有三个方法组成:addComponentsToPane()提供布局逻辑(依据不同的布局管理器和UI内容)。

Java代码1public static void addComponentsToPane(Container pane) {。

}2/**3*createAndShowGUI()实例化一个JFrame,通过它的ContentPane加载布局逻辑内容。

4*/5private static void createAndShowGUI() {6// Create and set up the window.7JFrame frame = new JFrame("FlowLayoutDemo");8frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);9// Set up the content pane.10addComponentsToPane(frame.getContentPane());11// Display the window.12frame.pack();13frame.setVisible(true);14}15//main()程序入口,单独起一个线程,实例化UI。

16public static void main(String[] args) {17javax.swing.SwingUtilities.invokeLater(new Runnable() {18public void run() {19createAndShowGUI();20}21});22}FlowLayoutFlowLayout类是最简单的布局管理器。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

swing入门教程swing简介(2009-04-20 23:52:40)U I组件简介在开始学习Swing之前,必须回答针对真正初学者的一个问题:什么是UI?初学者的答案是“用户界面”。

但是因为本教程的目标是要保证您不再只是个初学者,所以我们需要比这个定义更高级的定义。

所以,我再次提出这个问题:什么是UI?您可能把它定义成您按下的按钮、打字的地址栏、打开和关闭的窗口,等等,这些都是U I 的元素,但是除了在屏幕上看到的这些之外,还有更多都是U I 元素。

比如鼠标、键盘、音量、屏幕颜色、使用的字体,以及一个对象相对于另一个对象的位置,这些都包含在U I 之中。

实际上,在计算机和用户的交互之中扮演角色的任何对象都是U I 的组成部分。

这看起来足够简单,但是您应当惊讶的是,有许多人和大型公司已经为它努力了很多年。

实际上,现在有的大学专业的惟一课程就是研究这种交互。

Swing的角色Swing是Java平台的U I ——它充当处理用户和计算机之间全部交互的软件。

它实际上充当用户和计算机内部之间的中间人。

Swing 到底是如何做这项工作的呢?它提供了处理前面一节中描述的U I 各方面内容的机制:∙键盘:Swing 提供了捕捉用户输入的方法。

∙颜色:Swing 提供改变在屏幕上看到的颜色的方法。

∙打字的地址栏:Swing 提供了文本组件,处理所有普通任务。

音量:Swing 不太擅长。

无论如何,Swing为您提供了创建自己的U I 所需要的所有工具MVCSwing甚至走得更远一步,在基本的U I 原则之上又放上了一个公共的设计模式。

这个设计模式叫做模型-视图-控制器(Model-Vie w-Co ntroller,MVC),它试图“把角色分开”。

MVC 让负责显示的代码、处理数据的代码、对交互进行响应并驱动变化的代码彼此分离。

有点迷惑?如果我为这个设计模式提供一个现实世界的非技术性示例,它就比较容易了。

请想像一次时装秀。

把秀场当成U I,假设服装就是数据,是展示给用户的计算机信息。

现在,假设这次时装秀中只有一个人。

这个人设计服装、修改服装、同时还在T 台上展示这些服装。

这看起来可不是一个构造良好的或有效率的设计。

现在,假设同样的时装秀采用MVC 设计模式。

这次不是一个人做每件事,而是将角色分开。

时装模特(不要与MVC 缩写中的模型混淆)展示服装。

他们扮演的角色是视图。

他们知道展示服装(数据的)适当方法,但是根本不知道如何创建或设计服装。

另一方面,时装设计师充当控制器。

时装设计师对于如何在T 台上走秀没有概念,但他能创建和操纵服装。

时装模特和设计师都能独立地处理服装,但都有自己的专业领域。

这就是MVC 设计模式背后的概念:让U I 的每个方面处理它擅长的工作。

如果您仍然不明白,那么教程后面的示例有望消除您的迷惑——但是在您继续进行的时候,请记住基本的原则:用可视组件显示数据,同时让其他类操纵数据。

JCo mpone ntSwing的整个可视组件库的基础构造块是JCo mpone nt。

它是所有组件的父类。

它是一个抽象类,所以不能创建JCo mpone nt,但是作为类层次结构的结果,从字面意义来说它包含了数百个函数,Swing中的每个组件都可以使用这些函数。

显然,有些概念要比其他概念重要,所以对于本教程,需要学习的重要的东西是:∙JComponent 不仅是Swing 组件的基类,还是定制组件的基类(有关的更多信息在“中级Swing”教程中)。

∙它为所有组件提供了绘制的基础架构——一些方便进行组件定制的东西(同样,在“中级Swing”中,有关于这个主题的更多信息)。

∙它知道如何处理所有的键盘按键。

所以类只需要侦听特定的键。

∙它包含add() 方法,可以添加其他JComponent。

换种方式来看,可以把任意Swing 组件添加到其他任何Swing 组件,从而构造嵌套组件(例如,JPanel 包含JButton,甚至包含一些古怪的组合,例如JMenu 包含JButton)。

简单的swing小部件JLabelSwing库中最基础的组件是JLabel。

它所做的正是您所期望的:呆在那儿,看起来很漂亮,描述其他组件。

下图显示了的JLabel 实际应用:JLabel不太吸引人,但是仍然有用。

实际上,在整个应用程序中,不仅把JLabel 用作文本描述,还将它用作图片描述。

每当在Swing 应用程序中看到图片的时候,它就有可能是JLabel。

JLabel 对于Swing初学者来说没有许多意料之外的方法。

基本的方法包括设置文本、图片、对齐以及标签描述的其他组件:∙get/setText():获取/设置标签的文本。

∙get/seticon():获取/设置标签的图片。

∙get/setHorizontalAlignment():获取/设置文本的水平位置。

∙get/setVerticalAlignment():获取/设置文本的垂直位置。

∙get/setDisplayedMnemonic():获取/设置标签的访问键(下划线文字)。

∙get/setLableFor():获取/设置这个标签附着的组件,所以当用户按下Alt+访问键时,焦点转移到指定的组件。

JButtonSwing中的基本动作组件JButto n,是与每个窗口中都能看到的OK 和Ca ncel 一样的按钮;这些按钮所做的正是您希望它们做的工作——在单击它们之后,将发生一些事情。

到底会发生什么呢?您必须定义发生的内容(请参阅事件,以获得更多信息)。

一个JButto n 实例看起来如下所示:JButto n用来改变JButto n 属性的方法与JLabel 的方法类似(您可能发现,在大多数Swing组件中,这些属性都类似)。

它们控制文本、图片和方向:∙get/setText():获取/设置标签的文本。

∙get/seticon():获取/设置标签的图片。

∙get/setHorizontalAlignment():获取/设置文本的水平位置。

∙get/setVerticalAlignment():获取/设置文本的垂直位置。

∙get/setDisplayedMnemonic():获取/设置访问键(下划线字符),与Alt 按钮组合时,造成按钮单击。

除了这些方法,我还要介绍JButto n 包含的另外一组方法。

这些方法利用了按钮的所有不同状态。

状态是对组件进行描述的一个属性,通常采用真/假设置。

在JButton 中,可以包含以下可能状态:活动/不活动、选中/没选中、鼠标经过/鼠标离开、按下/没按下,等等。

另外,可以组合这些状态,例如按钮可以在鼠标经过的同时被选中。

现在您可能会问自己用这些状态到底要做什么。

作为示例,请看看您的浏览器上的后退按钮。

请注意在鼠标经过它的时候,图片是如何变化的,在按下该按钮时,图片又是如何变化的。

这个按钮利用了不同的状态。

每个状态采用不同的图片,这是提示用户交互正在进行的一种普遍并且有效的方式。

JButton 上的状态方法是:∙get/setDisabledIcon()∙get/setDisableSelectedIcon()∙get/setIcon()∙get/setPressedIcon()∙get/setRolloverIcon()∙get/setRolloverSelectedIcon()∙get/setSelectedIcon()JTextFieldSwing中的基本文本组件是JTe xtField,它允许用户在U I 中输入文本。

我肯定您熟悉文本字段:要掌握本教程,则必须使用一个文本字段输入用户名和口令。

您输入文本、删除文本、选中文本、把文字四处移动—— Swing 替您负责所有这些工作。

作为U I 开发人员,利用JJTextField时,实际上并不需要做什么。

在任何情况下,这是JTextField实际使用时看起来的样子:JTextField在处理JTextField时,只需要关注一个方法——这应当是很明显的,这个方法就是设置文本的方法:get/setText(),用于获取/设置JTextField中的文本。

JFra me迄今为止,我介绍了Swing的三个基本构造块:标签、按钮和文本字段;但是现在需要个地方放它们,希望用户知道如何处理它们。

JFra me类就是做这个的——它是一个容器,允许您把其他组件添加到它里面,把它们组织起来,并把它们呈现给用户。

它有许多其他好处,但是我认为先看看它的图片最简单:JFra meJFra me 实际上不仅仅让您把组件放入其中并呈现给用户。

比起它表面上的简单性,它实际上是Swing包中最复杂的组件。

为了最大程度地简化组件,在独立于操作系统的Swing组件与实际运行这些组件的操作系统之间,JFrame起着桥梁的作用。

JFrame在本机操作系统中是以窗口的形式注册的,这么做之后,就可以得到许多熟悉的操作系统窗口的特性:最小化/最大化、改变大小、移动。

但是对于本教程的目标来说,把JFrame当作放置组件的调色板就足够了。

可以在JFra me上调用的一些修改属性的方法是:∙get/setTitle():获取/设置帧的标题。

∙get/setState():获取/设置帧的最小化、最大化等状态。

∙is/setVisible():获取/设置帧的可视状态,换句话说,是否在屏幕上显示。

∙get/setLocation():获取/设置帧在屏幕上应当出现的位置。

∙get/setsize():获取/设置帧的大小。

∙add():将组件添加到帧中。

简单应用程序就像所有的“x 入门”教程一样,本教程也包含必不可少的HelloWorld演示。

但这个示例不仅对观察Swing应用程序如何工作有用,还对确保设置正确很有用。

一旦使这个简单的应用程序能够成功运行,那么之后的每个示例也将能够运行。

下图显示了完成后的示例:HelloWo rld示例第一步是创建类。

将组件放在JFra me上的Swing应用程序需要继承JFrame类,如下所示:public class HelloWorld extends JFrame这样做之后,就得到上面描述的所有JFra me属性,最重要的是操作系统对窗口的本机支持。

下一步是把组件放在屏幕上。

在这个示例中,使用了一个null 布局。

在教程的后面部分,您将学到更多关于布局和布局管理器的内容。

但对于这个示例,可以用数字表示JFrame 上的像素位置:public HelloWorld(){super();this.setSize(300, 200);this.getContentPane().setLayout(null);this.add(getJLabel(), null);this.add(getJTextField(), null);this.add(getJButton(), null);this.setTitle("HelloWorld");}private javax.swing.JLabel getJLabel() {if(jLabel == null) {jLabel = new javax.swing.JLabel();jLabel.setBounds(34, 49, 53, 18);jLabel.setText("Name:");}return jLabel;}private javax.swing.JTextField getJTextField() { if(jTextField == null) {jTextField = new javax.swing.JTextField(); jTextField.setBounds(96, 49, 160, 20);}return jTextField;}private javax.swing.JButton getJButton() {if(jButton == null) {jButton = new javax.swing.JButton();jButton.setBounds(103, 110, 71, 27);jButton.setText("OK");}return jButton;}现在组件都放在了JFra me上,并且需要在屏幕上显示JFra me,并让应用程序可以运行。

相关文档
最新文档