收藏 分销(赏)

项目7 统计人文知识竞赛成绩.ppt

上传人:pc****0 文档编号:13876038 上传时间:2026-04-29 格式:PPT 页数:98 大小:976.50KB 下载积分:10 金币
下载 相关 举报
项目7 统计人文知识竞赛成绩.ppt_第1页
第1页 / 共98页
项目7 统计人文知识竞赛成绩.ppt_第2页
第2页 / 共98页


点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,项目7 统计人文知识竞赛成绩,图形界面设计1,1,本章学习目标 重点、难点,重点,Swing,组件应用,Swing,组件编程步骤,难点,Swing,组件编程步骤,学习目标,了解图形界面,熟悉,Swing,了解,Swing,组件与,AWT,组件的区别,了解,Swing,组件应用,掌握,Swing,组件编程步骤,学习内容,Swing,简介,Swing,组件与,AWT,组件的区别,Swing,组件应用,Swing,组件编程步骤,3,1,、,Swing,简介,AWT,是,Swing,的基础。,Swing,的产生主要原因就是,AWT,不能满足图形化用户界面发展的需要。,AWT,存在着严重的缺陷,人们使,AWT,适应基于继承的、具有很大伸缩性的事件模型,基于同位体的体系结构成为其致命的弱点。,Swing,组件几乎都是,轻量组件,,与,重量组件,相比,没有本地的对等组件,不像重量组件要在它们自己的本地不透明窗体中绘制,轻量组件在它们的重量组件的窗口中绘制。,Swing,组件的设计原理是建立在称为,MVC,结构基础上的,,MVC,是一种先进的组件设计模式,,Java,在,MVC,基础上设计了,Swing,组件。,4,2,、,JFC,的出现与技术构成,在,1997,年的,JavaOne,开发人员大会上,,Sun,发布了,JFC(Java Foundation Classes),,它是一个创建图形用户接口的组件,主要含有下面这些内容,Swing,组件,Accessibility API,Drag and Drop,的支持,(,仅限于,Java2,平台,),Java2D API,5,2,、,JFC,的出现与技术构成,Swing,组件,Swing,组件中,包含了我们在,Windows,平台中所见到的几乎所有组件,从按钮、工具条对话框到菜单和窗口等,可以使用,Swing,创建功能强大、界面友好的、类,Windows,的,GUI,。,Accessibility API,(可访问的,API,),辅助技术,(,或系统,),对于那些需要额外的帮助的残疾人来说是很有用的:辅助系统包括屏幕阅读器、屏幕放大器以及语音识别系统,Java2D API(,仅限于,Java2,平台,),,使开发者能够在应用程序或,Applet,中编写高质量的,2D,图形、文本和图象。,Drag and Drop,的支持,(,仅限于,Java2,平台,),在,Java,应用程序和,native,应用程序之间提供了,drag and drop,的能力,Java2D API,在,Java,程序设计中,,AWT,中的,API,在一定程度上支持图像处理,随着,Java,技术逐步成熟,人们认识到。有必要将更复杂的图像处理,API,引入,Java,6,3,、,Swing,组件与,AWT,组件的区别,Swing,组件与,AWT,组件的最大不同是:,Swing,组件完全由,Java,语言实现,功能更强大,而,AWT,而不是。,Swing,组件还提供了,AWT,组件无法实现的功能:,Swing,的按钮和标签可以显示图像,而在,AWT,只能显示文本。,可以很容易地增加或改变大多数,Swing,组件的边界,例如,可以将一个盒子放到一个容器或标签之外。,通过调用,Swing,组件上的方法或创建一个子类,可以很容易地改,Swing,组件的行为外观,Swing,组件可以不是矩形,例如,按钮可以是椭圆形,Accessibility,技术,(,例如触摸屏,),可以很容易地从,Swing,组件得到信息,在,Swing,中,可以指定程序中,GUI,的,look and feel,,真正做到,GUI,与平台无关,但在,AWT,中则不行,7,4,、,Swing,组件的特点,组件的多样化,Swing,是,AWT,的扩展,它提供了许多新的图形界面组件。除了有与,AWT,类似的按钮(,JButton,)、标签(,JLabel,)、复选框(,JCheckBox,)、菜单(,JMenu,)等基本组件外,还增加了一个丰富的高层组件集合,如表格(,JTable,)、树(,JTree,)。,可存取性支持,所有,Swing,组件都实现了,Accessible,接口,提供对可存取性的支持,使得辅助功能如屏幕阅读器能够十分方便的从,Swing,组件中得到信息。,8,4,、,Swing,组件的特点,支持键盘操作,在,Swing,组件中,使用,JComponent,类的,registerKeyboardAction,方法,能使用户通过键盘操作来替代鼠标驱动,GUI,上,Swing,组件的相应动作。,设置边框,对,Swing,组件可以设置一个和多个边框。,Swing,中提供了各式各样的边框供用户选用,也能建立组合边框或自己设计边框。,使用图标(,Icon,),与,AWT,的部件不同,许多,Swing,组件如按钮、标签,除了使用文字外,还可以使用图标修饰自己。,9,5,、,Swing,的类层次结构,在,javax.swing,包中,定义了两种类型的组件:顶层容器(,JFrame,,,JApplet,,,JDialog,和,JWindow,)和轻量级组件。,Swing,组件都是,AWT,的,Container,类的直接子类和间接子类。,java.awt.Component,-java.awt.Container,-java.awt.Window,-java.awt.Frame-javax.swing.JFrame,-java.awt.Dialog-javax.swing.JDialog,-javax.swing.JWindow,-java.awt.Panel-java.applet.Applet-javax.swing.JApplet,-javax.swing.Box,-javax.swing.JComponet,10,5,、,Swing,的类层次结构,swing,包是,Swing,提供的最大包,它包含将近,100,个类和,25,个接口,几乎所有的,Swing,组件都在,swing,包中,只有,JtableHeader,和,JtextComponent,是例外,它们分别在,swing.table,和,swing.text,中。,swing.event,包中定义了事件和事件监听器类,与,AWT,的,event,包类似。它们都包括事件类和监听器接口。,swing.table,包中主要包括了表格组建(,JTable,)的支持类。,swing.tree,同样是,JTree,的支持类。,swing.text,、,swing.text.html,、,swing.text.html.parser,和,swing.text.rtf,都是用于显示和编辑文档的包。,11,6,、,JComponent,组件的分类,JComponent,是一个抽象类,用于定义所有子类组件的一般方法,其类层次结构如下所示:,java.lang.Object,|,+-java.awt.Component,|,+-java.awt.Container,|,+-javax.swing.JComponent,并不是所有的,Swing,组件都继承于,JComponent,类,如,JFrame,、,JDialog,、,JApplet,。,JComponent,类继承于,Container,类,所以凡是此类的组件都可作为容器使用。,12,6,、,JComponent,组件的分类,组件从功能上分可分为:,1),顶层容器:,JFrame,JApplet,JDialog,JWindow,共,4,个,2),中间容器:,JPanel,JScrollPane,JSplitPane,JToolBar,3),特殊容器:在,GUI,上起特殊作用的中间层,如,JInternalFrame,JLayeredPane,JRootPane.4),基本控件:实现人际交互的组件,如,Jbutton,JComboBox,JList,JMenu,JSlider,JtextField,等。,5),不可编辑信息的显示:向用户显示不可编辑信息的组件,例如,JLabel,JProgressBar,ToolTip,。,6),可编辑信息的显示:向用户显示能被编辑的格式化信息的组件,如,JColorChooser,JFileChooser,JTable,JTextArea,。,13,6,、,JComponent,组件的分类,JComponent,组件类的特殊功能又分为:,1),边框设置:使用,setBorder(),方法可以设置组件外围的边框,使用一个,EmptyBorder,对象能在组件周围留出空白。,2),双缓冲区:使用双缓冲技术能改进频繁变化的组件的显示效果。与,AWT,组件不同,,JComponent,组件默认双缓冲区,不必自己重写代码。如果想关闭双缓冲区,可以在组件上施加,setDoubleBuffered(false),方法。,3),提示信息:使用,setTooltipText(),方法,为组件设置对用户有帮助的提示信息。,4),键盘导航:使用,registerKeyboardAction(),方法,能使用户用键盘代替鼠标来驱动组件。,JComponent,类的子类,AbstractButton,还提供了便利的方法用,setMnemonic(),方法指明一个字符,通过这个字符和一个当前,L&F,的特殊修饰共同激活按钮动作。,5),可插入,L&F,:每个,Jcomponent,对象有一个相应的,ComponentUI,对象,为它完成所有的绘画、事件处理、决定尺寸大小等工作。,ComponentUI,对象依赖当前使用的,L&F,用,UIManager.setLookAndFeel(),方法可以设置需要的,L&F.,6),支持布局:通过设置组件最大、最小、推荐尺寸的方法和设置,X,、,Y,对齐参数值的方法能指定布局管理器的约束条件,为布局提供支持。,14,7,、使用,Swing,的基本规则,与,AWT,组件不同,,Swing,组件不能直接添加到顶层容器中,它必须添加到一个与,Swing,顶层容器相关联的内容面板(,content pane,)上。,内容面板是顶层容器包含的一个普通容器,它是一个轻量级组件。基本规则如下:(,1,)把,Swing,组件放入一个顶层,Swing,容器的内容面板上(,2,)避免使用非,Swing,的重量级组件。,对,JFrame,添加组件有两种方式:(,1,)用,getContentPane(),方法获得,JFrame,的内容面板,再对其加入组件:,frame.getContentPane().add(childComponent),(,2,)建立一个,JPanel,或,JDesktopPane,之类的中间容器,把组件添加到容器中,用,setContentPane(),方法把该容器置为,JFrame,的内容面板:,JPanel contentPane=new JPanel();,/,把其它组件添加到,JPanel,中,;,frame.setContentPane(contentPane);,/,把,contentPane,对象设置成为,JFrame,的内容面板,15,Swing,窗口层次,Swing,窗口包含,5,个层次,顶层容器,(Top level Container),:窗口容器对象,可以再加入其他的窗口对象,根面板,(Root Pane):,是顶层容器中包含的最内层,一般无法在这一层进行操作,层次面板,(Layered Pane):,加上此层上的对象可以设定其层次,不会被内容面板中的对象屏蔽,内容面板,(Content Pane):,大部分的可视对象都放在这一层上,一般程序中必须用,getContentPane(),方法来获取内容面板,玻璃面板,(Glass Pane):,主要用于产生绘图效果以及触发窗口程序的各种事件,16,窗口,Content Pane,Glass Pane,Root Pane,Layered Pane,17,7,、,Swing,程序结构简介,Swing,的程序设计一般可按照下列流程进行:,1,导入,Swing,包,2,选择,外观和感觉,(look and feel),3,设置顶层容器,4,设置组件,5,增加组件到容器,6,进行事件处理,18,8,、,Swing,编程步骤,1,、导入,Swing,包,首先必须导入,Swing,包:,import javax.swing.*;,在大多数,Swing,程序中,可能还需要导入两个主要的,AWT,包:,import java.awt.*;,import java.awt.event.*;,19,8,、,Swing,编程步骤,2,、选择,外观和感觉,(Look and Feel),Swing,允许在程序中指定,Look and Feel(,有,Java,Windows,CDE/Motif,样式,),。可以使用,UIManager.setLookAndFeel,方法指定,如果希望使用程序当前运行平台所用的,Look And Feel,,可以使用,UIManager.getSystemLookAndFeelClassName(),方法。当然,还可以直接使用实际的类名来指定,如果每次都使用固定的,Look and Feel,,还可以通过在程序之外设置环境变量来实现,20,8,、,Swing,编程步骤,2,、选择,外观和感觉,(Look and Feel),例:使用,getCrossPlatformLookAndFeelClassName,方法得到跨平台的,Look and Feel(,即,Java,样式,),public static void main(String args),try,UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName();,catch(Exception e).,对于,UIManager.setLookAndFeel,方法,可以使用下面的参数来设置:,getSystemLookAndFeelClassName(),指定当前平台所使用的,Look and Feel,。,Win32,平台,(Windows,样式,),Mac OS(Mac,样式,),SUn,平台,(CDE/Motif,样式,),21,8,、,Swing,编程步骤,2,、改变,外观和感觉,(Look and Feel),在设置了,Look and Feel,之后,还可以使用下面的代码来改变,Look and Feel,:,UIManager.setLookAndFeel(InfName);,SwingUtilities.updateComponentTreeUI(frame);,frame.pack();,如果每次都使用固定的,Look and Feel,,还可以通过在程序之外设置环境变量来实现。在,J2SE,的,HOME,目录下,找到,lib,子目录,创建一个文件,swing.properties(,如果不存在,),,在文件中加入类似于下面的内容:,#Swing properties,swing.defaultlaf=com.sun.java.swing.plaf.motif.MotifLookAndFeel,22,8,、,Swing,编程步骤,3,、设置顶层容器,在,Swing GUI,程序中,至少应包含有一个顶层,Swing,容器。对于大多数程序而言,顶层的,Swing,容器是,JFrame,JDialog,或,JApplet,。,每一个,JFrame,对象实现一个主窗口,每一个,JDialog,对象实现一个二级窗口,每一个,JApplet,对象在浏览器窗口中实现一个,Applet,的显示域,顶层,Swing,容器向其上的,Swing,组件提供了绘画和事件处理的支持。,23,8,、,Swing,编程步骤,3,、设置顶层容器,即使是最简单的,Swing,程序,也会包含多个层次,其根总是顶层容器,其他所有容器或组件都被放置在根容器中。,每一个顶层容器间接第含有一个中间容器,称为内容窗格,(content,pane),。对于大多数程序,我们无需知道在顶层容器和内容窗格之间有些什么。内容窗格直接或间接的含有所有可见的组件,但是,如果顶层容器有一个菜单条,那么菜单条通常被放置在内容窗格之外的某个位置。,增加一个组件到一个容器,可以使用,add,方法。,add,方法至少应有一个参数,即需增加的组件,而且,有时可能还需要另外一个参数来提供布局信息。,24,8,、,Swing,编程步骤,4,、设置组件,这一步中,主要是实例化相关,Swing,组件,并进行相关设置。,JButton bt=new JButton(Im a Swing button!);,bt.setMnemonic(keyEvent.VK-I);,bt.addActionListener(.create an action listener.);,25,8,、,Swing,编程步骤,5,、增加组件到容器,JPanel pane=new JPanel();,pane.setBorder(BorderFactory.createEmptyBorder(30,30,10,30);,pane.setLayout(new GridLayout(0,1);,pane.add(button);,pane.add(label);,代码段的第一行是创建一个,JPanel,对象,pane,;第二行为,JPanel,对象增加一个边界;第三行是设置一个布局管理器,最后两行是将,button,和,label,添加进,pane,中。,26,8,、,Swing,编程步骤,6,、进行事件处理,Swing,组件的事务处理模式与,AWT,一样,在这里就不再重复。,jbtn.addActionListener(this);,public void actionPerformed(ActionEvent e),numClicks+;,jlbl.setText(lblPrefix+numClicks);,WindowListener wl=new WindowAdapter(),public void windowClosing(WindowEvent e),System.exit(0);,27,import java.awt.*;,import java.awt.event.*;,import javax.swing.*;,import javax.accessibility.*;,public class HelloSwing implements ActionListener,JFrame jFrame;JLabel jLabel;JPanel jPanel;,JButton jButton;AccessibleContext accContext;,String labelPrefix=Number of button clicks;,int numClicks=0;,public void go(),jFrame=new JFrame(Hello Swing);,jLabel=new JLabel(labelPrefix+0);,jButton=new JButton(I am a Swing button);,jButton.setMnemonic(i);/,快捷键,jButton.addActionListener(this);,accContext=jButton.getAccessibleContext();,accContext.setAccessibleDescription(Pressing this button increments+the number of button clicks);,jPanel=new JPanel();,jPanel.setBorder(BorderFactory.createEmptyBorder(30,30,10,30);,jPanel.setLayout(new GridLayout(0,1);,jPanel.add(jButton);,jPanel.add(jLabel);,jFrame.setContentPane(jPanel);,WindowListener wl=new WindowAdapter(),public void windowClosing(WindowEvent e),System.exit(0);,jFrame.addWindowListener(wl);jFrame.pack();jFrame.setVisible(true);,public void actionPerformed(ActionEvent e),numClicks+;,jLabel.setText(labelPrefix+numClicks);,public static void main(String args),HelloSwing hs=new HelloSwing();hs.go();,布局管理器,和,AWT,相同,为了容器中的组件能实现平台无关的自动合理排列,,Swing,也采用了布局管理器来管理组件的排放、位置、大小等布置任务,在此基础上将显示风格做了改进。,另外一个不同点在于,Swing,虽然有顶层容器,但是我们不能把组件直接加到顶层容器中,,Swing,窗体中含有一个称为内容面板的容器(,ContentPane,),在顶层容器上放内容面板,然后把组件加入到内容面板中,前面已讲过如何得到和设置内容面板。,所以,在,Swing,中,设置布局管理器是针对于内容面板的,另外,Swing,新增加了一个,BoxLayout,布局管理器。显示上与,AWT,略有不同,.,28,布局管理器,现在简单介绍一下,BoxLayout,布局管理器,BoxLayout,布局管理器按照自上而下(,y,轴)或者从左到右(,x,轴)的顺序布局依次加入组件。建立一个,BoxLayout,对象,必须指明两个参数:被布局的容器和,BoxLayout,的主轴。缺省情况下,组件在纵轴方向上居中对齐。设置布局管理器的方法如下:,pane.setLayout(new BoxLayout(pane,,,BoxLayout.Y-AXIS);,五个常用的布局管理器,BorderLayout,BoxLayout,FlowLayout,GridLayout,GridBagLayout,29,30,31,Swing,组件,-JFrame(,顶层容器,),JFrame,类是,java.awt,包中的,Frame,类的子类,,JFrame,类创建的对象是窗体。,JFrame,类是重量组件,JFrame,与,Frame,的不同:,不把组件直接添加到,Swing,窗体中,Swing,窗体上有一个称为内容面板的容器,应把组件添加到内容面板中,不要为窗体设置布局,而应为内容面板设置布局,默认为,BordeLayout,内容面板可以能过窗体的,getContentPane(),方法获得,示例:,JFrame,32,import javax.swing.*;import java.awt.*;import java.awt.event.*;,public class JFrameDemo,public static void main(String args),JButton button=new JButton(,轻组件按钮,);,JTextArea text=new JTextArea(,轻组件,20,20);,JFrame jframe=new JFrame(,根窗体,);,jframe.setSize(200,300);jframe.setBackground(Color.blue);,jframe.setVisible(true);jframe.pack();,jframe.addWindowListener(new WindowAdapter(),public void windowClosing(WindowEvent e),System.exit(0);,);,Container contentpane=jframe.getContentPane();/,获得内容面板。,contentpane.add(button,BorderLayout.SOUTH);/,向内容面板加入组件。,contentpane.add(text,BorderLayout.CENTER);,jframe.pack();,33,import javax.swing.*;import java.awt.*;import java.awt.event.*;,class Mywindow extends JFrame,JButton button;JTextArea text;,Mywindow(),setSize(200,400);setVisible(true);,Container con=getContentPane();con.setLayout(new FlowLayout();,button=new JButton(ok);text=new JTextArea(10,20);,con.add(button);con.add(text);pack();,addWindowListener(new WindowAdapter(),public void windowClosing(WindowEvent e),System.exit(0);,);,public class Example25_2,public static void main(String args),Mywindow win=new Mywindow();win.pack();,34,import javax.swing.*;import java.awt.*;import java.awt.event.*;,class Dwindow extends JFrame/,建立根窗体用的类。,JButton button1,button2;,Dwindow(String s),super(s);,Container con=getContentPane();,button1=new JButton(,打开,);button2=new JButton(,关闭,);,con.add(button1);con.add(button2);pack();setVisible(true);,addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e),System.exit(0););,class Mydialog extends JDialog/,建立对话框类。,JButton button1,button2;,Mydialog(JFrame F,String s)/,构造方法。,super(F,s);,button1=new JButton(open);button2=new JButton(close);,setSize(90,90);setVisible(true);setModal(false);,Container con=getContentPane();con.setLayout(new FlowLayout();,con.add(button1);con.add(button2);,addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e),System.exit(0););,public class JDialogDemo extends JApplet,Dwindow window;Mydialog dialog;JButton button;,public void init(),window=new Dwindow(,带对话框窗口,);/,创建窗口。,dialog=new Mydialog(window,我是对话框,);/,创建依赖于窗口,window,的对话框。,button=new JButton(ok);getContentPane().add(button);,35,中间容器,JPanel,面板,JScrollPane,滚动窗口,JSplitPane,拆分窗口,JInternalFrame,内部窗体,36,面板,JPanel,在,Swing,界面中,面板经常扮演着小容器的角色,用来放置部分组件,特别是在布局时,JPanel,是一个通用容器,它,没有边框,或其它可见的边界,不能移动、放大、缩小或关闭,无法独立显示,必须放到,JFrame,或,JApplet,中。,Jpanel,没 有显示,只显示 其中的控件,JPanel,的默认布局管理器是,FlowLayout,37,面板,JPanel,JPanel,本身没有特殊 功能,作用就是作为非顶级容器添加普通控件。,构造方法:,JPanel(),JPanel(LayoutManager layout),建立一个布局管理器为,layout,的,JPanel,对象,常用方法:,add(),向面板中添加组件的方法,JPanel,一般只用它父类的方法,JScrollPane,滚动条面板,JScrollPane,管理视图、可选的垂直和水平滚动条以及可选的行和列标题视口,构造方法:,JScrollPane(),建立一个空的,JScrollPane,对象。,JScrollPane(Component view),建立一个新的,JScrollPane,对象,当组件内容大于显示区域时会自动产生滚动轴。,JScrollPane(Component view,int vsbPolicy,int hsbPllicy),建立一新的,JScrollPane,对象,里面含有显示组件,并设置滚动轴出现时机。,JScrollPane(int vsbPolicy,int hsbPolicy),:建立一个新的,JScrollPane,对象,里面不含有显示组件,但设置滚动轴出现时机。,38,JScrollPane,滚动条面板,JScrollPane,或利用下面这些参数来设置滚动轴的出现的时机,这些参数是定义在,ScrollPaneConstants,接口中,,JScrollPane,类实现此界面,因此能使用这些参数:,HORIZONTAL_SCROLLBAR_ALAWAYS,:显示水平滚动轴。,HORIZONTAL_SCROLLBAR_AS_NEEDED,:当组件内容水平区域大于显示区域时出现水平滚动轴。,HORIZONTAL_SCROLLBAR_NEVER,:不显示水平滚动轴。,VERTICAL_SCROLLBAR_ALWAYS,:显示垂直滚动轴。,VERTICAL_SCROLLBAR_AS_NEEDED,:当组件内容垂直区域大于显示区域时出现垂直滚动轴,VERTICAL_SCROLLBAR_NEVER,:不显示垂直滚动轴。,39,JLabel,标签,标签不可以进行输入,不能接收键盘焦点,是一种非交互性组件,JLabel,除了可以显示文字外,还可以显示图形,构造方法:,JLabel(),建立一个没有标题、没有图标的,JLabel,对象,JLabel(Stringtext),建立一个初始内容为,text,没有图标的的,JLabel,对象,JLabel(Iconimage),建立一个初始图标为,ico,没有标题的,JLabel,对象,JLabel(Iconimage,inthorizontalAlignment),建立一个具有指定图像和水平对齐方式的,JLabel,对象。,JLabel(Stringtext,Iconicon,inthorizontalAlignment),创建具有指定文本、图像和水平对齐方式的,JLabel,实例,JLabel(Stringtext,inthorizontalAlignment),创建具有指定文本和水平对齐方式的,JLabel,实例。,40,41,JLabel,标签,常用方法:,String getText(),void setText(String str),void setToolTipText(String str),void setHorizontalAlignment(int align),int getHorizontalAlignment(),void setHorizontalTextPosition(int pos),Icon getIcon(),void setIcon(Icon icon),void setIconTextGap(int gap),int getIconTextGap(),常用事件:,MouseEvent,、,MouseMotionEvent,、,KeyEvent,、,FocusEvent,、,ComponetEvent,42,按钮,按钮指的是从,AbstractButton,派生出的组件类,包括普通按钮,(JButton),、复选框,(JCheckBox),、单选按钮,(JRadioButton),、普通菜单项,(JMenuItem),、复选菜单项,(JCheckBoxMenuItem),、单选菜单项,(JRadioButtonMenuItem),和,JToggleButton(,开关按钮,),等,具体查看,API,文档,JCheckBox,JToggleButton,JButton,JComponent,AbstractButton,JRadioButton,43,JButton,普通按钮,JButton,上可以显示图片,制作的按钮丰富多彩,鼠标的进入、离开、按住都可以通过不同的图片来反映,并可为按钮提供提示信息,构造方法:,JButton(),创建不带有设置文本或图标的按钮,JButton(Iconicon),创建一个带图标的按钮,JButton(Stringtext),创建一个带文本的按钮,JButton(Stringtext,Iconicon),创建一个带初始文本和图标的按钮。,JButton,普通按钮,常用方法:,String getText(),void setText(String txt),void setToolTipText(String txt),Icon getIcon(),void setIcon(Icon icon),Icon getDisableIcon(),void setDisableIcon(Icon icon),Icon getPressedIcon(),void setPressedIcon(),Icon getRolloverIcon(),void setRolloverIcon(Icon icon),关联事件:,ActionEvent,、,MouseEvent,、,MouseMotionEvent,、,KeyEvent,、,FocusEvent,、,ComponentEvent,,通常处理,ActionEvent,即可,44,JToggleButton,开关按钮,JToggleButton,有两种状态,用鼠标单击时自动在两种状态间切换,构造方法:,JToggleButton,(),创建最初未选定的切换按钮,不设置文本或图像。,JToggleButton,(Iconicon),创建一个最初未选定的切换按钮,该按钮具有指定的图像但是没有文本。,JToggleButton,(Iconicon,booleanselected),创建具有指定图像和选择状态但没有文本的切换按钮。,JToggleButton,(Strin
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服