




已阅读5页,还剩83页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第10章Swing组件及应用,10.1Swing简介,10.1Swing简介,Swing窗口远比AWT的窗口复杂,Swing窗口包含了5个层次。(1)顶层容器TopLevelContainer顶层容器TopLevelContainer是一个窗口容器对象,在这样的一个对象里可以再加入其他的窗口对象。JFrame、JApplet、JDialog等就可以作为顶层容器TopLevelContainer。(2)根面板RootPane根面板RootPane:是顶层容器TopLevelContainer中所包含的最内层,通常我们无法在这一层做操作与处理。(3)层次面板LayeredPane加入在层次面板LayeredPane中对象可以设定其层次,而不会被内容面板ContentPane中对象屏蔽。(4)内容面板ContentPane大部分的可视对象都放在内容面板ContentPane中,一般在程序中必须用getContentPane()方法来获取窗口容器,然后将其加到这一层中。(5)玻璃面板GlassPane在玻璃面板GlassPane这一层次上主要用来产生绘图效果,以及触发窗口程序的各种事件。,10.1Swing简介,Swing包是JFC的一部分,由许多包组成。javax.swing包含了图形用户界面所需的基本组件和工具。,10.2.1窗口JFrame,1构造函数格式:JFrame()功能:建立一个无标题的JFrame。格式:JFrame(Stringtitle)功能:建立一个标题为title的JFrame。格式:JFrame(GraphicsConfigurationgc)功能:建立一个无标题但要求指定配置显示设备的JFrame。格式:JFrame(Stringtitle,GraphicsConfigurationgc)功能:建立一个标题为title、显示设备配置为gc的JFrame。2常用方法因为JFrame继承了Frame,所以Frame的几乎所有方法,JFrame都具有。,10.2.1窗口JFrame,【例10.1】建立一个JFrame对象,运行的结果为图,注意程序及运行结果的差异。,程序如下:importjava.awt.*;importjavax.swing.*;/用到Swing组件,必须引用java.swing包publicclassMyJFramepublicstaticvoidmain(Stringargs)JFramefr=newJFrame();/创建一个无标题的JFrame对象frfr.setTitle(这是一个JFrame,它不同于AWT的Frame);/将fr的标题设为这是一个JFrame,它不同于AWT的FrameFlowLayoutfl=newFlowLayout();/创建一个布局管理器FlowLayout的对象,10.2.1窗口JFrame,fr.getContentPane().setLayout(fl);/设定窗口fr的布局管理器为fl/注意:这里必须先用getContentPane()方法,这是与Fame不同的fr.setSize(400,300);/设定fr的宽度为400,高度为300fr.getContentPane().setBackground(Color.green);/设定fr的背景色为绿色。/注意:这里应该先用getContentPane()方法,/否则设置的颜色看不到,这是与Fame不同的fr.setLocation(300,500);/设定fr左上角的初始位置为(300,500)fr.setResizable(true);/设定fr为可调整大小fr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/设定窗口可以关闭。在AWT的Frame中要注册监听器的代码fr.setVisible(true);,10.2.2容器JPanel,1构造函数格式:JPanel()功能:建立一个JPanel对象。格式:JPanel(LayoutManagerlayout)功能:建立一个JPanel对象,其布局管理器为layout。2常用方法JPanel一般只用它父类的方法,它自己几乎没有增加或重写父类的方法。【例10.2】建立一个JFrame对象和JPanel对象,运行的结果为图,和AWT的Frame及Panel相比,注意程序及运行结果的差异。,10.2.2容器JPanel,程序如下:importjava.awt.*;importjavax.swing.*;publicclassMyJPanelpublicstaticvoidmain(Stringargs)JFramefr=newJFrame();fr.setTitle(JPanel的用法);BorderLayoutbl=newBorderLayout();/创建一个布局管理器BorderLayout的对象blfr.getContentPane().setLayout(bl);/设定窗口fr的布局管理器为bl/注意:这里必须先用getContentPane()方法JPaneljp=newJPanel(newGridLayout(2,2);/创建一个面板容器JPanel的对象jp,布局为2行2列的GridLayoutfr.getContentPane().add(Center,jp);/将容器jp加到窗口fr的中央JLabeljl=newJLabel(thisisatest);/创建一个标签JLabel的对象jl,其标题为thisisatestfr.getContentPane().add(South,jl);/将标签jl加到窗口fr的南部,这里必须先用getContentPane()方法,10.2.2容器JPanel,JLabell1=newJLabel(First,JLabel.CENTER);jp.add(l1);/将标签jl加到容器jp中JLabell2=newJLabel(Second,JLabel.CENTER);jp.add(l2);JLabell3=newJLabel(Third,JLabel.CENTER);jp.add(l3);Fontft=newFont(Serif,Font.BOLD,18);/定义一个字体对象ftjl.setFont(ft);/设定jl的字体l1.setFont(ft);l2.setFont(ft);l3.setFont(ft);fr.getContentPane().setBackground(Color.green);/设定fr的背景色为绿色fr.setLocation(300,500);/设定窗口的初始显示位置fr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/设定窗口可以关闭fr.setSize(400,300);fr.setResizable(true);fr.setVisible(true);,10.3.1标签JLabel,1.构造函数格式:JLabel()功能:建立一个没有标题、没有图标的JLabel对象。格式:JLabel(Stringtxt)功能:建立一个JLabel对象,其初始标题为txt,没有图标。格式:JLabel(Stringtxt,inthalign)功能:建立一个JLabel对象,其初始标题为txt,水平对齐方式为halign,没有图标。其中halign的值为LEFT、RIGHT、CENTER分别代表左对齐、右对齐、居中。格式:JLabel(Iconico)功能:建立一个JLabel对象,其初始图标为ico,没有标题。格式:JLabel(Stringtxt,Iconico,inthalign)功能:建立一个JLabel对象,其初始标题为txt,初始图标为ico,水平对齐方式为halign。格式:JLabel(Iconico,inthalign)功能:建立一个JLabel对象,其图标为ico,水平对齐方式为halign,没有标题。2.常用方法,10.2.2容器JPanel,3.常用事件,10.3.2命令按钮JButton,1.构造函数格式:JButton()功能:建立一个没有标题、没有图标的JButton对象。格式:JButton(Stringtxt)功能:建立一个标题为txt的JButton对象,没有图标。格式:JButton(Iconico)功能:建立一个JButton对象,图标为ico,没有标题。格式:JButton(Stringtxt,Iconico)功能:建立一个JButton对象,标题为txt,图标为ico。2常用方法,3常用事件与按钮JButton关联的事件一般是:ActionEvent、MouseEvent、MouseMontionEvent、KeyEvent、FocusEvent、ComponentEvent。通常处理ActionEvent就可以了。,10.3.3单行文本编辑框JTextField,1.构造函数格式:JTextField()功能:建立初始文字为空的JTextField对象。格式:JTextField(Stringtxt)功能:建一个初始文字为txt的JTextField对象。格式:JTextField(intlen)功能:建立一个列数为len个字符的JTextField对象。格式:JTextField(Stringtxt,intlen)功能:建立一个初始文字为txt、列数为len个字符的JTextField对象。2常用方法,10.3.4多行文本编辑框JTextArea,1.构造函数格式:JTextArea()功能:建立一个初始文字为空的JTextArea对象。格式:JTextArea(Stringtxt)功能:建立一个初始文字为txt的JTextArea对象。格式:JTextArea(introws,intcols)功能:建立一个rows行、cols列的JTextArea对象。格式:JTextArea(Stringtxt,introws,intcols)功能:建立一个初始文字为txt、rows行、cols列的JTextArea对象。2常用方法,3常用事件与多行文本编辑框JTextArea关联的事件一般是:TextEvent、MouseEvent、MouseMontionEvent、KeyEvent、FocusEvent、ComponentEvent。,10.3.4多行文本编辑框JTextArea,JTextArea类的几个常用的方法,10.3.5口令输入框JPasswordField,1.构造函数格式:JPasswordField()功能:建立一个初始文字为空的JPasswordField对象。格式:JPasswordField(Stringtxt)功能:建立一个初始文字为txt的JPasswordField对象。格式:JPasswordField(intlen)功能:建立一个列数为len个字符的JPasswordField对象。格式:JPasswordField(Stringtxt,intlen)功能:建立一个初始文字为txt、列数为len个字符的JPasswordField对象。2常用方法,3.常用事件,10.3.6开关按钮JToggleButton,1.构造函数格式:JToggleButton()功能:建立一个无标题、无图片的开关按钮。格式:JToggleButton(Stringtxt)功能:建立一个标题为txt但没有图片的开关按钮。格式:JToggleButton(Iconico)功能:建立一个图片为ico但没有标题的开关按钮。格式:JToggleButton(Stringtxt,Iconico)功能:建立一个标题为txt、图片为ico的开关按钮。格式:JToggleButton(Stringtxt,booleanstat)功能:建立一个标题为txt但没有图片的开关按钮,其初始选择状态由stat指定。格式:JToggleButton(Iconico,booleanstat)功能:建立一个图片为ico但没有标题的开关按钮,其初始选择状态由stat指定。格式:JToggleButton(Stringtxt,Iconico,booleanstat)功能:建立一个标题为txt、图片为ico的开关按钮,其初始选择状态由stat指定。,10.3.6开关按钮JToggleButton,10.3.6开关按钮JToggleButton,3.常用事件与开关按钮JToggleButton关联的事件一般是:ActionEvent、MouseEvent、MouseMontionEvent、KeyEvent、FocusEvent、ComponentEvent。通常处理ActionEvent就可以了。例如,在程序中可以用一个JToggleButton按钮表示“打开”、“关闭”两种操作,在该按钮的ActionEvent事件中我们可以编写如下程序:if(jtogglebutton.isSelected()/如果按钮处于选中状态jtogglebutton.setText(“打开”);/将按钮的标题改为“打开”./处理“打开”时要做的程序代码else/如果按钮处于未选状态jtogglebutton.setText(“关闭”);/将按钮的标题改为“关闭”./处理“关闭”时要做的程序代码,10.3.7复选按钮JCheckBox,1.构造函数格式:JCheckBox()功能:建立一个无标题、无图片的复选按钮。格式:JCheckBox(Stringtxt)功能:建立一个标题为txt但没有图片的复选按钮。格式:JCheckBox(Iconico)功能:建立一个图片为ico但没有标题的复选按钮。格式:JCheckBox(Stringtxt,Iconico)功能:建立一个标题为txt、图片为ico的复选按钮。格式:JCheckBox(Stringtxt,booleanstat)功能:建立一个标题为txt但没有图片的复选按钮,其初始选择状态由stat指定。格式:JCheckBox(Iconico,booleanstat)功能:建立一个图片为ico但没有标题的复选按钮,其初始选择状态由stat指定。格式:CheckBox(Stringtxt,Iconico,booleanstat)功能:建立一个标题为txt、图片为ico的复选按钮,其初始选择状态由stat指定。2常用方法复选按钮JCheckBox的常用方法和开关按钮JToggleButton相同3常用事件与复选按钮JCheckBox关联的事件一般是:ItemEvent、MouseEvent、MouseMontionEvent、KeyEvent、FocusEvent、ComponentEvent。,10.3.8单选按钮JRadioButton,1.构造函数格式:JRadioButton()功能:建立一个无标题、无图片的单选按钮。格式:JRadioButton(Stringtxt)功能:建立一个标题为txt但没有图片的单选按钮。格式:JRadioButton(Iconico)功能:建立一个图片为ico但没有标题的单选按钮。格式:JRadioButton(Stringtxt,Iconico)功能:建立一个标题为txt、图片为ico的单选按钮。格式:JRadioButton(Stringtxt,booleanstat)功能:建立一个标题为txt但没有图片的单选按钮,其初始选择状态由stat指定。格式:JRadioButton(Iconico,booleanstat)功能:建立一个图片为ico但没有标题的单选按钮,其初始选择状态由stat指定。格式:JRadioButton(Stringtxt,Iconico,booleanstat)功能:建立一个标题为txt、图片为ico的单选按钮,其初始选择状态由stat指定。2常用方法单选按钮JRadioButton的常用方法和开关按钮JToggleButton相同3常用事件与单选按钮JRadioButton关联的事件一般是:ItemEvent、MouseEvent、MouseMontionEvent、KeyEvent、FocusEvent、ComponentEvent。,10.3.9按钮组ButtonGroup,1.构造函数格式:ButtonGroup()功能:建立一个按钮组ButtonGroup2常用方法表列出了按钮组ButtonGroup类的几个常用的方法。,10.3.10列表框JList,1.构造函数格式:JList()功能:建立一个单选的JList对象。格式:JList(Objectdata)功能:建立一个单选且初始数据为data的JList对象。例如:Stringstu=王小平,刘国军,吴芬,李建军;Listjl=newJList(stu);这就创建了一个列表框,其初始数据有4项,分别为:王小平、刘国军、吴芬、李建军。2常用方法,3常用事件与JList关联的事件一般是:ActionEvent、ItemEvent、MouseMontionEvent、MouseEvent、KeyEvent、FocusEvent、ComponentEvent。在JList类中,只提供了获取被选择项信息的有关方法,没有提供获取未选项信息的方法,增加、删除的方法也没有,所以使用起来不太方便。,10.3.11下拉列表框JComboBox,1.构造函数格式:JComboBox()功能:建立一个JComboBox对象。格式:JComboBox(Objectitm)功能:建立一个JComboBox对象,其初始项目由数组itm指定。例如:Stringstu=“王小平”,”刘国军”,”吴芬”,”李建军”;JComboBoxjcb=newJComboBox(stu);这就创建了一个下拉列表框jcb,其初始数据有4项,分别为:“王小平”,”刘国军”,”吴芬”,”李建军”。2常用方法,3.常用事件与下拉列表框JComboBox关联的事件一般是:ItemEvent、MouseMontionEvent、MouseEvent、KeyEvent、FocusEvent、ComponentEvent。例如:Stringstu=王小平,刘国军,吴芬,李建军;JComboBoxjcb=newJComboBox(stu);要获得下拉列表框jcb中当前选择的项,可以这样实现:Stringitm;itm=(String)jcb.getSelectedItem();itm是String类型,这里必须将getSelectedItem()得到的值进行强制类型转换。,10.3.11下拉列表框JComboBox,下拉列表框JComboBox的常用方法,10.4.1菜单,Swing中的菜单和AWT中菜单基本类似,每个菜单组件包括一个菜单条,称为JMenuBar。每个JMenuBar由若干个菜单项组成,称为JMenu。每个JMenu又由若干个子菜单项组成,称为JMenuItem。JMenuBar、JMenu、JMenuItem是构成菜单的三个基本要素。如图,10.4.1菜单,1JMenuBar每个窗口都可以有一个菜单条JMenuBar(最多一个),JMenuBar的类层次关系为:java.lang.Object|+-java.awt.Component|+-java.awt.Container|+-javax.swing.JComponent|+-javax.swing.JMenuBar格式:JMenuBar()功能:创建一个JMenuBar对象。,10.4.1菜单,2JMenu每个菜单条JMenuBar都有若干个主菜单JMenu,JMenu是JMenuItem的扩展,JMenu的类层次关系为:java.lang.Object|+-java.awt.Component|+-java.awt.Container|+-javax.swing.JComponent|+-javax.swing.AbstractButton|+-javax.swing.JMenuItem|+-javax.swing.JMenu(1)构造函数格式:JMenu()功能:创建一个Menu对象。格式:JMenu(Stringtitle)功能:创建一个标题为title的Menu对象。,10.4.1菜单,(2)常用方法,见表,10.4.1菜单,3JMenuItem每个JMenu一般有若干个JMenuItem,JMenuItem的类层次关系为:java.lang.Object|+-java.awt.Component|+-java.awt.Container|+-javax.swing.JComponent|+-javax.swing.AbstractButton|+-javax.swing.JMenuItem(1)构造函数:格式:JMenuItem()功能:创建一个JMenuItem对象。格式:JMenuItem(Stringtitle)功能:创建一个标题为title的JMenuItem对象。格式:JMenuItem(Iconico)功能:创建一个图片为ico的JMenuItem对象。格式:JMenuItem(Stringtitle,Iconico)功能:创建一个标题为title、图片为ico的JMenuItem对象。,10.4.1菜单,(2)常用方法,4JCheckBoxMenuItemJCheckBoxMenuItem和AWT中的CheckboxMenuItem一样,是一种具有选中和非选中两种状态的菜单项,单击此菜单项可以在这两种状态之间进行切换。选中时,在菜单项前有一个标记“”。,10.4.1菜单,JCheckBoxMenuItem的类层次关系为:java.lang.Object|+-java.awt.Component|+-java.awt.Container|+-javax.swing.JComponent|+-javax.swing.AbstractButton|+-javax.swing.JMenuItem|+-javax.swing.JCheckBoxMenuItem(1)JCheckBoxMenuItem的构造函数常用的有六个:JCheckBoxMenuItem()功能:创建一个JCheckBoxMenuItem对象。JCheckBoxMenuItem(Stringtitle)功能:创建一个标题为title的JCheckBoxMenuItem对象。JCheckBoxMenuItem(Stringtitle,booleanstate)功能:创建一个标题为title、选中状态为state的JCheckBoxMenuItem对象。State的值为true时,表示选中该菜单项,在菜单项前加一个标记“”。,10.4.1菜单,JCheckBoxMenuItem(Iconico)功能:创建一个图片为ico的JCheckBoxMenuItem对象。JCheckBoxMenuItem(Stringtitle,Iconico)功能:创建一个标题为title、图片为ico的JCheckBoxMenuItem对象。JCheckBoxMenuItem(Stringtitle,Iconico,booleanstate)功能:创建一个标题为title、图片为ico、选中状态为state的JCheckBoxMenuItem对象。(2)常用方法,5常用事件与菜单关联的事件一般是:ActionEvent、ItemEvent。在ActionEvent中有一个方法getActionCommand(),返回所选的菜单项名。例如:if(e.getActionCommand()=打开),10.4.3工具栏JToolBar,在java中,使用工具栏的窗口,其布局管理器一般设为BorderLayout,以便可以随意拖到窗口的四周工具栏JToolBar的类层次关系为:java.lang.Object|+-java.awt.Component|+-java.awt.Container|+-javax.swing.JComponent|+-javax.swing.JToolBar1.构造函数格式:JToolBar()功能:建立一个按钮排列方向为水平的JToolBar对象。格式:JToolBar(intdirect)功能:建立一个按钮排列方向为direct的JToolBar对象。其中direct的值为HORIZONTAL或VERTICAL,表示水平或垂直。,10.4.2弹出式菜单JPopupMenu,JPopupMenu的创建与前面的JMenu几乎一样,而且就可以用已有的JMenu来作为JPopupMenu。JPopupMenu的类层次关系为:java.lang.Object|+-java.awt.Component|+-java.awt.Container|+-javax.swing.JComponent|+-javax.swing.JPopupMenu(1)构造函数格式:JPopupMenu()功能:创建一个Menu对象。格式:JPopupMenu(Stringtitle)功能:创建一个标题为title的JPopupMenu对象。,10.4.3工具栏JToolBar,格式:JToolBar(Stringtxt)功能:建立一个标题为txt、按钮排列方向为水平的JToolBar对象。标题是在工具栏变成一个窗口时显示的。格式:JToolBar(Stringtxt,intdirect)功能:建立一个标题为txt、按钮排列方向为direct的JToolBar对象。2常用方法,10.5.1滚动容器JScrollPane,Java在Swing中,是通过滚动容器JScrollPane等组件实现滚动功能的。滚动容器JScrollPane的类层次关系为:java.lang.Object|+-java.awt.Component|+-java.awt.Container|+-javax.swing.JComponent|+-javax.swing.JScrollPane1.构造函数格式:JScrollPane()功能:建立一个JScrollPane对象,根据需要自动提供水平和垂直滚动条。格式:JScrollPane(Componentcomp)功能:建立一个JScrollPane对象显示组件comp,根据组件comp中的显示内容的大小,自动提供水平和垂直滚动条。,10.5.1滚动容器JScrollPane,格式:JScrollPane(Componentcomp,intvsb,inthsb)功能:建立一个JScrollPane对象显示组件comp,其垂直滚动属性由vsb指定,水平滚动属性由hsb指定。其中hsb的值为:JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED:根据需要提供水平滚动条JScrollPane.HORIZONTAL_SCROLLBAR_NEVER:不提供水平滚动条JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS:总是提供水平滚动条vsb的值为:JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED:根据需要提供垂直滚动条JScrollPane.VERTICAL_SCROLLBAR_NEVER:不提供垂直滚动条JScrollPane.VERTICAL_SCROLLBAR_ALWAYS:总是提供垂直滚动条格式:JScrollPane(intvsb,inthsb)功能:建立一个JScrollPane对象,其垂直滚动属性由vsb指定,水平滚动属性由hsb指定。,10.5.1滚动容器JScrollPane,2.常用方法,3.常用事件与滚动容器JScrollPane关联的事件一般是:MouseEvent、MouseMontionEvent、KeyEvent、FocusEvent、ComponentEvent、ContainerEvent。,10.5.2选项卡容器JTabbedPane,选项卡容器JTabbedPane可以用来存放许多标签页,而每一张标签页又可以存放不同的容器或组件,用户只要点击每一张标签页上的标签,便可切换至不同的标签页。选项卡容器JTabbedPane的外观如图,选项卡容器JTabbedPane的类层次关系为:java.lang.Object|+-java.awt.Component|+-java.awt.Container|+-javax.swing.JComponent|+-javax.swing.JTabbedPane,10.5.2选项卡容器JTabbedPane,1.构造函数格式:JTabbedPane()功能:建立一个JTabbedPane对象,标签页上的标签在顶部排列。格式:JTabbedPane(intalign)功能:建立一个JTabbedPane对象,标签的排列位置为align。align的值为:JTabbedPane.TOP,顶部;JTabbedPane.BOTTOM,底部;JTabbedPane.LEFT,左边;JTabbedPane.RIGHT,右边。2.常用方法,3.常用事件与选项卡容器JTabbedPane关联的事件一般是:ChangeEvent,该事件实现了接口ChangeListener,该接口提供了一个方法stateChanged(ChangeEvente),当选择某个标签页时将调用该方法。事件ChangeEvent在包importjavax.swing.event中定义。,10.5.3进度条JProgressBar,进度条JProgressBar的类层次关系为:java.lang.Object|+-java.awt.Component|+-java.awt.Container|+-javax.swing.JComponent|+-javax.swing.JProgressBar1.构造函数格式:JProgressBar()功能:建立一个水平方向的进度条JProgressBar对象,其变化范围是0到100。格式:JProgressBar(intdirect)功能:建立一个方向为direct的进度条JProgressBar对象,其变化范围是0到100。,10.5.3进度条JProgressBar,格式:JProgressBar(intmin,intmax)功能:建立一个水平方向的进度条JProgressBar对象,其范围是min到max。格式:JProgressBar(intdirect,intmin,intmax)功能:建一个方向为direct的进度条JProgressBar对象,其范围是min到max。2.常用方法,10.5.3进度条JProgressBar,3.常用事件多数情况下,进度条JProgressBar仅仅是显示某一过程的进度,因此不需要给进度条JProgressBar注册监听器。,【例10.12】进度条JProgressBar的使用方法,运行界面如图所示。,importjava.awt.event.*;importjava.awt.*;importjavax.swing.*;publicclassJProgressBarTestJFramef=newJFrame(进度条JProgressBar的用法);JButtonok=newJButton(开始);JProgressBarjpb=newJProgressBar(0,200);/定义一个进度条对象,范围是0到200JLabeldisp=newJLabel(当前位置是);Fontft=newFont(Serif,Font.BOLD,18);voidgo(),jpb.setStringPainted(true);jpb.setBorderPainted(false);jpb.setString(进度条正在显示.);/定义进度条上显示的文字f.getContentPane().add(North,ok);f.getContentPane().add(South,jpb);f.getContentPane().add(Center,disp);f.setSize(300,250);f.setVisible(true);ok.addActionListener(newButtonH();f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);jpb.setFont(ft);ok.setFont(ft);disp.setFont(ft);classButtonHimplementsActionListenerpublicvoidactionPerformed(ActionEvente)inti,n=0;doubled=0;Strings;for(i=0;i=200;i+),for(i=0;i=200;i+)jpb.setValue(i);/改变进度条的当前值d=jpb.getPercentComplete();/获取完成百分比s=当前位置是+i+已完成+d*100+%;disp.setText(s);publicstaticvoidmain(Stringarg)JProgressBarTestthat=newJProgressBarTest();that.go();,10.5.4滑动条JSlider,滑动条JSlider的类层次关系为:java.lang.Object|+-java.awt.Component|+-java.awt.Container|+-javax.swing.JComponent|+-javax.swing.JSlider,1.构造函数格式:JSlider()功能:建立一个水平方向的滑动条JSlider对象,其变化范围是0到100,初始值为50。格式:JSlider(intdirect),10.5.4滑动条JSlider,功能:建立一个方向为direct的滑动条JSlider对象,其变化范围是0到100,初始值为50。其中direct的值是:JSlider.VERTICAL,垂直方向;JSlider.HORIZONTAL,水平方向。格式:JSlider(intmin,intmax)功能:建立一个水平方向的滑动条JSlider对象,其变化范围是min到max,初始值为(min+max)/2。格式:JSlider(intmin,intmax,intval)功能:建立一个水平方向的滑动条JSlider对象,其变化范围是min到max,初始值为val。格式:JSlider(intdirect,intmin,intmax,intval)功能:建立一个方向为direct的滑动条JSlider对象,其变化范围是min到max,初始值为val。,2.常用方法表列出了滑动条JSlider类的几个常用的方法。,3.常用事件与滑动条JSlider关联的事件一般是:ChangeEvent,该事件实现了接口ChangeListener,该接口提供了一个方法stateChanged(ChangeEvente)。,10.5.4滑动条JSlider,滑动条JSlider的常用方法,10.5.5表格JTable,1.表格JTable表格是一种常用的数据输入和显示的组件,更多的是和数据库相关联,下一章将做详细介绍。在Java的Swing组件中,提供了JTable类来建立表格在Java中,JTable主要控制数据的显示方式,因此对数据的处理不是很方便。JTable类的类层次关系为:java.lang.Object|+-java.awt.Component|+-java.awt.Container|+-javax.swing.JComponent|+-javax.swing.JTable,10.5.5表格JTable,(1)构造函数格式:JTable()功能:建立一个格式、大小等均为默认值的表格。格式:JTable(introws,intcols)功能:建立一个rows行、cols列、格式为默认值的表格。格式:JTable(TableModelmodel)功能:建立一个格式为model的表格。格式:JTable(Objectrowdata,Objectcolnames)功能:建立一个表格数据由二维数组rowdata指定、列标题由数组colnames指定的表格。,(2)常用方法表格JTable的方法相当多,表列出了表格JTable类的一些常用的方法。,表格JTable的常用方法,10.5.5表格JTable,2.表格模板DefaultTableModel在JTable中,对表格数据的处理不太方便,各种类型的表格来实现所要的操作。java在javax.swing.table包中提供了几个表格的类型,比较常用的是DefaultTableModel。表格模板DefaultTableModel类的类层次关系为:java.lang.Object|+-javax.swing.table.AbstractTableModel|+-javax.swing.table.DefaultTableModel,(1)构造函数格式:DefaultTableModel()功能:建立一个0行、0列的表格。格式:DefaultTableModel(introws,intcols)功能:建立一个rows行、cols列的表格。格式:DefaultTableModel(Objectrowdata,Objectcolnames)功能:建立一个表格数据由二维数组rowdata指定、列标题由数组colnames指定的表格。格式:DefaultTableModel(Objectcolnames,introws)功能:建立一个rows行、列标题由数组colnames指定的表格。,10.5.5表格JTable,(2)常用方法表列出了表格模板DefaultTableModel类的一些常用的方法。,10.5.5表格JTable,【例10.14】表格的使用,本例的运行界面如图所示。我们给表格使用了MouseEvent事件来自动捕获当前单元格所在的行、列及数据值。,10.5.6树型视图JTree,1.树型视图JTree树型视图JTree是用树型结构分层次的来组织和管理数据,具有直观和易于管理的特点。JTree的类层次关系为:java.lang.Object|+-java.awt.Component|+-java.awt.Container|+-javax.swing.JComponent|+-javax.swing.JTree,(1)构造函数格式:JTree()功能:建立一个树型视图JTree。格式:JTree(Objectnod)功能:建立一个节点由数组nod指定的树型视图JTree,不显示根节点。格式:JTree(TreeNoderoot)功能:建立一个根节点为root的树型视图JTree,显示根节点。格式:JTree(TreeModelmod)功能:建立一个模板为mod的树型视图JTree,显示根节点。,10.5.6树型视图JTree,(2)常用方法树型视图JTree的方法比较多,表列出了JTree类的一些常用的方法。,10.5.6树型视图JTree,2节点类DefaultMutableTreeNode节点类DefaultMutableTreeNode提供了许多方法,便于我们从当前节点访问整个树型结构。它的类层次关系为:java.lang.Object|+-javax.swing.tree.DefaultMutableTreeNode(1)构造函数格式:DefaultMutableTreeNode()功能:建立一个无父节点、无子节点但允许有子节点的树型节点对象。格式:DefaultMutableTreeNode(Objectobj)功能:建立一个无父节点、无子节点但允许有子节点的树型节点对象,其初始值为obj。,(2)常用方法表列出了DefaultMutableTreeNode类的一些常用的方法。,10.5.6树型视图JTree,DefaultMutableTreeNode的常用方法,10.5.6树型视图JTree,3.常用事件树型视图JTree的事件一般用MouseEvnet和TreeSelectionEvent事件。,【例10.15】在本例中,树型视图的根节点学校下面有三个子节点:南京师范大学、东南大学、河海大学。在子节点南京师范大学下面有两个子节点:数科院、文学院。在数科院下面又有三个子节点:计算机系、软件工程系、数学系。在文学院下面有两个子节点:古代文学系、现代文学系。在东南大学下面有两个子节点:建筑学院、计算机学院。在建筑学院下面有三个子节点:设计系、材料系、力学系。在计算机学院下面有两个子节点:网络系、计算机安全系。,10.6.1用户对话框JOptionPane,用户对话框JOptionPane主要用来在程序运行过程中,通过对话框窗口来提示或让用户输入数据、显示程序运行结果、报错等等。对话框的形式如图所示。,用户对话框JOptionPane的类层次关系为:java.lang.Object|+-java.awt.Component|+-java.awt.Container|+-javax.swing.JComponent|+-javax.swing.JOptionPane,10.6.1用户对话框JOptionPane,1.构造函数用户对话框JOptionPane的构造函数有七个,多数情况下,都不通过构造函数的方式使用用户对话框。JOptionPane提供的showConfirmDialog、showInputDialog、showMessageDialog方法直接使用。这里介绍五个常用的构造函数:格式:JOptionPane()功能:建立带有缺省信息的用户对话框。格式:JOptionPane(Objectmsg)功能:建立提示信息为msg的用户对话框。格式:JOptionPane(Objectmsg,inttype)功能:建立提示信息为msg、对话框类型为type的用户对话框。其中type的值为:ERROR_MESSAGE、INFORMATION_MESSAGE、WARNING_MESSAGE、QUESTION_MESSAGE、PLAIN_MESSAGE。格式:JOptionPane(Objectmsg,intmtype,intbtype)功能:建立提示信息为msg、对话框图
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025标准个人消费电子产品抵押借款合同
- 汝州职业技术学院《电视包装设计》2023-2024学年第二学期期末试卷
- 鳄鱼怕怕牙医怕怕课件
- 新建水沟盖板施工方案
- 2025电子产品销售合同简易版模板
- 2025至2030年中国香酥肉排数据监测研究报告
- 2025员工劳动合同模板
- 森林消防知识宣讲
- 室外景观开挖施工方案
- 2025至2030年中国灌封胶粘剂数据监测研究报告
- 健康信息学中医药学语言系统语义网络框架
- 2023年中考语文一轮复习考点梳理+对点训练(原卷版+解析版)(打包7套)
- 幼儿绘本故事:如果不洗澡
- 农业机械使用与维护课程标准
- 汽轮机上缸吊出及翻缸风险分析及管控措施
- 普通高中学生综合素质档案填写样表
- 大连理工大学机械制图习题集答案.
- 管道机器人毕业设计正文
- 小学生数学习惯养成总结-ppt课件
- 地铁工程施工作业流程化管理的主要控制措施_工程管理
- 49.5MW风电场变电所电气部分设计
评论
0/150
提交评论