第十五讲 Java GUI编程入门.pdf

上传人:asd****56 文档编号:70344671 上传时间:2023-01-19 格式:PDF 页数:11 大小:381.50KB
返回 下载 相关 举报
第十五讲 Java GUI编程入门.pdf_第1页
第1页 / 共11页
第十五讲 Java GUI编程入门.pdf_第2页
第2页 / 共11页
点击查看更多>>
资源描述

《第十五讲 Java GUI编程入门.pdf》由会员分享,可在线阅读,更多相关《第十五讲 Java GUI编程入门.pdf(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Java 语言程序设计 杨佩理 第十五讲第十五讲 J JavaavaGUIGUI 编程入门编程入门 主要内容主要内容 J Java ava GUIGUI 窗口概述窗口概述 用用 JFJFramerame 类创建窗口类创建窗口界面界面 最常用组件最常用组件 J Java ava GUIGUI 窗口概述窗口概述 简单的简单的 Java GUIJava GUI 示例示例 例:调试和运行程序。import javax.swing.*;public class FirstFrame public static void main(String args)JFrame f=new JFrame(My fi

2、rst java window.);f.setSize(300,200);f.setVisible(true);问题:该窗口的关闭按钮不能结束程序 窗口中没有内容 j javaava.awt.awt 和和 javax.swingjavax.swing 创建 GUI Application 和 Applet 的必备软件包。两者中均有一套界面元素组件。风格稍有不同,如:软件包中还含有布局管理、事件处理的类和接口。ColorColor 和和 FontFont Java GUI 窗口中的组件文字可以设置不同的颜色和字体。Java 语言程序设计 杨佩理 ColorColor 颜色的确定,有以下两种方式:

3、通过 Color 类的静态常量来确定,如 Color.red、Color.white 等;通过 new 运算符生成颜色对象,Color 类的构造方法是:public ColorColor(int redint red,int greenint green,int blue)三个参数均为 0 时为黑色,均为 255 时为白色。如:Color c=new Color(0,255,0);FontFont Font 类的构造方法:public FonFont(String name,int style,int size)name 是字体名称 style 是字体风格,可由 Font 的静态常量表示 si

4、ze 是字号大小 如:Font f=new Font(宋体,Font.ITALIC+Font.BOLD,18);运用运用 JFJFramerame 类创建窗口界面类创建窗口界面 JFJFramerame 类的层次结构类的层次结构 好 多 组 件 都 有setFont 方法,用于设置字体 Color用 于 封 装 默 认 sRGB 颜色空间中的颜色 Frame、JFrame均 是 具 有Windows 窗口特征的容器组件 Java 语言程序设计 杨佩理 其上层父类的说明其上层父类的说明 Component:抽象类,概括了具有图形表示能力的组件对象。Containter:概括了容器组件对象。Win

5、dow:没有边界和菜单栏的顶层窗口。Frame:带有标题和边框的顶层窗口。屏幕坐标体系屏幕坐标体系 假如显示器分辩率为 1024768,则 Java GUI 屏幕坐标系如图:说明:屏幕左上角坐标是(0,0)点,前一个 0 意味“列”,后一个 0 意味“行”。下面的程序可用来测得电脑的屏幕分辨率:import java.awt.Toolkit;import java.awt.Dimension;class ScreenSize public static void main(String args)Dimension d=Toolkit.getDefaultToolkit().getScreen

6、Size();System.out.println(d.width+d.height);Toolkit 是一个抽象类,其中定义的一些方法能直接查询本机操作系统,具体请参考 JavaDocs。JFrameJFrame 的构造方法的构造方法 public JFrameJFrame()创建一个简单的无标题窗口 Java 语言程序设计 杨佩理 public JFrameJFrame(String Title)创建一个带有标题的窗口 说明:创建的窗口默认不可见。JFrameJFrame 的常用设置方法的常用设置方法 设置窗口位置和窗口尺寸设置窗口位置和窗口尺寸 public void setsetBou

7、ndsBounds(int x,int y,int w,int h)(x,y)为窗口的左上角位置,w、h 分别为窗口的宽度和高度。设定窗口响应用户的关闭操作设定窗口响应用户的关闭操作 public void setDefaultCloseOperationsetDefaultCloseOperation(int op)参数为 JFrame 中预定义的静态常数,可选值有:DO_NOTHING_ON_CLOSE、HIDE_ON_CLOSE、DISPOSE_ON_CLOSE、EXIT_ON_CLOSE。显示显示|隐藏窗口隐藏窗口 public void setVisiblesetVisible(bo

8、olean b)JFrameJFrame 其他常用方法其他常用方法 方法 说明 public void setsetSizeSize(int w,int h)设置窗口尺寸 public void setTsetTitleitle(String title)设置窗口标题 public void packpack()自适应窗口大小 public void setLocationsetLocation(int x,int y)设置窗口位置 public void setResizablesetResizable(boolean)允许或禁止缩放 思考 1.如果一个类继承 JFrame 类,由该类创建的

9、对象是?2.如何让一个窗口可见?3.如何设置可关闭的窗口?4.窗口标题有哪些方法设置?5.如何设置窗口的大小?6.JFrame 在哪个软件包中?在在 JFrameJFrame 窗口中加入组件窗口中加入组件 获取窗口的内容窗格布局将组件加入到内容窗格中 获取窗口的获取窗口的内容窗格内容窗格 public Container getContentPanegetContentPane()Java 语言程序设计 杨佩理 如:JFrame f=new JFrame();Container c=f.getContentPane();c.setLayout(new FlowLayout();/进行顺序排放组

10、件的设置 将组件加入到窗口将组件加入到窗口 public void addadd(Component comp)/Container 的方法 如:c.add(new JButton(“Count”);c.add(new JLabel(“Try”);例:设计一个可关闭的、确定尺寸和显示位置的、有标题的窗口,并在窗口中加入一个标签和按钮。import javax.swing.*;import java.awt.*;public class SimpleFrame extends JFrame SimpleFrame()public static void main(String args)new

11、SimpleFrame();最常用组件的创建和使用最常用组件的创建和使用 JLabel(JLabel(标签标签)JLabel 继承于 javax.swing.JComponet,它用来显示标签文字和图片。J JLabelLabel 的构造方法的构造方法 public JLabelJLabel()public JLabelJLabel(String c)public JLabelJLabel(Icon image)public JLabelJLabel(String c,int h)public JLabelJLabel(Icon image,int h)public JLabelJLabel(

12、String c,Icon image,int h)J JLabelLabel 的常用方法的常用方法 方法 说明 对齐方式:JLabel.LEFT JLabel.Right JLabel.Center(默认)Java 语言程序设计 杨佩理 public void setsetT Textext(String c)设置标签文本 public String getgetT Textext()取得标签文本 public void setIconsetIcon(Icon icon)设置标签显示图片 public void s setetFontFont(Font f)字体设置 public void

13、setsetF Foregroundoreground(Color c)前景色设置 练习:编程利用标签显示文本和图片,结果如图所示。JTextField JTextField 和和 JPasswordFieldJPasswordField JTextFieldJTextField(单行文本框)(单行文本框)import java.awt.*;import javax.swing.*;class ShowPicture extends JFrame JLabel pic;ShowPicture(String name,String caption)public static void main(

14、String args)new ShowPicture(flower.jpg,开花的声音);Java 语言程序设计 杨佩理 JTextField 的常用构造方法:public JTextFieldJTextField()public JTextFieldJTextField(int w):指定宽度 public JTextFieldJTextField(String t):指定初始化文本 public JTextFieldJTextField(String t,int w)JTextField 的常用方法类同 JLabel,有 setText、getText、setFont 和setForeg

15、round 等。JPasswordFieldJPasswordField(口令文本框(口令文本框)JPasswordField 是 JTextField 的子类,为口令文本框,文本框回显内容一律以特定符号显示。其构造方法类同 JTextField。增设了几个重要的方法:public char getPasswordgetPassword():取口令 public void setEchoCharsetEchoChar(char c):设置输入字符时的回显字符 public char getEchoChargetEchoChar():取回显字符 JTextAreaJTextArea(多行文本框(

16、多行文本框)多行文本框可显示多行文本,如显示一个文本文件的内容。JTextAreaJTextArea 的构造方法的构造方法 public JTextJTextA Arearea()public JTextJTextA Arearea(int rows,columns):指定行列尺寸 public JTextJTextA Arearea(String text)创建一个多行文本框,指定初始化文本。public JTextJTextAreaArea(String text,int rows,int columns)创建一个多行文本框,指定初始化文本和行列尺寸。JTextAreaJTextArea

17、的常用设置方法的常用设置方法 JTextArea 也有 setText、getText、setFont 和 setForeground 等方法,意义类同 JTextField 和 JLabel。JTextArea 新增的一些重要方法:public void setsetL LineWrapineWrap(boolean wrap):换行状态设置。Java 语言程序设计 杨佩理 public void setRowssetRows(int rows):设置行数。public void setsetC Columnsolumns(int columns):设置列数。JScrollPaneJScro

18、llPane(滚动面板)(滚动面板)JScrollPane 是一个嵌有滚动条的面板,它将滚动条和滚动条所服务的组件组合在了一起。JScrollPane 的构造方法 public JScrollPaneJScrollPane(Component view):创建一个显示指定组件内容的 JScrollPane,只要组件的内容超过视口尺寸就会自动显示水平和垂直滚动条。例:编程显示如图所示应用程序窗口,窗口上的多行文本框可滚动显示磁盘文件“read.txt”的内容。import java.awt.*;import javax.swing.*;Java 语言程序设计 杨佩理 import java.io

19、.*;class JTextAreaTest extends JFrame JTextArea t;JTextAreaTest()super(JTextArea&JScrollPane Test);this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);init();Container c=this.getContentPane();c.setLayout(new FlowLayout();c.add(new JLabel(My Java Reader);c.add(new JScrollPane(t)new JScrollPane(t);this.

20、setBounds(300,300,500,300);this.setVisible(true);void init()public static void main(String args)new JTextAreaTest();JButtonJButton (按钮按钮)用户可通过按钮发布命令。可用 JButton 类建立一个按钮。JButtonJButton 的构造方法的构造方法 public J JB Buttonutton():创建一个无字无图按钮 public J JB Buttonutton(String c):创建一个指定显示文本的按钮 public J JB Buttonutt

21、on(Icon image):创建一个图片按钮 public J JB Buttonutton(String c,Icon image):创建一个兼有文本和图片的按钮。Java 语言程序设计 杨佩理 例:编程在 Java GUI 应用程序窗口中加入三种不同风格按钮,如图所示。import java.awt.*;import javax.swing.*;class JButtonTest extends JFrame JButton b1,b2,b3;JButtonTest()super(JButton Test);setDefaultCloseOperation(EXIT_ON_CLOSE);

22、Container cc=getContentPane();cc.setLayout(new FlowLayout();buttonInit();cc.add(b1);cc.add(b2);cc.add(b3);this.setBounds(300,200,350,200);setVisible(true);void buttonInit()b1=new JButton(Text Button);b2=new JButton(new ImageIcon(logo.gif);b3=new JButton(Java logo,new ImageIcon(logo.gif);public stati

23、c void main(String args)throws Exception new JButtonTest();Java 语言程序设计 杨佩理 思考 1.可在 JFrame 界面上直接 add 组件吗?2.在 JFrame 界面上放置组件的步骤?3.add 是哪个类的方法?4.如何设置容器的布局?5.如何创建一个指定文本的标签?6.如何创建单行文本框与多行文本框?7.怎样将多行文本框包装上滚动条?8.怎样对多行文本框中的文本设置成自动换行?9.如何创建指定文字的按钮?10.如何生成一个颜色对象,并设置常用组件的前景色?11.如何生成一个字体对象,并设置常用组件的字体?Page 248/Page 248/实训十五实训十五

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁