分享
分享赚钱 收藏 举报 版权申诉 / 106

类型高级语程序设计(Java).ppt

  • 上传人:dzzj200808
  • 文档编号:3366766
  • 上传时间:2018-10-19
  • 格式:PPT
  • 页数:106
  • 大小:697KB
  • 配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    高级语程序设计(Java).ppt
    资源描述:

    1、西南科技大学网络教育系列课程 高级语程序设计(Java),第十章 基于Swing的图形用户界面设计,AWT组件与SWING组件概述,Java在初期借助一种窗口开发类库,叫作AWT(Abstract Windows Toolkit,抽象窗口工具箱)来达到在图形接口上平台独立性。,AWT处理用户界面元素的方法把用户界面元素的创建和行为委托给目标平台(Windows、Macintosh、Linux等)上的本地GUI工具(Peers,对等组件)进行处理。Peers是本地GUI组件,由AWT来操控,Peers对程序开发者是隐而不见的,各平台所产生的peers与各平台有关 。,重量组件和轻量组件与本地对等

    2、组件相关联的组件(AWT组件)就被称为重量组件。不依赖本地对等组件的组件(Swing组件)就被称为轻量组件。重量组件具有平台不一致性。轻量组件在重量容器的窗口中绘制,背景可以是透明的。,AWT与Swing,AWT粗糙、不美观平台不一致,“一次编写,到处调试”运行效率较低,不适合复杂界面的程序开发速度较快,Swing更丰富、更方便的用户界面元素集合对底层平台的依赖更少,和平台有关的bug也就更少给不同平台上的用户一致的感觉swing组件大部分是轻量组件,没有对等组件,Swing并没有完全代替AWT,JComponent类的部分子类以及JFrame类和JDialog类,javax.swing包中J

    3、Component(轻组件)类是java.awt包中Container类的一个直接子类、Componenet类的一个间接子类。javax.swing包中的JFame类和JDialog类分别是java.awt包中Frame类和Dialog类的直接子类、Window类的间接子类。,两个基本概念组件(component):Java把由Component类的子类或间接子类创建的对象称为一个组件,是图形用户界面中的可见部分,如按钮、标签。 容器(container): Java把由Container的子类或间接子类创建的对象称为一个容器,是图形用户界面中容纳其它组件的部分,如窗体。一个容器中可容纳一个或

    4、多个组件,也可容纳其他容器。,认识几个方法 add( ):将组件添加到该容器中。removeAll() :移掉容器中的全部组件。remove(Component c) 移掉容器中参数指定的组件。validate():每当容器添加新的组件或移掉组件时,调用该方法以保证容器中的组件能正确显示出来。,组件的三要素 内容,如按钮的状态、文本框中的文本外观显示,如组件的颜色、大小、可见性行为,组建对外部刺激(事件)的反应三要素之间的是相互关联的,如按钮组件,Swing的结构Swing采用MVC(模型 - 视图 - 控制)设计模式MVC的基本思想就是将一个GUI组件分成三个部分: 模型部分 存储内容(完整

    5、的) 视图部分 显示内容(完整或不完整的) 控制部分 处理用户事件模型必须实现改变和发现内容的方法模型是完全不可见的,显示存储在模型中的数据是视图的工作,控制决定是否把外界的事件转化成对模型或视图的改变,例:用户在文本框中进行字符输入,例:用户在文本框中按下了光标键,每个组件都有一个包装类(如JButton),用来保存模型和视图。在javax.swing包中提供了超过250个类,而其中有接近50个组件类(以J打头)。javax.swing包中有四个最重要的类JApplet、JFrame、JDialog和JComponent。JFrame、JApplet、JDialog都是重组件swing包是属

    6、于Java基础类(Java Foundation Classes,JFC)的一部分。,JFrame窗体,JFrame的特性JFrame类其子类创建的对象是窗体。JFrame类或子类创建的对象是重量容器。不可以把组件直接添加到JFame窗体中,应当把组件添加到内容面板中。不能为JFame窗体设置布局,应为JFame窗体的内容面板设置布局。JFame窗体通过调用getContentPane()方法得到它的内容面板。,JFrame类常用方法:构造方法JFrame() :可以创建一个无标题的窗口。JFrame(String s) :创建一个标题为s的窗口。常用方法public void setBoun

    7、ds(int a,int b,int width,int height) 窗口调用该方法可以设置出现在屏幕上时的初始位置是(a,b),即距屏幕左面a个像素、距屏幕上方b个像素;窗口的宽是width,高是height。,public void setSize(int width,int height):设置窗口的大小,窗口在屏幕出现是默认位置是(0,0)。public void setVisible(boolean b):设置窗口是可见还是不可见,窗口默认是不可见的。public void setResizable(boolean b):设置窗口是否可调整大小,窗口默认是可调整大小的。,publ

    8、ic void setDefaultCloseOperation(int operation) :设置单击窗体右上角的关闭图标后,程序会做出怎样的处理。其中的参数operation取下列有效值:DO_NOTHING_ON_CLOSE:什么也不做。HIDE_ON_CLOSE:隐藏当前窗口。DISPOSE_ON_CLOSE:隐藏当前窗口,并释放窗体占有的其它资源。EXIT_ON_CLOSE:结束窗体所在的应用程序。,菜单组件,Swing菜单由菜单条(JMenuBar)、菜单(JMenu)和菜单项(JMenuItem)构成。菜单条是所有菜单和菜单项的根(容器)。,需要注意的是,只能向窗口添加一个菜单

    9、条,JMenuBar 菜单条JMenuBar是JComponent类的子类,负责创建菜单条。JMenuBar menuBar=new JMenuBar();将菜单条放置到JFrame窗口中:public void setJMenuBar(JMenuBar menubar);,JMenu 菜单JMenu是JComponent类的间接子类,负责创建菜单。pulbic JMenu():建立一个没有标题的菜单。pulbic JMenu(String s):建立一个指定标题菜单,标题由参数s确定。,例如: 创建一个名为“Edit”的菜单,并添加到菜单条中。JMenu editMenu=new JMenu

    10、(“Edit”);menuBar.add(editMenu);,常用方法public void add(MenuItem item):向菜单增加由参数item指定的菜单选项对象。public void add(String s):向菜单增加指定的选项。public JMenuItem getItem(int n):得到指定索引处的菜单选项。public int getItemCount():得到菜单选项数目。,JMenuItem 菜单项JMenu是JComponent类的间接子类,负责创建菜单项。public JMenuItem(String s):构造有标题的菜单项。public JMenu

    11、Item(String text, Icon icon):构造有标题和图标的菜单项。创建图标对象 Icon icon=new ImageIcon(“图标文件名”);,菜单项将被放在菜单里。例如: JMenuItem pasteItem=new JMenuItem(“Paste”); editMenu.add(pasteItem);,主要方法public void setEnabled(boolean b):设置当前菜单项是否可被选择 public String getLabel():得到菜单选项的名字。public void setAccelerator(KeyStroke keystroke

    12、): 为菜单项设置快捷键。public static KeyStroke getKeyStroke(int keyCode, int modifiers) :返回KeyStroke对象。,keyCode取值范围: KeyEvent.VK_A KeyEvent.VK_Z,modifiers取值:InputEvent.ALT_MASK InputEvent .CTRL_MASK InputEvent .SHIFT_MASK,嵌入JMenu子菜单菜单项本身还可以是一个菜单,称这样的菜单项为子菜单。,JMenu editMenu = new JMenu(“Edit”); JMenu optionsMe

    13、nu = new JMenu(“Options”); editMenu.add(optionsMenu);,作用指定各个视图组件在窗口中的分布位置,实现动态布局。有助于创建复合式的复杂界面,一个复合式界面由一些简单的基本界面组成。优点可重用性:基本界面可以被重用,组合成各种不同的复合式界面。可扩展性:可以方便的扩展基本界面,从而创建更复杂的界面。可维护性: 当复合式界面中的局部区域发生变化时,不会影响其它区域 。,布局设计,使用布局管理器来实现布局设计布局管理器是基于AWT的 布局管理器的类型流布局管理器:FlowLayout边界布局管理器:BoderLayout卡片式布局管理器:CardLa

    14、yout网格布局管理器:GridLayout盒式布局管理器:BoxLayout布局管理让容器使用方法setLayout(布局对象)来设计自己的布局。,BorderLayout Window型容器的默认布局,比如Jframe类、JDialog类。 每个被BorderLayout管理的容器均被划分为五个区域:东(EAST) ,南(SOUTH),西(WEST),北(NORTH),中(CENTER)。 容器的每个区域,只能加入一个组件,如果试图加入多个组件,其中只有一个组件是可见的。 对于东南西北这四个边界区域,如果,其中的某个区域没有用,它的大小将变为0,CENTER区域将扩展并占用该区域,构造方法

    15、BorderLayout():构造一个间距为0的BorderLayout实例BorderLayout(int hgap,int vgap):构造一个指定间距的BorderLayout实例在BorderLayout布局管理器的管理下,组建必须通过add()方法加入到容器的五个命名区域之一,否则它们是不可见的。方法:add(组件,区域),import java.awt.*; import javax.swing.*; public class BorderLpublic static void main(String args)JFrame f; JButton be,bw,bn,bs,bc;Bo

    16、rderL that=new BorderL();f=new JFrame(“窗体“);be=new JButton(“东”); bs=new JButton(“南“);bw=new JButton(“西”); bn=new JButton(“北“);bc=new JButton(“中心“);f.getContentPane().add(be,“East“);f.getContentPane().add(bs,“South“);f.getContentPane().add(bw,“West“);f.getContentPane().add(bn,“North“);f.getContentPan

    17、e().add(bc,“Center“);f.setSize(350,200); f.setVisible(true); ,FlowLayout 将组件按照加入的顺序逐个地放在容器中的一行上,一行放满后再另起一个新行。 每一行中的组件按布局指定的方式对齐方,默认情况下是居中对齐。 三种构造方法: FlowLayout() FlowLayout(int align) FlowLayout(int align,int hgap,int vgap),FlowLayout.LEFT, FlowLayout.RIGHT, FlowLayout.CENTER(默认),hgap:垂直间距,vgap:水平间距

    18、,默认值是5个像素,FlowLayout布局管理器不强行设定组件的大小,而是允许组件拥有自己希望的大小。每个组件都有一个getPreferredSize()方法,容器布局管理器会调用此方法取得每个组件希望的大小。FlowLayout布局是JPanle容器的默认布局管理器。,当容器中组件数增加时,就显得高低参差不齐,采用容器嵌套的方式,即把一个容器当作一个组件加入另一个容器,使这个容器的布局达到应用的需求,GridLayout 网格式的布局管理器,它将容器空间划分成若干行乘若干列的网格,每个格放一个组件。 各组件按照从上到下,从左至右的顺序排列。 构造方法: GridLayout():创建一个只

    19、有一行的网格,列数根据实际需要而定 GridLayout(int rows,int cols):创建指定行、列的网格,rows和cols中的一个值可以为0 GridLayout(int rows,int cols,int hgap,int vgap),使用GridLayout布局设计的一般步骤:使用GridLayout的构造方法创建布局对象,指定划分网格的行数和列数使用GridLayout布局容器调用方发add将组件加入容器。GridLayout布局中每个网格都是相同大小并且强制组件与网格相同大小,CardLayout 卡式布局管理器,可以容纳多个组件,但是同一时刻容器只能从这些组件中选出一个

    20、来显示,被显示的组件占据容器的整个空间。 选项卡窗格(JTabbedPane)的默认布局是CardLayout。 在JTabbedPane中加入组件: add(String text,Component c); 指定和该组件c对应的选项卡的文本提示是text。,BoxLayout用BoxLayout类可以创建盒式布局。Box类创建的容器称作一个盒式容器,盒式容器的的默认布局是盒式布局,而且不允许更改盒式容器的布局。,行型盒式布局容器中组件的上沿在同一水平线上。Box类的类方法createHorizontalBox()可以获得一个具有行型盒式布局的盒式容器行型盒式容器中组件间的间距:Box类调用

    21、静态方法createHorizontalStrut(int width)可以得到一个不可见的水平Struct类型对象,称做水平支撑。,列型盒式布局容器中组件的左沿在同一垂直线上。Box类的类方法createVerticalBox()可以获得一个具有列型盒式布局的盒式容器。列型盒式容器中组件间的间距:Box类调用静态方法createVertialStrut(int height)可以得到一个不可见的垂直Struct类型对象,称做垂直支撑。,中间容器,用来添加组件的轻容器,称为中间容器。JPanel 面板JPanel类用来创建一个面板对象,可以向这个面板添加组件(直接使用add方法)。使用时需要把

    22、这个面板添加到底层容器或其他中间容器中。JPanel面板的默认布局是FlowLayout布局。构造方法 JPanel():构造一个面板容器对象,JScrollPane滚动窗格把一个组件放到一个滚动窗格中,然后通过滚动条来观察这个组件。例如,JTextArea不自带滚动条,可把文本区放到一个滚动窗格中。构造方法 JScrollPane(component c):构造一个滚动窗格。,JSplitPane拆分窗格被分成两部分的容器,拆分窗格有两种类型:水平拆分:用一条拆分线把容器分成左右两部分,左面放一个组件,右面放一个组件,拆分线可以水平移动垂直拆分:用一条拆分线分成上下两部分,上面放一个组件,下

    23、面放一个组件,拆分线可以垂直移动。,构造方法 JSplitPane(int a, Component b ,Component c): 构造一个拆分窗格setDividerLocation(double position):拆分窗格设置拆分线的位置。,JLayeredPane分层窗格如果添加到容器中的组件经常需要处理重叠问题,就可以将组件添加到JLayeredPane容器。JLayeredPane将容器分成5个层,容器使用 add(Jcomponent com, int layer);添加组件com,并指定com所在的层。,layer取值: DEFAULT_LAYER:最底层PALETTE_L

    24、AYERMODAL_LAYERPOPUP_LAYERDRAG_LAYER:最上面的层,public void setLayer(Component c,int layer):重新设置组件c所在的层public int getLayer(Component c):获取组件c所在的层数。,文件组件,JTextField文本框用来建立文本框的,用户可以在文本框输入单行的文本。构造方法JTextField(int x):创建文本框对象,可以在文本框中输入若干个字符,文本框的可见字符个数由参数x指定。JTextField(String s) :创建文本框对象,则文本框的初始字符串为s,可以在文本框中输入

    25、若干个字符。,主要方法public void setText(String s):设置文本框中的文本为参数s指定的文本。public String getText() :获取文本框中的文本。public void setEditable(boolean b) :指定文本框的可编辑性(默认为可编辑的)。public void setHorizontalAlignment(int alignment) :设文本在文本框中的对齐方式,其中alignment的有效值确定对齐方式,如:LEFT、CENTER、RIGHT。,JPasswordField建立一个密码框对象setEchoChar(char c

    26、):设置回显字符(默认的回显字符是*)。char getPassword()方法获取密码框中的密码。,ActionEvent事件,基于委托的事件模型事件的处理由事件的来源(source,对象) ,委托给一个或多个事件监听者(Event Listener)来处理(事件监听者就可视为一种处理事件的对象)。组件激发事件,事件监听器监听并处理这一特定事件。委托的方法是调用组件的注册监听器方法addxxxListener(Event Listener),事件监听者是一种处理事件的接口,定义于java.awt.event包中,在此包中也定义了各种事件类当事件来源对象因用户的操作(鼠标、键盘等),系统会自动

    27、触发此事件类对象E,并通知所委托的事件监听者A(需要预先注册),然后事件监听者A中所定义的处理各种事件的方法便会处理此事件E的各种状况 。,事件结构所有的事件动作都开始于java.util包中的EventObject类,以及EventListener接口,它们构成了委托事件模型的基础。在java.awt.event包中定义了各类事件类、事件监听接口、以及事件转接器(Adapter)。,ActionEvent事件的处理注册监听器addActionListener(ActioListener listener); 对事件的处理:实现ActionListener接口public void actio

    28、nPerformed(ActionEvent e),class MyListener extends ActionListener . Mylistener listener = new Mylistener();组件对象.addActionListener(listener); . public void actionPerformed(ActionEvent e) / 实现方法体 ,以内部类方式实现 组件对象.addActionListener( new ActionListener() . public void actionPerformed(ActionEvent e) / 实现方法

    29、体 ); ,public Object getSource():返回发生ActionEvent事件的对象的引用。,JTextArea 文本区JTextArea类用来建立文本区,用户可以在文本区输入多行的文本。构造方法JTextArea(int rows, int columns):构造一个可见行和可见列分别是rows、columns的文本区。常用方法setLineWrap(boolean b):决定输入的文本能否在文本区的右边界自动换行。setWrapStyleWord(boolean b):决定是以单词为界(b取true时)或以字符为界(b取false时)进行换行。,getText():获取

    30、文本区的文本。setText(String s) :设置文本内容。append(String s):尾部加文本。insert(String s,int x):在文本区的指定位置处插入文本。public void copy():拷贝选定的区域。public void cut():剪切选定的区域。public void paste():在指定的区域粘贴。,JTextComponent类的方法,按钮与标签组件,JButton 按钮组件是用来建立按钮的。构造方法:JButton(String text):创建名字是text的按钮。public JButton(Icon icon):创建带有图标icon

    31、的按钮。public JButton(String text, Icon icon):创建名字是text且带有图标icon的按钮 。,常用方法public String getText():获取当前按钮上的名字。public void setText(String text):重新设置当前按钮的名字,名字由参数text指定。public Icon getIcon():获取当前按钮上的图标。public void setIcon(Icon icon):重新设置当前按钮上的图标。public void setHorizontalTextPosition(int textPosition):设置按钮

    32、名字相对按钮上图标的水平位置。,SwingConstants.RIGHT SwingConstants.LEFT SwingConstants.CENTER SwingConstants.LEADING SwingConstants.TRAILING,public void setVerticalTextPosition(int textPosition):设置按钮上名字相对按钮上图标的垂直位置。public void addActionListener(ActionListener) 按钮对象调用该方法可以向按钮增加动作监视器。public void removeActionListener

    33、(ActionListener) 按钮对象调用该方法可以移去按钮上的动作监视器。,JLabel标签组件JLabel类负责创建标签对象,标签用来显示信息,但没有编辑功能。 构造方法:public JLabel ()public JLabel (String s ) public JLabel(String s, int aligment)public JLabel (Icon icon) public JLabel (String s,Icon icon,int aligment),SwingConstants.RIGHT SwingConstants.LEFT SwingConstants.C

    34、ENTER SwingConstants.LEADING SwingConstants.TRAILING,常用方法String getText() 获取标签的名字。void setText(String s) 设置标签的名字。Icon getIcon() 获取标签的图标。void setIcon(Icon icon) 设置标签的图标。void setHorizontalTextPosition(int a) 参数a确定名字相对于图标的位置;a的取值是: JLabel.LEFT,JLabel.RIGHT。void setVerticalTextPosition(int a) 参数a确定名字相对于

    35、JLabel上的图标的位置;参数a取值是:JLabel.BOTTOM,JLabel.TOP。,复选框与单选按钮组件,JCheckBox复选框 复选框提供两种状态,一种是选中,另一种是未选中,用户通过单击该组件切换状态。构造方法 public JCheckBox():创建一个没有名字的复选框。 public JCheckBox(String text):创建一个名字是text的复选框。 public JCheckBox(Icon icon):创建一个带有默认图标icon,但没有名字的复选框。 public JCheckBox(String text, Icon icon):创建一个带有默认图标和

    36、名字text的复选框。,常用方法public void setIcon(Icon defaultIcon):设置复选框上的默认图标。public void setSelectedIcon(Icon selectedIcon)设置复选框选中状态下的图标。public boolean isSelected() 如果复选框处于选中状态该方法返回true,否则返回false。如果不对复选框进行初始化设置,默认的初始化设置均为未选中。,复选框上的ItemEvent事件addItemListener(ItemListener listener):发生ItemEvent事件的监视器的方法public voi

    37、d itemStateChanged(ItemEvent e): 对发生的事件作出处理。getItemSelectable():返回Itemevent事件的事件源。,class CheckBoxWindow extends JFrame implements ItemListener box.addItemListener(this); public void itemStateChanged(ItemEvent e)/对事件的处理 ,JRadioButton单选按钮一组单选按钮同一时刻只能有一个被选中。当创建了若干个单选按钮后,应使用ButtonGroup再创建一个对象,然后利用这个对象把这

    38、若干个单选按钮归组。归到同一组的单选按钮每一时刻只能选一。例如:,ButtonGroup grounp=new ButtonGroup(); JRadioButton button1=new JRadioButton(“小学”);button2=new JRadioButton(“中学”);grounp.add(button1);grounp.add(button2);,列表组件,用户可以在下拉列表看到第一个选项和它旁边的箭头按钮。当用户单击箭头按钮时,选项列表打开。 常用方法public JComboBox() 创建一个没有选项下拉列表。public void addItem(Object

    39、anObject) 增加选项。public int getSelectedIndex() 返回当前下拉列表中被选中的选项的索引,索引的起始值是0。,public Object getSelectedItem() 返回当前下拉列表中被选中的选项。public void removeItemAt(int anIndex) 从下拉列表的选项中删除索引值是anIndex 选项。public void removeAllItems() 删除全部选项。public void addItemListener(ItemListener) 向下拉列表增加ItemEvent事件的监视器。,下拉式列表上的ItemE

    40、vent事件 对于下拉式列表事件源,可以发生ItemEvent事件。,表格组件,使用JTable可以创建一个表格对象。 构造方法JTable (Object data , Object columnName) 表格的视图将以行和列的形式显示数组data每个单元中对象的字符串表示。 参数columnName用来指定表格的列名。 用户在表格单元中输入的数据都被认为是一个Object对象。 用户通过表格视图对表格单元中的数据进行编辑,以达到修改二维数组data中对应的数据。,Object a = new Object34; Object name = “商品名称“,“单价“,“销售量“,“销售额“;

    41、 JTable table=new JTable(a,name);,树组件,树与节点JTree类的实例称作树组件。构造树组件前要先创建出称作节点的对象。实现MutableTreeNode接口的类创建的对象都可以成为树上的节点。树中最基本的对象叫做节点,树以垂直方式显示数据,每行显示一个节点。树中只有一个根节点,所有其它节点从这里引出。 节点包括根节点,带子节点的分支节点,不带子节点的叶节点。,DefaultMutableTreeNode类该类实现了MutableTreeNode接口的类,可以使用这个类为要创建的树准备节点。构造方法:DefaultMutableTreeNode(Object u

    42、serObject):创建的节点默认可以有子节点DefaultMutableTreeNode(Object userObject,boolean allowChildren):创建的节点有无子节点要根据参数allowChildren的真假来判断,为true时有子节点,为假时无子节点。,树上的TreeSelectionEvent事件 常用方法: addTreeSelectionListener(TreeSelectionListener listener):获得一个TreeSelectionEvent事件的监视器 public void valueChanged (TreeSelection E

    43、vent e):处理TreeSelectionEvent事件 getLastSelectedPathComponent() :获取选中的节点 getUserObject():得到与节点相关的信息。,进度条组件,JProgressBar类 使用JProgressBar类创建进度条组件。 该组件能用一种颜色动态地填充自己,以便显示某任务完成的百分比。 构造函数: JProgessBar() JProgressBar(int min,int max) JProgressBar(int orient ,int min,int max) 常用方法pulic void set setValue(int n

    44、) 用一种颜色水平填充自己。setMinimum(int min):改变最小值setMaximum(int max):改变最大值。,带进度条的输入流ProgressMonitorInputStream是javax.swing包提供的输入流类。读取文件时可看见文件的读取进度。构造方法: ProgressMonitorInputStream(Conmponent c,String s,InputStream);,组件的常见方法,JComponent类是所有组件的父类。组件都是矩形形状,组件本身有一个默认的坐标系,组件的左上角的坐标值是(0,0)。 如果一个组件的宽是20,高是10,那么,该坐标系中

    45、,x坐标的最大值是20;y坐标的最大值是10,如下图所示。,组件的颜色public void setBackground(Color c) :设置组件的背景色。public void setForeground(Color c): 设置组件的前景色。public Color getBackground(Color c):获取组件的背景色。public Color getForeground(Color c) :获取组件的前景色。public Color(int red,int green,ing blue):创建一个颜色对象,其中red、green、blue的取值在0到255之间。,组件透明组

    46、件默认是不透明的。public void setOpaque(boolean isOpaque):设置组件是否不透明isOpaque取false时,组件被设置为透明。isOpaque取true时组件被设置为不透明。public boolean isOpaque(): 当组件不透明时该方法返回true,否则返回false。,组件的边框组件默认的边框是一个黑边的矩形。public void setBorder(Border border):设置组件的边框。 该方法的参数是一个接口,必须向该参数传递一个实现接口Border类的实例。 如果传递一个null,组件将取消边框。 public Border

    47、 getBorder():返回边框。,组件的字体public void setFont(Font f):组件调用该方法设置组件上的字体。public Font getFont(Font f):组件调用该方法获取组件上的字体。上述方法中用到了java.awt包中的Font类,Font类的构造方法是:public Font(String name,int style,int size) :创建字体对象。name是字体的名字style决定字体的样式,取值是一个整数。,组件的大小与位置public void setSize(int width,int height) 设置组件的大小。public vo

    48、id setLocation(int x,int y) 设置组件在容器中的位置,组件距容器的左、上边界 x、 y 个像素。public Dimension getSize() 返回一个Dimension对象的引用,该对象实体中当前组件的宽度和高度。,public Point getLocation(int x,int y) 返回一个Point对象的引用,该对象实体中含有组件的左上角在容器的坐标系中的x坐标和y坐标。public void setBounds(int x,int y,int width,int height)设置组件在容器中的位置和组件的大小。public Rectangle g

    49、etBounds() 返回一个Rectangle对象的引用,该对象实体中含有当前组件左上角在容器坐标系中的x坐标和y坐标,宽度和高度。,组件的激活与可见性public void setEnabled(boolean b) 设置组件是否可被激活。 当参数b取值true时,组件可以被激活。 当参数b取值false 时,组件不可激活。 默认情况下,组件是可以被激活的。public void setVisible(boolean b) 设置组件在该容器中的可见性当b取值true时,组件在容器中可见。当b取值false时,组件在容器中不可见。除了Window型组件外,其它类型组件默认是可见的。,组件可以触发焦点事件。public void addFocusListener(FocusListener listener) :注册焦点事件监听器。如果组件从无输入焦点变成有输入焦点或从有输入焦点变成无输入焦点都会触发FocusEvent事件。创建监视器的类必须要实现FocusListener 接口,该接口有两个方法:public void focusGained(FocusEvent e)public void focusLost(FocusEvent e),

    展开阅读全文
    提示  道客多多所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:高级语程序设计(Java).ppt
    链接地址:https://www.docduoduo.com/p-3366766.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    道客多多用户QQ群:832276834  微博官方号:道客多多官方   知乎号:道客多多

    Copyright© 2025 道客多多 docduoduo.com 网站版权所有世界地图

    经营许可证编号:粤ICP备2021046453号    营业执照商标

    1.png 2.png 3.png 4.png 5.png 6.png 7.png 8.png 9.png 10.png



    收起
    展开