JAVAGUI之其他控

上传人:pia****nwu 文档编号:244959201 上传时间:2024-10-06 格式:PPTX 页数:33 大小:859.25KB
返回 下载 相关 举报
JAVAGUI之其他控_第1页
第1页 / 共33页
JAVAGUI之其他控_第2页
第2页 / 共33页
JAVAGUI之其他控_第3页
第3页 / 共33页
点击查看更多>>
资源描述
单击此处编辑母版文本样式,第二级,第三级,第四级,第四章,GUI,之,其他控件,回顾,一个监听器监听多个事件源可以使代码的灵活度更高;,在某些情况下,一个组件如果有多个类型的事件需要处理的话,可以将它注册到多个监听器;,事件适配器其实只是将对应的监听器接口中的所有方法进行了空实现,以便我们可以有针对性地重写其中感兴趣的方法。,本章相关词汇,单 词,说 明,dialog,会话,对话,scroll,监听器,收听者,password,卷轴,滚动,area,区域,面积,checkBox,复选框,radio,收音机,comboBox,组合框,group,团体,组,font,字体,wrap,包装,缠绕,本章目标,javax.swing,包中的常用组件:,容器组件,JFrame,JDialog,(补充:多窗体程序以及窗体间传递数据),JPanel,JScrollPane,文本组件,JLabel,、,JTextField,、,JPasswordField,、,JTextArea,表单组件,JButton,JCheckBox,JRadioButton,和,ButtonGroup,JComboBox,常用,Swing,组件,到目前为止,我们只接触到了几个基本的,Swing,组件:,JFrame,、,JPanel,、,JLabel,、,JTextField,和,JButton,;,在实际的程序开发过程中,仅仅依靠以上几个基本组件是无法实现复杂功能的;,我们将常用的,Swing,组件根据其性质不同,分类进行介绍,其中包括:,容器组件,文本组件,表单组件,Swing,中常用的容器组件,容器组件是指可以容纳其它组件的组件,常用的,Swing,容器包括:,JFrame,(框架),JDialog,(对话框),JPanel,(面板),JScrollPane,(滚动面板),关于,JFrame,和,JPanel,在前面章节已经介绍过,这里不再赘述。,JDialog,用于在程序中创建对话框组件,对于多窗口的程序而言,对话框尤为重要;,对话框其实就是轻量级的窗体,它比,JFrame,消耗更少的系统资源;,它与,JFrame,的区别在于,,JFrame,可以在程序中不依赖于其它窗体单独存在,而,JDialog,则必须依赖于其它窗口,一般做辅助窗口呈现;,但更重要的是,,JDialog,支持模式显示。,所谓,模式显示,,是指窗口以不丢失焦点的独占方式显示。,JDialog,的构造方法,JDialog,类的构造方法共有,11,种重载,以下是常用的几种:,构 造 方 法,说 明,JDialog(),创建一个没有标题并且没有指定所有者的无模式对话框,JDialog(Frame owner),创建一个没有标题但将指定的,owner,作为其所有者的无模式对话框,JDialog(Frame owner, boolean modal),创建一个没有标题但有指定所有者的对话框,根据参数,modal,来决定它是否模式显示,JDialog(Frame owner, String title),创建一个具有指定标题和指定所有者的无模式对话框,JDialog(Frame owner, String title, boolean modal),创建一个有指定标题和指定所有者的对话框,参数,modal,决定它是否模式显示,JDialog(Dialog owner, boolean modal),创建一个没有标题但有指定所有者的对话框,根据参数,modal,来决定它是否模式显示,JDialog,的常用方法,除了模式显示的功能外,,JDialog,的使用跟,JFrame,很相似,以下是一些常用的方法:,方 法 原 型,说 明,void setTitle(String title),设置对话框的标题,标题内容由参数,title,指定,void setSize(int width, int height),设置对话框的大小,参数,width,指定宽度,参数,height,指定高度,void setResizable(boolean resizable),设置对话框能否调整大小,由参数,resizable,决定,void setVisible(boolean b),设置对话框是否为可见,由参数,b,决定,,true,为可见,,false,为不可见,Container getContentPane(),获得当前对话框的内容面板,void dispose(),释放当前对话框及其所有子组件所占用的资源,即卸载对话框,案例,1,:显示小窗口,JDialog,实现代码,/,主窗口类,继承于,JFrame,public,class,MainFrame,extends,JFrame ,private,JButton btnDisplay;,public,MainFrame() ,btnDisplay =,new,JButton(,显示子窗口,);,Container cp =,this,.getContentPane();,cp.add(btnDisplay, BorderLayout.SOUTH);,/,匿名类方式为按钮注册监听器,btnDisplay.addActionListener(,new,ActionListener() ,public,void,actionPerformed(ActionEvent ae) ,/,实例化子窗体,并把当前主窗体的引用传递给其构造方法,new,SubFrame(MainFrame.,this,);,);,this,.setTitle(,主窗口,);,this,.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);,this,.setSize(600, 400);,this,.setVisible(,true,);,/,子窗口类,继承于,JDialog,public,class,SubFrame,extends,JDialog ,/,构造方法需要将所有者的引用作为参数传递进来,public,SubFrame(MainFrame owner) ,/,调用父类的构造方法,相对于所有者模式显示,super,(owner,true,);,this,.setTitle(,子窗口,);,this,.setSize(300, 200);,this,.setResizable(false);,this,.setVisible(,true,);,案例,2,:跨窗口传递数据,完整代码请,参见工程源,文件,JScrollPane,是滚动面板组件,当某些组件的可视区域不足以显示其全部内容时,可以将该组件添加到滚动面板中,为其增加滚动条。,JScrollPane,的构造方法,JScrollPane,的构造方法共有,4,种重载:,构 造 方 法,说 明,JScrollPane(),创建一个空的,JScrollPane,,需要时水平和垂直滚动条都可显示,JScrollPane(Component view),创建一个显示指定组件内容的,JScrollPane,,只要组件的内容超过视图大小就会显示水平和垂直滚动条,JScrollPane(Component view,int vsbPolicy, int hsbPolicy),创建一个显示指定组件内容的,JScrollPane,,并指定滚动条的显示策略,JScrollPane(int vsbPolicy, int hsbPolicy),创建一个空的,JScrollPane,,并指定滚动条的显示策略,JScrollPane,的常用方法,方 法 原 型,说 明,JScrollBar getHorizontalScrollBar(),返回当前滚动面板的水平滚动条,JScrollBar getVerticalScrollBar(),返回当前滚动面板的垂直滚动条,JViewport getViewport(),返回当前滚动面板的,JViewport,Swing,中常用的文本组件,所谓文本组件是指专门用来存放文字的组件,包括:,JLabel,(标签),JTextField,(文本框),JPasswordField,(密码框),JTextArea,(文本域),我们对,JLabel,和,JTextField,都已非常熟悉,这里不再介绍。,JPasswordField,用来提供密码框组件,它的构造方法共有,5,种重载,以下是常用的几种:,构 造 方 法,说 明,JPasswordField(),创建一个空的密码框,JPasswordField(String text),用指定文本初始化密码框,JPasswordField(int columns),创建一个指定列数的空密码框,JPasswordField(String text, int columns),创建一个带文本,并指定列数的密码框,JPasswrodField,的常用方法,方 法 原 型,说 明,void setText(String text),设置密码框中的文本,String getText(),获得密码框中的文本,出于安全考虑,此方法已过时,由,getPasswrod,方法替代,char getPassword(),获得密码框中的文本,只不过是以字符数组的方式返回,void setEchoChar(char c),设置密码框的密文字符,当用户有大量文本需要输入的时候,就可以使用到文本域组件,,JTextArea,的构造方法共有,6,种重载,以下是常用的几种:,构 造 方 法,说 明,JTextArea(),创建一个空的文本域,JTextArea(String text),用指定文本初始化文本域,JTextArea(int rows, int columns),创建一个指定行数和列数的空文本域,JTextArea(String text,int rows, int columns),创建一个带文本,并指行数和列数的文本域,JTextArea,的常用方法,方 法 原 型,说 明,void setText(String text),设置文本域中的文本,String getText(),获得文本域中的文本,void setFont(Font font),设置文本域中文本的字体,void setLineWrap(boolean wrap),设置文本域中文本的自动换行策略,void setTabSize(int size),设置制表符,t,所占的字符宽度,默认为,8,个字符宽度,Font,类用来表示字体,常用的构造方法如下:,常量,Font.BOLD,表示粗体,,Font.ITALIC,表示斜体,粗体加斜体可以用,Font.BOLD + Font.ITALIC,表示,,Font.PLAIN,表示普通样式;,任何包含有文字的组件,都可以使用,setFont,方法来设置字体。,构 造 方 法,说 明,Font(String name, int style, int size),构造一个,Font,对象,参数,name,指定字体名称,,style,指定字体样式(可以是,Font.BOLD,、,Font.ITALIC,和,Font.PLAIN,),,size,指定字体的大小,Swing,中常用的表单组件,这里套用了,HTML,中的“表单”一词,常用的表单组件包括:,JButton,(按钮),JCheckBox,(复选框),JRadioButton,(单选按钮),JComboBox,(组合框,又名:下拉列表),JButton,在前面的课程中已大量使用过,这里不再介绍。,JCheckBox,用来提供复选框组件,一般用来提供多个选项,并且可选项不限定的情况下,可以使用到复选框;,其构造方法共有,8,种重载,常用的如下:,构 造 方 法,说 明,JCheckBox(),创建一个没有文本、没有图标并且最初未被选定的复选框,JCheckBox(String text),创建一个带指定文本的、最初未被选定的复选框,JCheckBox(String text, boolean selected),创建一个带指定文本的复选框,并可以指定其最初是否被选择,JCheckBox(String text, Icon icon),创建带有指定文本和图标的、最初未选定的复选框,JCheckBox(String text, Icon icon,boolean selected),创建带有指定文本和图标的、最初未选定的复选框,并可以指定其最初是否被选择,JCheckBox,的常用方法,方 法 原 型,说 明,void setSelected(boolean b),设定复选框的选择状态,,true,为被选择,,false,为不被选择,boolean getSelected(),返回复选框的选择状态,void setText(String text),设置复选框的文本,String getText(),返回复选框的文本,void setIcon(Icon icon),设置复选框的图标,JRadioButton,提供单选按钮组件,其构造方法共有,8,种重载,以下是常用的几种:,构 造 方 法,说 明,JRadionButton(),创建一个没有文本、没有图标并且最初未被选定的单选按钮,JRadionButton (String text),创建一个带指定文本的、最初未被选定的单选按钮,JRadionButton (String text,boolean selected),创建一个带指定文本的单选按钮,并可以指定其最初是否被选择,JRadionButton (String text, Icon icon),创建带有指定文本和图标的、最初未选定的单选按钮,JRadionButton (String text, Icon icon,boolean selected),创建带有指定文本和图标的、最初未选定的单选按钮,并可以指定其最初是否被选择,JRadioButton,常用方法,方 法 原 型,说 明,void setSelected(boolean b),设定单选按钮的选择状态,,true,为被选择,,false,为不被选择,boolean getSelected(),返回单选按钮的选择状态,void setText(String text),设置单选按钮的文本,String getText(),返回单选按钮的文本,void setIcon(Icon icon),设置单选按钮的图标,事实上,单选按钮本身并不具备单选效果,它必须依靠按钮组才能达到单选的目的;,ButtonGroup,用来提供按钮组,将一系列按钮加入到同一个按钮组中,那么同一按钮组中的按钮只能有一个被选择;,ButtonGroup,的构造方法如下:,构 造 方 法,说 明,ButtonGroup(),创建一个新的按钮组,ButtonGroup,的常用方法,方 法 原 型,说 明,void add(AbstractButton button),将指定按钮添加到按钮组中,int getButtonCount(),返回按钮组中按钮的数量,void remove(AbstractButton button),将指定按钮从按钮组中删除,Enumeration getElements(),返回按钮组中所有的按钮,使用,JComboBox,可以创建组合框组件,也就是俗称的下拉列表,以下是它的,4,种构造方法重载:,构 造 方 法,说 明,JComboBox(),创建一个空的组合框,JComboBox(Object items),使用数组中的元素作为选项的组合框,JComboBox(Vector items),使用集合中的元素作为选项的组合框,JComboBox(ComboBoxModel model),创建具有指定数据模型的组合框,JComboBox,的常用方法,方 法 原 型,说 明,void addItem(Object item),为列表添加选项,void insertItemAt(Object item, int index),在指定索引位置添加指定的选项,int getSelectedIndex(),返回被选择的选项的索引,Object getSelectedItem(),返回被选择的选项,void setSelectedIndex(int anIndex),设置指定索引位置的选项被选择,void setSelectedItem(Object anItem),设置指定的选项被选择,void removeItem(Object anItem),删除指定的选项,void removeItemAt(int anIndex),删除指定索引位置的选项,int getItemCount(),返回列表中所有选项的数量,表单组件示例,完整代码请,参见工程源,文件,总结,可以使用,JDialog,来创建对话框,编写多窗口程序;,使用,JScrollPane,来为某些大视图的组件提供滚动面板;,文本组件是指专门用来操作文字的组件;,适当的使用表单组件可以使用户界面更加人性化,最大限度地方便用户操作。,谢 谢,Thank you,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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