JAVA 图形用户界面的编程-控件与布局

合集下载

java实验5图形用户界面设计试验

java实验5图形用户界面设计试验

java实验5图形⽤户界⾯设计试验常⽤布局1)、流布局: FlowLayout 从左到右,⾃上⽽下⽅式在容器中排列,控件的⼤⼩不会随容器⼤⼩变化.容器.setLayout(new FlowLayout(FlowLayout.LEFT));2)、⽹格布局: GridLayout 按照指定⾏数与列数,将容器分成⼤⼩相等的单元格每个单元格放置⼀个控件. 不能将控件放在指定单元格 容器.setLayout(new GridLayout(3,4,10,15));3)、边界布局: BorderLayout 将容器分成东、西、南、北、中五个部分 容器.setLayout(new BorderLayout()); 窗⼝的内容⾯板默认布局就是边界布局。

容器.add(控件,BorderLayout.NORTH);4)、混合布局: 使⽤JPanel,将多个布局组合在⼀起使⽤5)、绝对布局 null: 以坐标定位 容器.setLayout(null); 每个控件在放置在容器之前,必须设置其边界 setBounds(x,y,width,height); btn.setBounds(10,100,30,60);常⽤事件1)、事件源 EventSource:能够触发事件控件如:JButton,JTextField,JFrame,JComboBox,....2)、事件 Event:ActionEvent,KeyEvent,WindowEvent,TextEvent,...3)、事件侦听者Listener(接⼝) ActionListener,WindowListener,...class A implements ActionListener{public void actionPerformed(ActionEvent e){....}}A lis=new A();4)、事件处理函数public void actionPerformed(ActionEvent e){....}事件流程:事件源触发事件-->事件源侦听者接收事件-->⾃动调⽤相应事件处理函数.实践编程1.在应⽤程序窗体中安排1个⽂本框,⼀个标签。

JavaGUI编程创建漂亮的用户界面

JavaGUI编程创建漂亮的用户界面

JavaGUI编程创建漂亮的用户界面JavaGUI编程是一种强大的工具,它可以帮助开发者创建漂亮、直观的用户界面。

在本文中,我将为您介绍如何使用JavaGUI编程来设计和实现一个令人印象深刻的用户界面。

一、选择合适的图形库在开始编写JavaGUI程序之前,我们需要选择一个合适的图形库。

Java提供了多种图形库选项,包括Swing、JavaFX等。

在这里,我将以Swing为例进行演示。

二、设计用户界面设计用户界面是实现漂亮用户界面的第一步。

在设计过程中,我们应该考虑到用户的需求和使用习惯,使界面具有良好的可用性和可访问性。

以下是一些设计原则可以帮助您创建漂亮的用户界面:1. 简洁明了:界面应该简洁明了,避免过多的干扰元素和复杂的图形。

2. 色彩搭配:选择适合的颜色搭配,使界面看起来舒适和谐。

同时要注意颜色的对比度,以确保文字和界面元素的可读性。

3. 布局:合理的布局可以使界面更加整洁美观。

可以使用不同的布局管理器(如FlowLayout、GridBagLayout等)来帮助您实现布局。

4. 图标和图片:适当使用图标和图片可以增加界面的吸引力。

选择高质量的图标和图片,确保其分辨率和大小适合当前界面的需求。

5. 文字字体:选择易读的字体和合适的字号。

正文通常使用宋体、微软雅黑等,标题可以选择一些特殊的字体以增加视觉效果。

三、编写代码一旦您完成了用户界面的设计,接下来就是编写代码来实现这个界面。

下面是一个简单的示例,展示如何使用Swing来创建一个基本的用户界面。

```javaimport javax.swing.*;import java.awt.*;public class GUIExample {public static void main(String[] args) {JFrame frame = new JFrame("漂亮的用户界面");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(400, 300);JPanel panel = new JPanel();panel.setLayout(new FlowLayout());JLabel label = new JLabel("欢迎使用漂亮的用户界面!");label.setFont(new Font("宋体", Font.BOLD, 18));JButton button = new JButton("点击我");button.setPreferredSize(new Dimension(100, 50));panel.add(label);panel.add(button);frame.getContentPane().add(panel);frame.setVisible(true);}}```上述代码演示了如何创建一个简单的用户界面,其中包括一个标签和一个按钮。

编写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,需要花费时间和精力来学习和掌握。

Java语言程序设计:第十章 Java图形用户界面

Java语言程序设计:第十章 Java图形用户界面

t}ryesflrs{eaetmD{teer.fypaau{cltkC(l)o; seOperation(EXIT_ON_CLOSE);
选中“ToGoelnUyke}DsiItrMt.caiegmtjefaebreamxtaeIcHtncnmDnLheeaistoea}ep((gidf)oE.ctae;veinkxoaurarAc单.ntcllsstcieo.dTnc击ephmpoardrtetmotLi(i“FneoeEleokte(nnFnS)xoieiSttl”ec(te;kla)}iC”exzA.cgceplkneaetT=dtipsoS“rFtsanicoSNecrnaeeeav)(exlem(){nc;ASeellp”(iz)t)ei保;o()n存;)源{ 文U件I和M工an程a文g件er.getS

有间距
CENTER
的 East
组 容se器tHgap(int hgap)

setVgap(int vgap)

将组件间的水平间距设置为指定的值

将组件间的垂直间距设置为指定的值
下边的组件
South
天津职业技术师范大学
BorderLayout
…… class testFrame extends JFrame {
天津职业技术师范大学
BorderLayout
North

边 West 的
组 容器

上边的组件 CENTER
下边的组件
South
右 边 的 East 组 件
天津职业技术师范大学
BorderLayout
North
方法
左 BorderLay边out( )
West 的

实验九Java图形用户界面设计1

实验九Java图形用户界面设计1

实验九Java图形用户界面设计(1)一实验目的(1)掌握Frame与面板的使用(2)布局管理器的使用(3)布局管理器的使用(4)边界风格的使用(5)掌握简单Java事件的处理二实验内容1、创建并显示一个标题为“My Frame”,背景色为白色,大小为1000×1000的框架。

在该框架中放置八个按钮,按钮的标题分别为“按钮1”、……“按钮8”。

采用FlowLayout布局管理器。

程序:import java.awt.*;import javax.swing.*;public class Con1{private JFrame f;private JButton b1,b2,b3,b4,b5,b6,b7,b8;public static void main(String args[]){Con1 c=new Con1();c.go();}public void go(){f=new JFrame("My Frame");Container con=f.getContentPane();con.setLayout(new FlowLayout());con.setBackground(Color.white);con.setLayout(new FlowLayout(FlowLayout.RIGHT,920,50));b1=new JButton("按键1");b2=new JButton("按键2");b3=new JButton("按键3");b4=new JButton("按键4");b5=new JButton("按键5");b6=new JButton("按键6");b7=new JButton("按键7");b8=new JButton("按键8");con.add(b1); c on.add(b2); c on.add(b3); c on.add(b4);con.add(b5); c on.add(b6); c on.add(b7); c on.add(b8);f.setSize(1000,1000);f.setVisible(true);}}结果:2、编写一个java程序,在程序中生成一个框架窗口,设置窗口的布局管理器为网格式布局管理器,往窗口中加入9个按钮程序:结果:3、编写一个java程序,单击窗口的“关闭”按钮时退出程序,使用BorderFactory的静态方法创建边界,运行效果如下图所示:结果:4、构造一个Frame窗口,单击窗口的“关闭”按钮时退出程序(参考JFrame的setDefaultCloseOperation方法);Frame中包含一个“Presss Me”按钮,单击该按钮,在控制台显示单击次数:“你已经单击按钮X次!”。

Java的GUI设计打造美观直观的用户界面

Java的GUI设计打造美观直观的用户界面

Java的GUI设计打造美观直观的用户界面Java是一种广泛使用的编程语言,拥有着强大的图形用户界面(GUI)设计能力。

通过使用Java提供的各种GUI库和工具,开发人员可以轻松地创建美观、直观的用户界面。

本文将介绍一些在Java中实现这样的GUI设计的方法和技巧。

一、选择合适的GUI库在Java中,有多个GUI库可供选择,比如Swing、JavaFX等。

选择合适的GUI库是设计美观直观界面的第一步。

Swing是一个成熟的GUI库,提供了丰富的组件和布局管理器,可以满足大部分GUI设计需求。

JavaFX是Java官方推荐的GUI库,它提供了更现代化的界面设计风格和更优秀的性能。

二、使用布局管理器布局管理器是GUI设计中重要的一环,它定义了组件在窗口中的位置和大小。

Java提供了多种布局管理器,如FlowLayout、BorderLayout、GridLayout等。

通过合理选择和组合这些布局管理器,可以实现各种复杂的界面布局。

三、使用合适的图标和图片图标和图片在GUI设计中起着很重要的作用,可以通过它们来提升用户界面的美观性和直观性。

Java提供了处理图标和图片的功能和类库,开发人员可以使用这些功能来加载、处理和显示各种图标和图片。

四、使用合适的颜色和字体颜色和字体也是GUI设计中非常重要的元素,可以用来强调界面的重要信息或者创建特定的视觉效果。

Java提供了各种颜色和字体的类库和功能,可以用来选择合适的颜色和字体样式。

五、增加交互性一个好的用户界面应该具有良好的交互性,能够方便用户进行操作。

Java提供了丰富的事件处理机制和监听器,可以实现交互性功能。

开发人员可以通过监听用户的操作,及时响应并更新界面,实现更好的用户体验。

六、进行界面美化除了以上的基本设计原则,开发人员还可以通过一些额外的技巧来进一步美化用户界面。

比如使用渐变色背景、添加阴影效果、使用动画效果等。

这些技巧可以使界面更加生动、有趣,并提升用户的整体体验。

java图形界面设置教程

java图形界面设置教程

Java实例——(续)
setSize(300,200); bl.setText(“欢迎使用Java语言”); bl.setBounds(50,50,150,20); bl.setAlignment(Label.CENTER); bl.setBackground(Color.blue); bl.setForeground(Color.red); add(bl); setVisible(true); } public static void main(String args[]){ new Label1(); } }
简单GUI程序
1.引用需要的包和类。 2.设置一个顶层的容器。 3.根据需要为容器设置布局管理器或使用默认布 局管理器。 4.将组件添加到容器内。 5.为响应事件的组件编写事件处理代码。
建立窗口Frame类的操作
创建窗口的基本和必要操作包括以下方面:
1.设置窗口的大小。 2.设置窗口的标题。 3.确定窗口在屏幕的放置位置。 4.显示窗口。 5.关闭窗口。
window事件及其响应每一个事件类都有一个唯一的事件处理方法接口如处理鼠标事件mousee钮actionevent事件类的对应接口为actionlistener接监听者向事件源注册使监听者能够监听到并处理事件源产生的事件如actionevent事件实现其接口actionlistener
Java实例——(续)
but.setBounds(50,50,100,50); but.addActionListener(fra); fra.add(but,BorderLayout.CENTER); fra.setVisible(true); } public void actionPerformed(ActionEvent e){ fra.setBackground(Color.red); } }

Java基础案例教程第8章 GUI(图形用户界面)

Java基础案例教程第8章 GUI(图形用户界面)

8.1 AWT概述
2.Panel Panel也是一个容器,但是它不能单独存在,只能存在其他容器(Window或其 子类)中,一个Panel对象代表了一个长方形的区域,在这个区域中可以容纳 其他组件。在程序中通常会使用Panel来实现一些特殊的布局。
案例代码
了解了AWT组件的相关类后,为了使读者对GUI有一个更直观的认识, 接下来通过一个案例来创建一个简单的图形界面,请查看教材文件8-1。
了对应的Java类,这些类都位于java.awt包中,接下来通过一个图例来描述这些
类的继承关系,如图所示。
从图的继承关系可以看出,在AWT中组件分为两大类,这两类的基类分别是 Component和MenuComponent。其中,MenuComponent是所有与菜单相关组 件的父类,Component则是除菜单外其他AWT组件的父类,它表示一个能以图 形化方式显示出来,并可与用户交互的对象。
8.2 布局管理器
GridBagLayout
GridBagLayout(网格包布局管理器)是最灵活、最复杂的布局管理器。与
GridLayout布局管理器类似,不同的是,它允许网格中的组件大小各不相同,
而且允许一个组件跨越一个或者多个网格。 使用GridBagLayout布局管理器的步骤如下:
(1)创建GridbagLayout布局管理器,并使容器采用该布局管理器
(2)创建GridBagContraints对象(布局约束条件),并设置该对象的相关属性
8.2 布局管理器
(3)调用GridBagLayout对象的setConstraints()方法建立GridBagConstraints对象和受控 组件之间的关联
第八章 GUI(图形用户界面)

JAVA图形界面各种布局及使用方法

JAVA图形界面各种布局及使用方法

1.布局对于JFrame窗口,默认布局是BorderLayout布局。

对于JPanel,默认布局是FlowLayout布局。

容器可以使用方法:setLayout(布局对象);来设置自己的布局。

(1)FlowLayout布局FlowLayout类创建的对象称做FlowLayout型布局。

FlowLayout类的一个常用构造方法如下:FlowLayout()该构造方法可以创建一个居中对齐的布局对象。

例如:FlowLayout flow=new FlowLayout();如果一个容器con使用这个布局对象:con.setLayout(flow);那么,con可以使用Container类提供的add方法将组件顺序地添加到容器中,组件按照加入的先后顺序从左向右排列,一行排满之后就转到下一行继续从左至右排列。

FlowLayout布局对象调用flow.setAlignment(FlowLayout.LEFT);来设置组件靠左对齐FlowLayout布局对象调用setHgap(int hgap) 方法和setVgap(int vgap)可以重新设置布局的水平间隙和垂直间隙。

(2)BorderLayout布局BorderLayout 布局是Window型容器的默认布局,例如JFrame、JDialog都是Window类的间接子类,它们的默认布局都是BorderLayout 布局。

容器使用BorderLayout 布局,那么容器空间简单地划分为东、西、南、北、中五个区域。

每加入一个组件都应该指明把这个组件添加在哪个区域中,区域由BorderLayout中的静态常量CENTER、NORTH、SOUTH、WEST、EAST表示.添加到某个区域的组件将占据整个这个区域。

每个区域只能放置一个组件,如果向某个已放置了组件的区域再放置一个组件,那么先前的组件将被后者替换掉。

(3)CardLayout 布局使用CardLayout 的容器可以容纳多个组件,但是实际上同一时刻容器只能从这些组件中选出一个来显示,这个被显示的组件将占据所有的容器空间。

Java中的GUI编程

Java中的GUI编程
性能优化:随着硬件和软件的不断发展,Java GUI编程的性能将得到进一步的优化,提高 应用程序的响应速度和用户体验。
集成Web技术:Java GUI编程将与Web技术更加紧密地集成,使得开发者能够更加方便地 开发出功能丰富、界面美观的Web应用程序。
增强安全性:Java GUI编程将更加注重安全性,提供更多的安全特性和工具,帮助开发者 构建更加安全的应用程序。
AWT组件使用示例
组件类型:按钮、标
签、文本框、选择框 等
组件属性:颜色、字 体、大小、位置等
组件事件:点击事件
、键盘事件、鼠标事 件等
组件布局:流式布局 、网格布局、边界布 局等
JavaFX组件库
JavaFX组件库简介
标题
JavaFX组件库是Java中用于构建GUI界面的工具包
标题
提供了丰富的UI控件,如按钮、文本框、列表等
BorderPane:分为 五个区域,可以设置 子节点的位置和比例 ,适合布局复杂的界

GridPane:按照网格 布局,可以设置行、列 、跨度等属性,适合布 局规则、整齐的界面
06
HBox和VBox:分别 按照水平或垂直方向 排列子节点,可以设 置对齐方式、间距等
07
JavaFX布局管理器的 使用方法:通过设置组 件的布局管理器属性, 可以轻松实现界面布局

JavaFX事件处理机制
事件源: JavaFX组件库 中的UI组件
事件类型:包 括鼠标事件、 键盘事件、触 摸事件等
事件处理:通 过注册监听器 来实现事件处 理
监听器类型: 包括事件监听 器、动作监听 器、选择监听 器等
事件传播:事 件从源组件传 播到父组件, 直到到达根节 点

Java的GUI开发打造出色的用户界面

Java的GUI开发打造出色的用户界面

Java的GUI开发打造出色的用户界面Java是一种广泛使用的计算机编程语言,广泛应用于各种跨平台应用程序的开发。

在Java中,图形用户界面(Graphical User Interface,GUI)的开发是一个重要的方面,可以通过一些技巧和技术打造出色的用户界面。

本文将介绍一些在Java中进行GUI开发的方法和技巧,帮助您打造出功能强大、美观流畅的用户界面。

一、选择合适的GUI库在Java中,有多种GUI库可供选择。

其中最常用的是Swing和JavaFX。

Swing是Java自带的一套GUI组件,而JavaFX是一套基于Java的富客户端应用程序界面框架。

根据您的实际需求,选择适合的GUI库非常重要。

如果您需要开发传统的桌面应用程序,Swing可能是一个不错的选择;而如果您需要开发一些更现代化的应用程序,JavaFX可能会更适合。

二、使用布局管理器在GUI开发中,布局管理器(Layout Manager)是一种重要的工具,用于自动化管理和布置GUI组件。

Java提供了多种布局管理器,如FlowLayout、GridLayout和BorderLayout等。

通过合理选择和使用布局管理器,可以使界面布局更加灵活、自适应,并适应不同大小的屏幕。

同时,布局管理器还能够确保组件的相对位置和大小的一致性,使界面更加美观和统一。

三、使用图形库和图标为了打造出色的用户界面,图形和图标的使用是至关重要的。

Java提供了丰富的图形库,如AWT和JavaFX提供的图形绘制类,可以实现绘制各种形状、线条和颜色等效果。

另外,Java还提供了很多内置的图标,可以在界面中使用,如JButton和JLabel等组件的默认图标。

通过合理选择和使用图形库和图标,可以让用户界面更加生动、直观,增强用户的使用体验。

四、合理利用组件在GUI开发中,组件(Component)是构成界面的基本单元。

Java提供了丰富的组件库,如JButton、JLabel和JTextField等。

Java实用教程 第11章 AWT图形用户界面编程

Java实用教程 第11章 AWT图形用户界面编程

fr.add(p1, BorderLayout.NORTH);
// 将p1添加到窗口NORTH区域(即顶部)
Panel p2 = new Panel();
// 创建面板p2
p2.setLayout(new GridLayout(4, 5, 3, 3));
// 设置p2使用GridLayout布局
String[] name = {"7", "8", "9", "÷", "√", "4", "5", "6", "×", "%"
AWT容器
Window和Frame
Window和Frame
Window有两个子类:Frame和Dialog。Frame带有标题,而且可以调整大小。Dialog可以被移动, 但是不能改变大小。Frame有一个构造方法Frame(String title),通过它可以创建一个以参数为标题 的Frame对象。Frame的add()方法向容器中加入其他组件。Frame被创建后是不可见的,必须通过 以下步骤使它成为可见。
setLocation()、setSize()或setBounds() 方法,为它们在容器中一一定位。
布局管理器
1.流式布局管理器
FlowLayout是把组件从左向右、从上向下,一个接一个地放到容器中,组件之间的默认间隔 (水平和垂直)为5个像素,对齐方式为居中。组件的大小由布局管理器根据组件的最佳尺寸 来决定。 FlowLayout的构造方法:
, "1", "2", "3", "-", "1/x", "0", ".", "C", "+", "±"};

Java程序设计图形用户界面ppt课件

Java程序设计图形用户界面ppt课件
* GridBagLayout 布局管理器
▪ AWT中最灵活、最复杂的布局管理器,各组件所占空 间可以不相同且灵活规定,参见参考书及API文档;
.
17
第10章 图形用户界面
容器的嵌套使用举例
范例:NestedContainer.java
.
18
第10章 图形用户界面
默认布局管理器
Component Container
些空的方法体。
.
27
第10章 图形用户界面
10.3.4 内部类及匿名类在事件处 理中的应用
在Java事件处理程序中,由于与事件相关的事件 监听器的类经常局限于一个类的内部,所以经常 使用内部类。而且定义的内部类在事件处理中的 使用就实例化一次(在其他地方不会用到该类,所 以不需要类名),所以经常使用匿名类。
.
25
第10章 图形用户界面
10.3.2 事件监听器的注册
注册事件监听器只需要使用组件对象的 addXXXXEvent方法,它可以指明该对象感兴趣的 事件监听器(即实现了某个AWTEventListener子 接口的对象)。这样,当事件源发生了某种类型 的事件时,则触发事先已注册过的监听器中相应 的处理程序。
Window
Frame
Dialog
Panel Applet
BorderLayout
FlowLayout
.
19
第10章 图形用户界面
布局管理器总结(1)
▪ Frame
Frame是一个顶级窗口。 Frame的缺省布局管理器为BorderLayout。
▪ Panel
Panel无法单独显示,必须添加到某个容器中。 Panel的缺省布局管理器为FlowLayout。 当把Panel作为一个组件添加到某个容器中后,该Panel仍然可以

JAVA图形用户界面的设计与实现PPT课件

JAVA图形用户界面的设计与实现PPT课件

Applet Frame Dialog FileDialog
容器
组件名
26
Component 类的常用方法 public void add (PopupMenu popup):在组件上加上一个弹出菜单。 public Color getBackground ( ): 获得组件的背景色。 public Font getFont ( ):获得组件使用的字体。 public Color getForeground ( ):获得组件的前景色。 public Graphics getGraphics( ):获得绘图用的 Graphics 对象。 public void repaint ( int x, int y, int width, int height ):以指点的坐标点
只能用做容器组件加入其他容器。 3)通常用于层次化界面组件管理。
P260:例 7-20 TestPanel . java
❖ 例子:ch7\src\MyFrame.java
6
组件
组件:图形用户界面的最小单元,用来完成与用户的交互;
用户界面标准化的结果,例如:标签、文本框、按钮、菜单 等。
使用组件的步骤: 1)创建组件类的对象,指定其属性; 2)使用某种布局策略; 3)将组件对象注册给对应的事件监听器,覆盖事件处理方
Java 支持的图像文件格式包括bmp,gif,jpeg 等。
16
二、绘制图像:
drawImage( Image img, int x, int y, ImageObserver observer ) 有4个 参数:图像的 Image 对象,显示图像的左 上角 x、y 坐标,显示图像的容器对象。如:
来接收和处理这种事件。 ❖ 如果一个事件源注册了对应的监听者,那么

Java图形化界面编程介绍

Java图形化界面编程介绍

Java图形化界⾯编程介绍⽬录1.内容概述2.容器Container2.1Window2.2Panel2.3ScrollPane2.4Box3.布局管理器3.1FlowLayout3.2BorderLayout3.3GridLayout3.4Cardlayout4.AWT基本组件5.事件处理6.开发⼀个简单计算器1.内容概述 先谈谈个⼈对图形化界⾯编程的认识,图形化界⾯编程可以直接的看到每⼀步操作带来的效果,相对于传统编程盯着⿊框框学起来是⾮常⾮常有意思的。

 再谈谈最后的效果,界⾯是由窗⼝和组件构成的。

⽽组件在窗⼝内的排列并不是没有章法可⾔,依赖于布局管理器使组件以合适的位置以及合理的排布呈现。

排布于窗⼝内的组件⼜可以通过事件监听器与⽤户进⾏交互…2.容器Container 什么是容器?容器是特殊的组件。

容器是⽤来装东西的,不仅可以存放组件,也可以⽤来存放容器,⽽存放的容器⼜可以存放容器或组件。

听起来有点反复套娃,但学起来还是很容易的!2.1Window Window是可以独⽴存在的顶级窗⼝,其默认使⽤BorderLayout布局管理器。

 frame.setLocation(500,300)⽅法⽤来设置窗⼝的位置,通常计算机的远点坐标在左上⾓。

 frame.setSize(500,300)⽅法⽤来设置窗⼝的尺⼨。

 frame.setVisible(true)设置窗⼝是否可见。

运⾏效果(使⽤Frame来创建⼀个窗⼝): 注意此时的窗⼝不能通过单击右上⾓的’X’关闭窗⼝,只能⼿动结束程序,因为还没有加⼊事件监听机制。

代码:import java.awt.*;public class WindowDemo {public static void main(String[] args) {//创建⼀个窗⼝对象Frame frame = new Frame("测试Window窗⼝");//指定窗⼝的位置和⼤⼩frame.setLocation(500,300);frame.setSize(500,300);//设置窗⼝可见frame.setVisible(true);}}2.2Panel Panel是内嵌式容器,必须内嵌于其它容器中使⽤,不能独⽴存在。

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

附:实验源程序代码import java.awt.BorderLayout;import java.awt.Font;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;class Frame1 extends JFrame //设计一个窗体类{JButton jb1, jb2, jb3; //按钮JLabel jl; //标签Frame1() //构造方法{jb1 =new JButton("红色"); //创建按钮对象jb2 = new JButton("绿色") ;jb3 = new JButton("蓝色") ;jl = new JLabel("设定标签颜色") ; //创建标签对象jl.setFont(new Font("隶书", Font.PLAIN, 32)); //标签字体JPanel jp1 = new JPanel(); //面板1JPanel jp2 = new JPanel(); //面板2jp1 .add(jl); //标签放入面板1jp2 .add(jb1); //三个按键放入面板2jp2 .add(jb2);jp2 .add(jb3);setLayout( new BorderLayout() ); //窗体设定为边界布局add(jp1, BorderLayout.NORTH ) ; //标签面板放在窗体上端add(jp2, BorderLayout.CENTER ); //按钮面板放在窗体中间setSize(250,150) ; //设定窗体大小和位置setTitle("实验6-1") ; //设定窗体标题setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setVisible(true) ; //设定窗体可见}}class Experiment9_1{public static void main(String[] args){new Frame1();}}import javax.swing.*;import java.awt.*;class Framel extends JFrame{JButton submit;JLabel lb_id,lb_name,lb_sex,lb_ty,lb_bj,lb_desc;JTextField jtf_id,jtf_name;JRadioButton male,female;JCheckBox ck_ty;JComboBox cb_bj;JTextArea txta_desc;Framel(){lb_id = new JLabel("学号:",JLabel.RIGHT);lb_name = new JLabel("姓名:",JLabel.RIGHT);lb_sex = new JLabel("性别:",JLabel.RIGHT);lb_ty = new JLabel("团员",JLabel.RIGHT);lb_bj = new JLabel("班级",JLabel.RIGHT);lb_desc = new JLabel("简介",JLabel.RIGHT);jtf_id = new JTextField(12);jtf_name = new JTextField(12);male = new JRadioButton("男");female = new JRadioButton("女");ck_ty = new JCheckBox();txta_desc = new JTextArea(5,11);male.setSelected(true);ButtonGroup bg_sex = new ButtonGroup();bg_sex.add(male);bg_sex.add(female);String items[] = {"网络信息1011","软件1011","系统维护1011"};cb_bj = new JComboBox(items);JPanel jtf = new JPanel();JPanel jtf2 = new JPanel();JPanel jtf3 = new JPanel();JPanel jtf4 = new JPanel();JPanel jtf5 = new JPanel();jtf.add(lb_id);jtf.add(jtf_id);jtf2.add(lb_name);jtf2.add(jtf_name);jtf3.add(lb_sex);jtf3.add(male);jtf3.add(female);jtf3.add(lb_ty);jtf3.add(ck_ty);jtf4.add(lb_bj);jtf4.add(cb_bj);jtf5.add(lb_desc);jtf5.add(txta_desc);setLayout(new BoxLayout(this.getContentPane(), BoxLayout.Y_AXIS));add(jtf);add(jtf2);add(jtf3);add(jtf4);add(jtf5);JPanel jp_submit = new JPanel();submit = new JButton("确定");jp_submit.add(submit);add(jp_submit);}}public class Experiment9_2{public static void main(String[] args){Framel f = new Framel();f.setLocation(200,100);f.setVisible(true);f.setTitle("实验6_2");f.setSize(250,300);f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}}实验三:import java.awt.GridLayout;import javax.swing.BoxLayout;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JTextField;class Frame3 extends JFrame{Frame3(){setLayout(new BoxLayout(this.getContentPane(),BoxLayout.Y_AXIS));JPanel jp1=new JPanel();JPanel jp2=new JPanel();JButton jb[]=new JButton[16];jp1.add(new JTextField(20));add(jp1);jp2.setLayout(new GridLayout(4,4,5,5));for(int i=0;i<10;i++)jb[i]=new JButton(""+i);jb[10] = new JButton(".");jb[11] = new JButton("1/x");jb[12] = new JButton("C");jb[13] = new JButton("√");jb[14] = new JButton("㎡");jb[15] = new JButton("㏒");for(int i=1;i<4;i++)jp2.add(jb[i]);jp2.add(jb[12]);for(int i=4;i<7;i++)jp2.add(jb[i]);jp2.add(jb[13]);for(int i=7;i<10;i++)jp2.add(jb[i]);jp2.add(jb[14]);jp2.add(jb[0]);jp2.add(jb[10]);jp2.add(jb[11]);jp2.add(jb[15]);add(jp2);setVisible(true);pack();setTitle("实验6-3");setLocation(300,400);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}public static void main(String[] args){new Frame3();}}。

相关文档
最新文档