Java语言程序设计(第三版清华)7、8章.ppt

上传人:本田雅阁 文档编号:2201851 上传时间:2019-03-03 格式:PPT 页数:213 大小:1.56MB
返回 下载 相关 举报
Java语言程序设计(第三版清华)7、8章.ppt_第1页
第1页 / 共213页
Java语言程序设计(第三版清华)7、8章.ppt_第2页
第2页 / 共213页
Java语言程序设计(第三版清华)7、8章.ppt_第3页
第3页 / 共213页
亲,该文档总共213页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《Java语言程序设计(第三版清华)7、8章.ppt》由会员分享,可在线阅读,更多相关《Java语言程序设计(第三版清华)7、8章.ppt(213页珍藏版)》请在三一文库上搜索。

1、1,第9章 图形用户界面,-Java 2实用教程7、8章,JAVA语言程序设计,2,目录,9.1 Applet 概述 9.2 Applet应用程序接口 9.3 绘图 9.4 Swing基础 9.5 Swing的特点和概念 9.6 Swing组件 9.7 其它Swing特性 9.8 本章小结 (说明:本章部分例题出自java_tutorial_sun),被浏览器加载和执行,被浏览器加载和执行,4,9.1 Applet 概述,Java Applet 一种嵌入HTML文档中的Java程序 与Application相比,Applet具有明显的优点 web浏览器提供了运行Applet所需要的许多功能 A

2、pplet是在运行时通过网络从服务器端下载的,因而便于软件的发布和及时更新 Applet也有其局限性, 不能在客户机上读写当地文件 也不能连接除它所在的服务器以外的其它机器,5,在浏览器中加载一个Applet,功能是显示一个字符串“This is a Java Applet!” import java.awt.Graphics; import javax.swing.JApplet; public class Ex9_1 extends JApplet public void paint(Graphics g) /重载JApplet类的paint方法 /参数是Graphics类的对象,是由浏览

3、器传递过来的 super.paint(g); /调用其超类JApplet类的paint方法 g.drawString(“This is a Java Applet!“,25,25); ,9.1 Applet概述(续) 例9_1,Applet概述,6,在NetBeans IDE中运行,9.1 Applet概述(续) 例9_1运行结果,Applet概述,7,编译ex9_1.java产生字节码文件ex9_1.class。接下来就需要编写一个HTML文件ex9_1.html来嵌入ex9_1.class 将ex9_1.html文件和Ex9_1.class文件放在同一个目录下。现在,在浏览器中打开这个HT

4、ML文件,当浏览器遇到Applet标记时,就会自动载入指定的class文件,就会实现在屏幕上绘制一串字符的效果,9.1 Applet概述(续) 例9_1运行结果,Applet概述,8,9.2 Applet应用程序接口,JApplet类 一个applet程序需要继承javax.swing包中的JApplet类,也可以继承老的AWT组件中的Applet类, JApplet类属于新的Swing组件 提供了applet在浏览器中运行需要具备的特定方法 浏览器载入时,要依次运行init、start、paint方法 离开浏览器页面时,执行stop 退出浏览器时,执行destroy 提供了所有这些方法的默认

5、实现,所以我们在编写自己的applet时,就可以不必写出全部方法,只要继承这个JApplet,然后重写特定的方法来增加特殊功能,9,9.2 Applet应用程序接口,Applet应用程序接口,10,9.2 Applet应用程序接口(续),Applet应用程序接口,11,轻量级组件:是用JAVA代码画出来的,这样具有平台移植性 它使用AWT最好的部分来建立一个新的轻量组件集,而丢弃了AWT中有问题的重量组件部分(除JFrame, JDialog, JApplet, JInternalFrame, JWindow 外) Swing是由100%纯Java实现的,Swing组件是用Java实现的轻量级

6、组件,没有本地代码,不依赖操作系统的支持,因此Swing在不同的平台上表现一致 重量级组件:是调用操作系统的函数画出来的组件,比如主窗体。 java.awt里面的是重量级的 受平台影响,12,repaint() 执行:update()方法,先刷新屏幕(以背景填充),再调用 paint()方法重画。 一般可以重载update()和paint()方法,13,import javax.swing.*;. import java.awt.*; public class HelloSwingApplet extends JApplet public void init() JLabel label =

7、new JLabel( “You are successfully running a Swing applet!“); label.setHorizontalAlignment(JLabel.CENTER); label.setBorder(BorderFactory.createMatteBorder( 1,1,2,2,Color.black); getContentPane().add(label, BorderLayout.CENTER); ,9.2 Applet应用程序接口(续) HelloSwingApplet.java,Applet应用程序接口,14,9.3 绘图,图形环境和图形

8、对象 颜色和字体 使用Graphics类绘图 使用Graphics2D类绘图,15,9.3.1 图形环境和图形对象,坐标 GUI组件的左上角坐标默认为(0,0) 从左上角到右下角,水平坐标x和垂直坐标y增加。 坐标的单位是象素 Graphics对象 Graphics对象是专门管理图形环境的。Graphics类是一个抽象类 设计一个抽象类Graphics可以给程序员提供一个与平台无关的绘图接口,因而程序员就可以以独立于平台的方式来使用图形。在各个平台上实现的Java系统将创建Graphics类的一个子类,来实现绘图功能,但是这个子类对程序员是透明的,也就是说我们只能看得到Graphics类,却不

9、必关心其实现 在执行paint方法时,系统会传递一个指向特定平台的Graphics子类的图形对象g,绘 图,16,9.3.2 颜色和字体,Java中有关颜色的类是Color类,它在java.awt包中,这个类声明了用于操作Java程序中颜色的方法和常量,绘 图,17,9.3.2 颜色和字体,Font类有关字体控制,在java.awt包中,绘 图,18,9.3.3 使用Graphics类绘图,Graphics类 其对象可以绘制文本、线条、矩形、多边形、椭圆、弧等多种图形,绘 图,21,用各种颜色绘制文字及各种图形 import java.awt.*; import javax.swing.*;

10、public class Ex9_2 extends JFrame public Ex9_2() super( “演示字体、颜色、绘图” ); /调用基类构造方法 setSize( 480, 250 ); /设置窗口大小 setVisible( true ); /显示窗口 public void paint( Graphics g ) super.paint( g ); / call superclasss paint method g.setFont( new Font( “SansSerif“, Font.BOLD, 12 ) ); g.setColor(Color.blue); /设置颜

11、色 g.drawString(“字体ScanSerif,粗体,12号,蓝色“,20,50);,9.3.3 使用Graphics类绘图(续) Ex9_2.java,绘 图,22,g.setFont( new Font( “Serif“, Font.ITALIC, 14 ) ); g.setColor(new Color(255,0,0); g.drawString( “ 字体Serif,斜体,14号,红色“, 250, 50 ); g.drawLine(20,60,460,60); /绘制直线 g.setColor(Color.green); g.drawRect(20,70,100,50);

12、/绘制空心矩形 g.fillRect(130,70,100,50); /绘制实心矩形 g.setColor(Color.yellow); g.drawRoundRect(240,70,100,50,50,50); /绘制空心圆角矩形 g.fillRoundRect(350,70,100,50,50,50); /绘制实心圆角矩形 g.setColor(Color.cyan); g.draw3DRect(20,130,100,50,true); /绘制突起效果空心矩形 g.fill3DRect(130,130,100,50,false); /绘制凹陷效果实心矩形,9.3.3 使用Graphics类

13、绘图(续) Ex9_2.java,绘 图,23,g.setColor(Color.pink); g.drawOval(240,130,100,50); /绘制空心椭圆 g.fillOval(350,130,100,50); /绘制实心椭圆 g.setColor(new Color(0,120,20); g.drawArc(20,190,100,50,0,90); /绘制一段圆弧 g.fillArc(130,190,100,50,0,90); /绘制扇形 g.setColor(Color.black); int xValues=250,280,290,300,330,310,320,290,26

14、0,270; int yValues=210,210,190,210,210,220,230,220,230,220; g.drawPolygon(xValues,yValues,10); /绘制空心多边形 int xValues2=360,390,400,410,440,420,430,400,370,380; g.fillPolygon(xValues2,yValues,10); /绘制实心多边形 ,9.3.3 使用Graphics类绘图(续) Ex9_2.java,绘 图,24,public static void main( String args ) JFrame.setDefaul

15、tLookAndFeelDecorated(true); /设置窗口的外观感觉为Java默认 Ex9_2 application = new Ex9_2(); application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE ); 运行结果,9.3.3 使用Graphics类绘图(续) Ex9_2.java运行结果,绘 图,25,9.3.4 使用Graphics2D类绘图,Java2D API 提供了高级的二维图形功能 分布在java.awt、java.awt.image、java.awt.color、java.awt.font、java.aw

16、t.geom、java.awt.print和java.awt.image.renderable包中 它能轻松使你完成以下功能: 绘制任何宽度的直线 用渐变颜色和纹理来填充图形 平移、旋转、伸缩、切变二维图形,对图像进行模糊、锐化等操作 构建重叠的文本和图形,绘 图,26,Graphics2D类 要想使用Java2D API,就必须通过一个该类的对象 Graphics2D类是Graphics类的抽象子类 要访问Graphics2D功能,必须使用如下语句将传递给paint方法的Graphics引用强制转换为Graphics2D引用: Graphics2D g2d=(Graphics2D)g,9.3

17、.4 使用Graphics2D类绘图(续),绘 图,27,实现例9_1的功能,使用Java2D使文字出现渐变色效果 import java.awt.*; import javax.swing.*; public class Ex9_3 extends JApplet public void paint(Graphics g) super.paint(g); Graphics2D g2d=(Graphics2D)g; g2d.setPaint(new GradientPaint(0,0,Color.red,180,45,Color.yellow); g2d.drawString(“This is

18、 a Java Applet!“,25,25); ,9.3.4 使用Graphics2D类绘图(续) Ex9_3.java,绘 图,28,9.3.4 使用Graphics2D类绘图(续) Ex9_3.java运行结果,绘 图,29,9.4 Swing基础,前面介绍了如何在屏幕上绘制普通的图形,但如果需要绘制一个按钮,并使其可以对点击事件作出响应,就需要使用java Swing提供的组件 其实前面我们已经用到的JFrame、JApplet都是Swing组件,它们分别代表窗口组件和Applet容器组件,30,9.4.1 JFC与Swing,JFC Java Foundation Classes(J

19、ava基础类)的缩写 是关于GUI 组件和服务的完整集合 作为J2SE 的一个有机部分,主要包含5 个部分 AWT Java2D Accessibility Drag & Drop Swing Swing JFC 的一部分 提供按钮、窗口、表格等所有的组件 纯Java组件(完全用Java写的),Swing 基础,31,9.4.2 Swing与AWT,早期版本的AWT组件 在java.awt包里,包括Button、Checkbox、Scrollbar等,都是Component类的子类 AWT 是基于本地方法(native code,native peer)(使用AWT构建GUI时,实际是利用了操

20、作系统提供的图形库)的C/C+程序 ,所以随操作系统平台的不同会显示出不同的样子,而不能进行更改,是重量级组件(heavyweight components) 没有弹性、缺乏效率,Swing 基础,32,较新的Swing组件 其名称都是在原来AWT组件名称前加上J,例如JButton、JCheckBox、JScrollbar等,都是JComponent类的子类 Java1.2推出,架构在 AWT 之上,是AWT的扩展而不是取代 完全是由java语言编写的,其外观和功能不依赖于任何由宿主平台的窗口系统所提供的代码,是轻量级组件(lightweight components) 顶层容器如:JDia

21、log,JFrame,JApplet为任重量级 可提供更丰富的视觉感受,被越来越多地使用,9.4.2 Swing与AWT,Swing 基础,33,9.4.3 在Applet和Application中应用Swing,在Applet中应用Swing,就是要将Swing组件加载到Applet容器上(通常是JApplet),这通常在init方法中完成 在Application中应用Swing,也是要将Swing组件加载到这个Application的顶层容器(通常是JFrame)中,Swing 基础,应用Swing组件的Applet import java.awt.*; import java.awt.

22、event.*; import javax.swing.*; public class Ex9_4 extends JApplet public void init() /获取浏览器提供的顶层容器的内容面板 Container contentPane=getContentPane(); contentPane.setLayout(new GridLayout(2,1); JButton button=new JButton(“Click me“); final JLabel label=new JLabel(); contentPane.add(button); contentPane.add

23、(label); button.addActionListener( new ActionListener() public void actionPerformed(ActionEvent event) String information=JOptionPane.showInputDialog(“请输入一串字符“); label.setText(information); );/创建监听器语句结束 /init方法结束 ,9.4.3在Applet和Application中应用Swing (续) Ex9_4.java,Swing 基础,35,9.4.3在Applet和Application中应

24、用Swing (续) Ex9_4.java运行结果,Swing 基础,36,把JApplet换成JFrame,将例9-4的程序改为Application import javax.swing.*; import java.awt.event.*; import java.awt.*; public class Ex9_5 public static void main(String args) /创建Frame窗体 JFrame f=new JFrame(“Simple Swing Application”); /获取f的容器面板 Container contentPane=f.getCont

25、entPane(); contentPane.setLayout(new GridLayout(2,1); JButton button=new JButton(“Click me“); final JLabel label=new JLabel(); contentPane.add(button);/添加按钮 contentPane.add(label);/添加标签 button.addActionListener( new ActionListener() public void actionPerformed(ActionEvent event) String information=J

26、OptionPane.showInputDialog(“请输入一串字符“); label.setText(information); ); f.setSize(200,100);/设置大小 f.show();/显示 f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); ,9.4.3在Applet和Application中应用Swing (续) Ex9_5.java,Swing 基础,37,9.4.3在Applet和Application中应用Swing (续) Ex9_5.java运行结果,Swing 基础,38,9.5 Swing的特点和概念,S

27、wing GUI 组件 javax.swing包 源于AWT(package java.awt)的组件 包括外观和感觉 外观以及用户如何和程序交互 轻量级组件 完全用Java写成,不是用当前平台的GUI功能 某些Swing组件也是重量级的,外观和功能受到本地窗口系统的限制,如 java.awt.Windows的子类 java.applet.Applet的子类,39,9.5.1 Swing的组件和容器层次(续),JComponent类是除了顶层容器以外所有Swing组件的基类,根据继承关系,我们可以在每个基类中找找到大多数GUI组件的常见操作 java.lang.Object java.awt.

28、Component java.awt.Container javax.swing.JComponent,Swing 的特点和概念,40,Component 类 包含paint、repaint方法,可以在屏幕上绘制组件 大多数GUI组件直接或间接扩展Component Container 类 容纳相关组件 包括add方法,用来添加组件 包括setLayout方法,这个方法可用来设置布局,以帮助Container对象对其中的组件进行定位和设置组件大小 JComponent 类多数Swing组件的超类 可抽换的外观和感觉,即可根据需求定制外观和感觉。 快捷键 (通过键盘直接访问GUI组件) 一般的事

29、件处理功能,41,通常将javax.swing包里的Swing组件归为三个层次 顶层容器 中间层容器 原子组件,9.5.1 Swing的组件和容器层次(续),Swing 的特点和概念,42,顶层容器 Swing提供三个顶层容器的类 JFrame 实现单个主窗口 JDialog 实现一个二级窗口(对话框) JApplet 在浏览器窗口中实现一个applet显示区域 必须和操作系统打交道,所以都是重量级组件 从继承结构上来看,它们分别是从原来AWT组件的Frame、Dialog和Applet类继承而来 每个使用Swing组件的Java程序都必须至少有一个顶层容器,别的组件都必须放在这个顶层容器上才

30、能显现出来,9.5.1 Swing的组件和容器层次(续) 顶层容器,Swing 的特点和概念,43,中间层容器 其存在的目的仅仅是为了容纳别的组件 分为两类 一般用途的 JPanel JScrollPane JSplitPane JTabbedPane JToolBar 特殊用途的 JInternalFrame JRootPane,9.5.1 Swing的组件和容器层次(续) 中间层容器,Swing 的特点和概念,44,原子组件 通常是在图形用户界面中和用户进行交互的组件 基本功能是和用户交互信息,而不像前两种组件那样是用来容纳别的组件的 根据功能的不同,可被分为三类 显示不可编辑信息的JLa

31、bel、JProgressBar、JToolTip 有控制功能、可以用来输入信息的JButton、JCheckBox、JRadioButton、JComboBox、JList、JMenu、JSlider、JSpinner、JTexComponent等 能提供格式化的信息并允许用户选择的JColorChooser、JFileChooser、JTable、JTree,9.5.1 Swing的组件和容器层次(续) 原子组件,Swing 的特点和概念,45,三层容器结构示例 import javax.swing.*; import java.awt.*; public class Ex9_6 publ

32、ic static void main(String args) JFrame.setDefaultLookAndFeelDecorated(true); JFrame frame=new JFrame(“Swing Frame“); Container contentPane=frame.getContentPane(); /获得容器面板 JPanel panel=new JPanel(); panel.setBorder(BorderFactory.createLineBorder(Color.black,5); panel.setLayout(new GridLayout(2,1); J

33、Label label=new JLabel(“Label“,SwingConstants.CENTER); JButton button=new JButton(“Button“); panel.add(label); panel.add(button); contentPane.add(panel); frame.pack();/对组件进行排列 frame.show();/显示 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); ,9.5.1 Swing的组件和容器层次(续) 例9_6,Swing 的特点和概念,46,组件,容器,容器

34、,容器,47,Container(顶层容器),JApplet,JDialog (对话框),JFrame (窗口),48,中 间 容 器,JScrollPane,JTabbedPane,JSplitPane,JPanel,JToolBar,49,50,9.5.1 Swing的组件和容器层次(续) Swing组件列表,Swing 的特点和概念,51,9.5.3 事件处理,GUI是由事件驱动的,一些常见的事件包括: 移动鼠标 单双击鼠标各个按钮 单击按钮 在文本字段输入 在菜单中选择菜单项 在组合框中选择、单选和多选 拖动滚动条 关闭窗口 Swing通过事件对象来包装事件,程序可以通过事件对象获得事

35、件的有关信息,Swing 的特点和概念,52,9.5.3 事件处理(续) Swing组件的事件对象,Swing 的特点和概念,53,编写事件处理程序时,要注意三个概念 事件源 与用户进行交互的GUI组件,表示事件来自于哪个组件或对象 比如要对按钮被按下这个事件编写处理程序,按钮就是事件源 事件监听器 负责监听事件并做出响应 一旦它监视到事件发生,就会自动调用相应的事件处理程序作出响应 事件对象 封装了有关已发生的事件的信息 例如按钮被按下就是一个要被处理的事件,当用户按下按钮时,就会产生一个事件对象。事件对象中包含事件的相关信息和事件源,9.5.3 事件处理(续) 事件处理机制的三个部分,Sw

36、ing 的特点和概念,54,程序员应完成的两项任务 为事件源注册一个事件监听器 实现事件处理方法,9.5.3 事件处理(续) 程序员应完成的两项任务,Swing 的特点和概念,55,56,通常我们用到的事件对象有 ActionEvent 发生在按下按钮、选择了一个项目、在文本框中按下回车键如:button, JList, JTextFiled, JTextArea ItemEvent 发生在具有多个选项的组件上,如JCheckBox、JComboBox ChangeEvent 用在可设定数值的拖曳杆上,例如JSlider、JProgressBar等 WindowEvent 用在处理窗口的操作

37、MouseEvent 用于鼠标的操作,9.5.3 事件处理(续) 事件对象,Swing 的特点和概念,57,9.5.3 事件处理(续) Swing事件源可能触发的事件及对应的事件监听器,Swing 的特点和概念,58,9.5.3 事件处理(续) Swing事件源可能触发的事件及对应的事件监听器,Swing 的特点和概念,59,9.5.3 事件处理(续) Swing事件源可能触发的事件及对应的事件监听器,Swing 的特点和概念,60,常用组件与对应的接口、监视器、实现方法,61,实现事件监听器接口 这种方法需要实现接口中所有的方法,对我们不需要进行处理的事件方法,也要列出来,其方法体使用一对空

38、的花括号 继承事件监听器适配器类 有时我们并不需要对所有事件进行处理,为此Swing提供了一些适配器类Adapter,这些类含有所有Listener中方法的默认实现(就是什么也不做),因此我们就只需编写那些需要进行处理的事件的方法。例如,如果只想对鼠标敲击事件进行处理,如果使用MouseAdapter类,则只需要重写mouseClicked方法就可以了 使用匿名内部类 匿名内部类(Anonymous Inner Class),即是没有名字的内部类,这是Java为了方便我们编写程序而设计的一个机制。因为有时候有的内部类只需要创建一个它的对象就可以了,以后再不会用到这个类,这时候使用匿名内部类就比

39、较合适,而且也免去了给它取名字的烦恼 特别适用于已经继承了某个父类(例如Applet程序,主类必须继承JApplet类或Applet类),则根据java语法规则,就不能再继承适配器类的情况,而且使用这种方法程序看起来会比较清楚明了,9.5.3 事件处理(续) 三种实现事件处理的方法,Swing 的特点和概念,创建一窗口,当鼠标在窗口中点击时,在窗口标题栏中显示点击位置坐标。 方法一:实现MouseListener接口 import java.awt.event.*; /载入MouseListener类所在的包 import javax.swing.*; /载入JFrame所在的包 public

40、 class Ex9_8_1 implements MouseListener JFrame f; public Ex9_8_1() f=new JFrame(); /新建一窗口 f.setSize(300,150); f.show(); f.addMouseListener(this); /为窗口增加鼠标事件监听器 f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); public void mousePressed(MouseEvent e) public void mouseReleased(MouseEvent e) public void

41、 mouseEntered(MouseEvent e) public void mouseExited(MouseEvent e) public void mouseClicked(MouseEvent e) f.setTitle(“点击坐标为 (“+e.getX()+“, “+e.getY public static void main(String args) new Ex9_8_1(); ,9.5.3 事件处理(续) 例9_8_1,Swing 的特点和概念,实现所有接口方法, 哪怕什么也不做,63,方法二:继承MouseAdapter类 import java.awt.event.*;

42、/载入MouseAdapter所在的包 import javax.swing.*; public class Ex9_8_2 extends MouseAdapter JFrame f; public Ex9_8_2() f=new JFrame(); f.setSize(300,150); f.show(); f.addMouseListener(this); f.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE); public void mouseClicked(MouseEvent e) f.setTitle(“点击坐标为 (“+e.getX(

43、)+“, “+e.getY()+“)“); public static void main(String args) new Ex9_8_2(); ,9.5.3 事件处理(续) 例9_8_2,Swing 的特点和概念,64,方法三:使用匿名内部类 import java.awt.event.*; import javax.swing.*; public class Ex9_8_3 JFrame f; public Ex9_8_3() f=new JFrame(); f.setSize(300,150); f.show(); f.addMouseListener(new MouseAdapter

44、() public void mouseClicked(MouseEvent e) f.setTitle(“点击坐标为 (“+e.getX()+“, “+e.getY()+“)“); ); /为窗口添加鼠标事件监听器语句结束 f.addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) System.exit(0); );/为窗口添加窗口事件监听器语句结束 public static void main(String args) new Ex9_8_3(); ,9.5.3 事件处理(续) 例9_

45、8_3,Swing 的特点和概念,65,采用三种不同方法的程序,其运行效果都是一样的,当鼠标在窗口中点击的时候,窗口标题栏将出现所点位置的坐标信息,9.5.3 事件处理(续) 例9_8运行结果,Swing 的特点和概念,66,9.6.3 原子组件,Swing原子组件有很多种, 与顶层容器和中间容器相比,原子组件用法都比较简单 可将其分为三类 显示不可编辑信息 JLabel、JProgressBar、JToolTip 有控制功能、可以用来输入信息 JButton、JCheckBox、JRadioButton、JComboBox、JList、JMenu、JSlider、JSpinner、JText

46、Component 能提供格式化的信息并允许用户选择 JColorChooser、JFileChooser、JTable、JTree,Swing 组件,67,各 类 组 件,Menu,Text Field,Text Area,Button,Label,JChoice Button,JRadioButton,JCombo Box,JProgress Bar,Single List,JCheckbox,Example9/src RadioButtonDemo.java CheckBoxDemo.java,68,JLabel 该组件上可以显示文字和图像,并能指定两者的位置 提示信息 通常不必直接处理

47、JToolTip类 通常使用setToolTipText()方法为组件设置提示信息 有的组件例如JTabbedPane由多个部分组成,需要鼠标在不同部分停留时显示不同的提示信息,这时可以在其addTab()方法中设置提示信息参数,也可以通过setTooltipTextAt方法进行设置,9.6.2 原子组件(续) 第一类原子组件,Swing 组件,69,7.4 标签 Labels,Used to provide text instructions or information on a GUI. Displays a single line of read-only text. Must be instantiated with a call a constructor Several Label constructors and methods are shown below:,70,Label(): constructs an empty

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1