Java程序设计:第10章 图形用户界面

上传人:努力****83 文档编号:72302486 上传时间:2022-04-08 格式:PPT 页数:127 大小:1.71MB
返回 下载 相关 举报
Java程序设计:第10章 图形用户界面_第1页
第1页 / 共127页
Java程序设计:第10章 图形用户界面_第2页
第2页 / 共127页
Java程序设计:第10章 图形用户界面_第3页
第3页 / 共127页
点击查看更多>>
资源描述
第10章 图形用户界面2n概述概述n用户界面用户界面n组件介绍组件介绍n布局管理布局管理n事件处理事件处理n菜单和表格菜单和表格3n了解了解AWTAWT和和SwingSwingn熟悉熟悉4 4个顶层容器个顶层容器n掌握掌握JFrameJFramen熟悉常用的中间容器熟悉常用的中间容器n会对组件进行布局会对组件进行布局n熟悉常用基本组件的创建和操作熟悉常用基本组件的创建和操作n会设置组件的颜色和字体会设置组件的颜色和字体n会处理组件上发生的事件会处理组件上发生的事件n会创建菜单和表格会创建菜单和表格4n 用户界面的类型用户界面的类型字符用户界面字符用户界面(CUI):例如,):例如,MS-DOS图形用户界面(图形用户界面(GUI):):例如例如,Microsoft Windowsn GUIGUI的组件的组件基本的控制组件,基本的控制组件,例如:例如:Button、Label等等。容器:容器:能容纳和排列组件的组件能容纳和排列组件的组件组件组件组件继承它的父容器的性质5MenuList BoxCheck BoxRadio ButtonButtonLabel Frame WindowText BoxCombo Box6nAWTAWT(Abstract Window Toolkit)是在)是在Swing出现之前出现之前用来设计界面的工具包用来设计界面的工具包用用awt包中的类创建的用户界面在不同的操作平台上有包中的类创建的用户界面在不同的操作平台上有不同的表现。不同的表现。使用不灵活使用不灵活import java.awt.*;nSwingSwing是对是对AWT的扩展,它是的扩展,它是Java 2中的一个标准包中的一个标准包n组件组件都以都以J开头开头,例如:,例如:JFrame、JButton等。等。swing界界面在不同的平台上外观完全一样,真正做到平台独立面在不同的平台上外观完全一样,真正做到平台独立nimport javax.swing.*;7java.lang.Objectjava.awt.Componentjava.awt.Containerjava.awt.Paneljava.awt.Windowjava.applet.AppletJAppletjavax.swing.JComponentjava.awt.Dialogjava.awt.FrameJDialogJFrameJWindowSwing组件组件89n一个顶层容器(即主窗口)一个顶层容器(即主窗口)n顶层容器包含若干个中间容器顶层容器包含若干个中间容器n每个中间容器包含若干个基本组件每个中间容器包含若干个基本组件n按照合理的布局方式将它们组织在一起按照合理的布局方式将它们组织在一起n基本组件可响应发生在其上的事件基本组件可响应发生在其上的事件10n容器容器 容器是用来容纳和管理一组界面元素的对象。基本容器是用来容纳和管理一组界面元素的对象。基本组件必须被安排在某个容器中,否则就无法使用。组件必须被安排在某个容器中,否则就无法使用。JFrameContainerJWindowJPanelJDialogJApplet有边框容器无边框容器11nJFrame , JApplet , JDialog , JWindow 作用:创建初始界面,为其他组件提供一作用:创建初始界面,为其他组件提供一个容器,以构建满足用户需求的操作界面个容器,以构建满足用户需求的操作界面nJFrame用来创建用来创建application,最常用的,最常用的nJApplet用来创建用来创建appletnJDialog用来创建对话框,常用用来创建对话框,常用nJWindow不常用不常用12nJPanel , JScrollPane , JSplitPane , JTabbedPane、JInternalFrame、Box 这些容器提供将有关组件按照某种布局组合在这些容器提供将有关组件按照某种布局组合在一起,然后放入中间容器或顶层容器的功能一起,然后放入中间容器或顶层容器的功能nJPanel提供一个面板提供一个面板nJScrollPane是具有滚动条的窗格是具有滚动条的窗格nJSplitPane是具有拆分功能的窗格是具有拆分功能的窗格nJTabbedPane是带有若干标签的分类窗格是带有若干标签的分类窗格nJInternalFrame用于创建内嵌于用于创建内嵌于JFrame中的内中的内部框架部框架nBox提供创建横向提供创建横向/纵向盒子容器的功能纵向盒子容器的功能13nJLabelnJButton、JCheckBox、JRadioButtonnJList、JComboBoxnJTextField、JPasswordField、JTextAreanJToolBar、JToolTip、JProgressBarnJSlider、JSpinnernJFileChooser、JColorChoosernJMenuBar、JMenu、JMenuItem、JCheckBoxMenuItem、JRadioButtonMenuItem、JPopupMenunJTablenJTreenJOptionPane、JSeparator14n类类 JFrameJFrame 是是java.awt.Framejava.awt.Frame的子类的子类n在在SwingSwing的组件中的组件中, , JFrameJFrame 并不全是由并不全是由JavaJava编写的编写的是一种与平台关系比较密切的组件是一种与平台关系比较密切的组件(Heavyweight component)java.lang.Object | +-java.awt.Component | +-java.awt.Container | +-java.awt.Window | +-java.awt.Frame | +-javax.swing.JFrame15构造方法构造方法JFrame() 创建无标题窗口。创建无标题窗口。JFrame(String s) 创建标题名字是字符串创建标题名字是字符串s的窗口。的窗口。例如:例如:JFrame f = new JFrame(“Hello”);常用方法常用方法setTitle(StringsetTitle(String title) title) 设置设置JFrameJFrame标题文本标题文本get/ get/ setSizesetSize()():获取:获取/ /设置设置JFrameJFrame的大小。的大小。add(Objectadd(Object a) a):将组件添加到:将组件添加到JFrameJFrame中。中。dispose()dispose()关闭关闭JFrameJFrame并回收用于创建窗口的任何资源。并回收用于创建窗口的任何资源。setVisible(booleansetVisible(boolean b) b)设置设置JFrameJFrame的可见性。的可见性。setLocation(x,ysetLocation(x,y) ) 设置设置JFrameJFrame在屏幕的位置在屏幕的位置16n常用方法常用方法void void setExtendedState(intsetExtendedState(int););/设置扩展的状态,取值:设置扩展的状态,取值: NORMALNORMAL ICONIFIED ICONIFIED MAXIMIZED_HORIZ MAXIMIZED_HORIZ MAXIMIZED_VERT MAXIMIZED_VERT MAXIMIZED_BOTH MAXIMIZED_BOTH /最大化最大化void void setDefaultCloseOperation(intsetDefaultCloseOperation(int););/设置默认的关闭时的操作,取值:设置默认的关闭时的操作,取值: DO_NOTHING_ON_CLOSEDO_NOTHING_ON_CLOSE HIDE_ON_CLOSE HIDE_ON_CLOSE DISPOSE_ON_CLOSE DISPOSE_ON_CLOSE EXIT_ON_CLOSE EXIT_ON_CLOSE /关闭关闭17 import javax.swing.*; public class FirstJFrame public static void main(String args) JFrame f = new JFrame(); f.setTitle(My First JFrame); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.setSize(300, 300); f.setVisible(true); 18import javax.swing.*; public class SecondJFrame extends JFrame public SecondJFrame() super(“My Second JFrame”); setDefaultCloseOperation(EXIT_ON_CLOSE); setExtendedState(MAXIMIZED_BOTH); setVisible(true); public static void main(String args) SecondJFrame f = new SecondJFrame(); 19n由由JFrame创建初始的用户界面创建初始的用户界面n由由JPanel、JScrollPane、JTabbedPane、JSplitPane、JInternalFrame、Box等创建中间容器等创建中间容器n由基本组件类创建有关的组件由基本组件类创建有关的组件n将基本组件按照某种布局添加到中间容器中,根据需将基本组件按照某种布局添加到中间容器中,根据需要可能会用到容器的嵌套要可能会用到容器的嵌套n将中间容器按照某种布局添加到顶层容器中,形成满将中间容器按照某种布局添加到顶层容器中,形成满足用户需求的操作界面足用户需求的操作界面20Container con = Container con = getContentPanegetContentPane();();JPanelJPanel panel = new panel = new JPanelJPanel();();JButtonJButton butt = new butt = new JButton(JButton(PressPress Me Me););panel.add(buttpanel.add(butt););con.add(panelcon.add(panel););21n学生基本信息录入界面的设计学生基本信息录入界面的设计设计一个用户界面,用于输入学生的下列信息:设计一个用户界面,用于输入学生的下列信息: 姓名姓名JTextFieldJTextField密码密码JPasswordFieldJPasswordField 性别性别JRadioButtonJRadioButton党否党否JCheckBoxJCheckBox 年龄年龄JSpinnerJSpinner颜色颜色 JColorChooserJColorChooser 加分加分JSliderJSlider系别系别JComboBoxJComboBox 选课选课JListJList确认确认JButtonJButton 保存保存JFileChooserJFileChooser结果结果JTextAreaJTextArea要求输入完毕按要求输入完毕按“确认确认”将该学生的信息记录到将该学生的信息记录到“结果结果”中;按中;按“保存保存”将结果保存到一个指定的文件中;基本信息与结将结果保存到一个指定的文件中;基本信息与结果界面上下分布在一个果界面上下分布在一个JSplitPaneJSplitPane中;屏幕下方显示当前中;屏幕下方显示当前时间时间22步骤一:步骤一:由由JFrame创建初始的用户界面,获得创建初始的用户界面,获得JFrame的容器,的容器,添加中间容器添加中间容器JPanelJFrame f=new JFrame();f.setTitle(学生信息管理系统学生信息管理系统);f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);f.setExtendedState(MAXIMIZED_BOTH);/f.setSize(800,600);/f.setLocation(200,200);Container con=f.getContentPane();JPanel pan=new JPanel();con.add(pan);f.setVisible(true);2324标签标签 标签(标签(JLabelJLabel)是最简单的组件,用于显示单行静态文本。)是最简单的组件,用于显示单行静态文本。用户只能查看其内容而不能对其进行修改。用户只能查看其内容而不能对其进行修改。 标签类没有事件响应。标签类没有事件响应。构造方法构造方法标签内容一般不需要改变,但也可以使用标签内容一般不需要改变,但也可以使用setTextsetText和和setIconsetIcon方方法进行改变法进行改变例如当使用同一标签显示不同的图片时,就可使用例如当使用同一标签显示不同的图片时,就可使用setIconsetIcon方方法实现法实现25步骤二:步骤二:添加标签(要录入的基本信息的名称)添加标签(要录入的基本信息的名称)JFrame f=new JFrame();Container con=f.getContentPane();Jpanel pan=new JPanel();JLabel l_xm=new JLabel(姓名姓名);pan.add(l_xm);JLabel l_xb=new JLabel(性别性别);pan.add(l_xb);con.add(pan);f.setVisible(true);26n按钮是常用的功能组件,表示按钮的类为按钮是常用的功能组件,表示按钮的类为JButton。构造方法构造方法JButtonJButton button1 = new button1 = new JButtonJButton( (“姓名姓名”););ImageIconImageIcon ii = new ii = new ImageIcon(ImageIcon(“java.gif”););JButtonJButton button2 = new button2 = new JButton(iiJButton(ii););JButtonJButton button3 = new button3 = new JButtonJButton( (“姓名姓名”,ii);ii);常用方法常用方法void void setActionCommand(StringsetActionCommand(String););void void addActionListener(ActionListeneraddActionListener(ActionListener););按钮按钮27步骤二:步骤二:添加按钮(确认和保存按钮)添加按钮(确认和保存按钮)JFrame f=new JFrame(); Container con=f.getContentPane();JPanel pan=new JPanel();JLabel l_xml_xm=new JLabel(姓名姓名);pan.add(l_xm); JButton b_sub=new JButton(确认确认);pan.add(b_sub);JButton b_save=new JButton(保存保存);pan.add(b_save); con.add(pan);f.setVisible(true);28n构造方法构造方法JTextField tf1 = new JTextField(10);JTextField tf2 = new TextField(“aa”);JTextField tf3 = new JTextField(“aa”,8);ComponentTextComponentJTextFieldJTextArea单行的文本框单行的文本框多行的文本区多行的文本区文本框(文本框(JTextField)n其它方法其它方法 public String getText() public String getSelectedText() public void setText(String s) public void setEchoChar(char c) public void setEditable(boolean b)29步骤二:步骤二:添加文本框(录入姓名信息)添加文本框(录入姓名信息)JFrame f=new JFrame(); Container con=f.getContentPane();JPanel pan=new JPanel();JLabel l_xm=new JLabel(姓名姓名);pan.add(l_xm);JTextField tf_name=new JTextField(20);pan.add(tf_name);con.add(pan);f.setVisible(true);30n构造方法构造方法 JTextAreaJTextArea ta1 = new ta1 = new JTextAreaJTextArea(5,5);(5,5);JTextAreaJTextArea ta2 = new ta2 = new JTextAreaJTextArea( (“abab”,8,7);,8,7);ComponentTextComponentJTextFieldJTextArea单行的文本框单行的文本框多行的文本区多行的文本区文本区(文本区(JTextArea)n其它方法其它方法 public getCaretPosition() public void insert(String str,int pos) public String getSelectedText() public int getSelectionStart() public int getSelectionEnd() public void replaceRange(String str,int start,int end) 31n应用中经常将文本区对象放入一个滚动窗格中,应用中经常将文本区对象放入一个滚动窗格中,以使用滚动条功能,方法如下:以使用滚动条功能,方法如下:1.1.JTextAreaJTextArea tata = new JTextArea(10,10); = new JTextArea(10,10);2.2.JScrollPaneJScrollPane sp = new sp = new JScrollPane(taJScrollPane(ta););文本区(文本区(JTextArea)32步骤二:步骤二:添加文本域(显示录入结果信息)添加文本域(显示录入结果信息)JFrame f=new JFrame(); Container con=f.getContentPane();Jpanel pan=new JPanel(); Jlabel l_jg=new JLabel(录入结果录入结果);JTextArea result=new JTextArea(10,30);JScrollPane sp=new JScrollPane(result);pan.add(sp); pan.add(l_jg);con.add(pan);f.setVisible(true);33单选按钮(单选按钮( JRadioButton )n构造方法(与构造方法(与JButton类似)类似)JRadioButtonJRadioButton rbutt1 = new rbutt1 = new JRadioButtonJRadioButton( (“男男”, true););ImageIconImageIcon ii = new ii = new ImageIcon(ImageIcon(“java.gif”););JRadioButtonJRadioButton rbutt2 = new rbutt2 = new JRadioButton(iiJRadioButton(ii););JRadioButtonJRadioButton rbutt3 = new rbutt3 = new JRadioButtonJRadioButton( (“女女”,iiii,false);false);n常用方法常用方法void void addActionListener(ActionListeneraddActionListener(ActionListener););void void addItemListener(ItemListeneraddItemListener(ItemListener););booleanboolean isSelectedisSelected();();void void setSelected(booleansetSelected(boolean););34n使用单选按钮时经常用到使用单选按钮时经常用到ButtonGroupButtonGroup类,如下类,如下创建按钮组对象创建按钮组对象ButtonGroupButtonGroup bgbg = new = new ButtonGroupButtonGroup();();创建若干单选按钮对象创建若干单选按钮对象JRadioButtonJRadioButton b1 = new b1 = new JRadioButton(JRadioButton(“x x”););JRadioButtonJRadioButton b2 = new b2 = new JRadioButton(JRadioButton(“y y”););将各单选按钮添加到按钮组中将各单选按钮添加到按钮组中bg.add(b1);bg.add(b1);bg.add(b2);bg.add(b2);将单选按钮添加到其他容器中将单选按钮添加到其他容器中容器对象容器对象.add(b1);.add(b1);容器对象容器对象.add(b2);.add(b2);n注:按钮组维持只有一个单选按钮处于选择状态注:按钮组维持只有一个单选按钮处于选择状态单选按钮(单选按钮( JRadioButton )35步骤二:步骤二:添加单选按钮(选择性别)添加单选按钮(选择性别)JFrame f=new JFrame(); Container con=f.getContentPane();Jpanel pan=new JPanel(); JRadioButton male = new JRadioButton(男男, true);JRadioButton female = new JRadioButton(女女);ButtonGroup group=new ButtonGroup();group.add(male);group.add(female);pan.add(male);pan.add(female); con.add(pan);f.setVisible(true);36n构造方法构造方法JCheckboxJCheckbox()()创建一个没有标签的复选框。创建一个没有标签的复选框。JCheckboxJCheckbox( Icon ( Icon iconicon) )创建一个有图标的复选框。创建一个有图标的复选框。JCheckbox(IconJCheckbox(Icon icon , icon ,booleanboolean selesele ) ) 创建一个有图标创建一个有图标iconicon的复选的复选框,初始状态为框,初始状态为selsselsJCheckboxJCheckbox( String s)( String s)创建一个有标签的复选框。创建一个有标签的复选框。JCheckboxJCheckbox( String ( String s,booleans,boolean b) b)创建一个有标签的复选框,参数创建一个有标签的复选框,参数b b设设置初始状态置初始状态JCheckbox(StringJCheckbox(String strstr ,Icon icon ) ,Icon icon ) 创建一个有创建一个有strstr文字及图标文字及图标iconicon的复选框的复选框JCheckbox(StringJCheckbox(String str,Iconstr,Icon icon,booleanicon,boolean selesele) ) 创建一个有创建一个有strstr文文字及图标字及图标iconicon的复选框的复选框, ,初始状态为初始状态为selssels复选框(复选框(JCheckbox)37n常用方法常用方法isSelectedisSelected( () ):返回复选按钮的状态,返回类型是:返回复选按钮的状态,返回类型是booleanboolean。如果返回。如果返回truetrue,则表示该按钮处于选中状,则表示该按钮处于选中状态;否则处于未选中状态。态;否则处于未选中状态。setSelectedsetSelected (Boolean state) (Boolean state):设置复选按钮的状:设置复选按钮的状态。态。复选框(复选框(JCheckbox)38步骤二:步骤二:添加复选框(选择爱好添加复选框(选择爱好,多项选择)多项选择)JFrame f=new JFrame(); Container con=f.getContentPane();Jpanel pan=new JPanel(); Jlabel l_ah=new JLabel(爱好爱好);JCheckBox hobby=new JCheckBox(音乐音乐),new JCheckBox(足球足球),new JCheckBox(绘画绘画);pan.add(l_ah);pan.add(hobby0);pan.add(hobby1);pan.add(hobby2); con.add(pan);f.setVisible(true);39构造方法构造方法其它常用方法其它常用方法 void void addListSelectionListeneraddListSelectionListener( (););void void setVisibleRowCount(intsetVisibleRowCount(int););void void setSelectionMode(intsetSelectionMode(int););/取值如下(在取值如下(在ListSelectionModelListSelectionModel中定义)中定义)SINGLE_SELECTIONSINGLE_SELECTIONSINGLE_INTERVAL_SELECTION SINGLE_INTERVAL_SELECTION MULTIPLE_INTERVAL_SELECTIONMULTIPLE_INTERVAL_SELECTION(默认)(默认)intint getSelectedIndexgetSelectedIndex();();intint getSelectedIndicesgetSelectedIndices();();Object Object getSelectedValuegetSelectedValue();();Object Object getSelectedValuesgetSelectedValues();();列表框(列表框(JListJList)40步骤二:步骤二:添加列表框(选择选修课程)添加列表框(选择选修课程)JFrame f=new JFrame(); Container con=f.getContentPane();Jpanel pan=new JPanel(); JLabel l_xk=new JLabel(选课选课);String coursesNames = 数据结构数据结构“,操作系统操作系统“,网络原理网络原理,Java程序设计程序设计“,分布式系统开发技术分布式系统开发技术,计算机导论计算机导论“,密码学密码学,计算机组成原理计算机组成原理“,编译原理编译原理,图形学图形学”;course = new JList(coursesNames);pan.add(l_xk);pan.add(course);con.add(pan);f.setVisible(true);41n构造方法构造方法String String ssss = = “redred”, ,”greengreen”, ,”blueblue”;JComboBoxJComboBox cb1 = new cb1 = new JComboBox(ssJComboBox(ss););JComboBoxJComboBox cb2 = new cb2 = new JComboBox(VectorJComboBox(Vector););n常用方法常用方法1.1.addItemaddItem() () 添加一个项目到添加一个项目到 JComboBoxJComboBox. . 2.2.get/get/setSelectedIndexsetSelectedIndex()()获取获取/ /设置设置 JComboBoxJComboBox 中选中项目的索引中选中项目的索引3.3.get/get/setSelectedItemsetSelectedItem()()获取获取/ /设置选中的对象。设置选中的对象。4.4.removeAllItemsremoveAllItems()()从从 JComboBoxJComboBox 删除所有对象。删除所有对象。5.5.removeItemremoveItem()()从从 JComboBoxJComboBox 删除特定对象。删除特定对象。6.6.setEditablesetEditable把一个组合框设置为可编辑的。把一个组合框设置为可编辑的。注意编辑只会影响当前项,它不会改变列表的内容。注意编辑只会影响当前项,它不会改变列表的内容。( JComboBox )42步骤二:步骤二:添加下拉列表(选择院系)添加下拉列表(选择院系)JFrame f=new JFrame(); Container con=f.getContentPane();Jpanel pan=new JPanel(); JLabel l_yx=new JLabel(院系院系);pan.add(l_yx);String departmentNames = 计算机科学与技术系计算机科学与技术系,电子信息与技术系电子信息与技术系,计算机工程系计算机工程系”;JComboBox department = new JComboBox(departmentNames);department.setEditable(false);pan.add(department); con.add(pan);f.setVisible(true);43n构造方法(类似于构造方法(类似于JTextField)n常用方法常用方法void void addActionListener(ActionListeneraddActionListener(ActionListener););char char getPasswordgetPassword();();void void setEchoChar(charsetEchoChar(char););char char getEchoChargetEchoChar();();( JPasswordField )44步骤二:步骤二:添加密码(密码输入显示添加密码(密码输入显示“*”)JFrame f=new JFrame(); Container con=f.getContentPane();Jpanel pan=new JPanel(); JLabel l_ma=new JLabel(密码密码);pan.add(l_ma);password=new JPasswordField(20);password.setEchoChar(*);pan.add(password); con.add(pan);f.setVisible(true);45n构造方法构造方法JSliderJSlider slider = new slider = new JSlider(JSlider.HORIZONTAL,0,100,10); JSlider(JSlider.HORIZONTAL,0,100,10);n常用方法常用方法void void addChangeListener(ChangeListeneraddChangeListener(ChangeListener););void void setValue(intsetValue(int););intint getValuegetValue();();void void setMajorTickSpacing(intsetMajorTickSpacing(int););void void setMinorTickSpacing(intsetMinorTickSpacing(int););void void setPaintTicks(booleansetPaintTicks(boolean); /false); /falsevoid void setPaintLabels(booleansetPaintLabels(boolean); /false); /falsevoid void setPaintTrack(booleansetPaintTrack(boolean); /true); /truevoid void setSnapToTicks(booleansetSnapToTicks(boolean); /false); /false( JSlider )46步骤二:步骤二:添加加分选项(加分的选项采用滑动条实现)添加加分选项(加分的选项采用滑动条实现)JFrame f=new JFrame(); Container con=f.getContentPane();Jpanel pan=new JPanel(); JLabel l_jf=new JLabel(加分加分); pan.add(l_jf);addition = new JSlider(JSlider.HORIZONTAL, 0, 100, 50);addition.setMajorTickSpacing(10);addition.setMinorTickSpacing(5);addition.setPaintTicks(true);addition.setPaintLabels(true);addition.setSnapToTicks(true);pan.add(addition); con.add(pan);f.setVisible(true);47n构造方法构造方法 JProgressBar(int,int,intJProgressBar(int,int,int);); JProgressBarJProgressBar pbpb = new = new JProgressBarJProgressBar( ( JProgressBarJProgressBar. . HORIZONTAL, 0,100);HORIZONTAL, 0,100);n常用方法常用方法void void addChangeListener(ChangeListeneraddChangeListener(ChangeListener););void void setValue(intsetValue(int); /); /设置当前值设置当前值void void setString(StringsetString(String););/设置显示的字符串设置显示的字符串void void setStringPainted(booleansetStringPainted(boolean););/设置是否显示字符串,默认为设置是否显示字符串,默认为falsefalsevoid void setBorderPainted(booleansetBorderPainted(boolean););/设置是否显示边框,默认为设置是否显示边框,默认为truetrue( JProgressBar )48步骤二:步骤二:添加进度条添加进度条JFrame f=new JFrame(); Container con=f.getContentPane();Jpanel pan=new JPanel(); JProgressBar progbar = new JProgressBar(JProgressBar.HORIZONTAL,0,100);progbar.setStringPainted(true);con.add(pan);f.setVisible(true);49n构造方法构造方法JFileChooserJFileChooser fc1,fc2; / fc1,fc2; /声明两个对象变量声明两个对象变量fc1 = new fc1 = new JFileChooserJFileChooser();/();/使用系统默认目录使用系统默认目录fc2 = new fc2 = new JFileChooser(JFileChooser(“d d:java:java”););n显示方法显示方法intint showOpenDialog(ComponentshowOpenDialog(Component););intint showSaveDialog(ComponentshowSaveDialog(Component););/分别用于显示标准的打开和保存对话框分别用于显示标准的打开和保存对话框/参数参数ComponentComponent指定对话框依附的父组件指定对话框依附的父组件/返回值:返回值:APPROVE_OPTIONAPPROVE_OPTION选择了确认选择了确认 CANCEL_OPTIONCANCEL_OPTION选择了取消选择了取消 ERROR_OPTIONERROR_OPTION出现了错误出现了错误( JFileChooser )501.1.其他常用方法其他常用方法void void setCurrentDirectory(FilesetCurrentDirectory(File););void void setMultiSelectionEnabled(booleansetMultiSelectionEnabled(boolean););File File getSelectedFilegetSelectedFile();();File File getSelectedFilesgetSelectedFiles();();File File getCurrentDirectorygetCurrentDirectory();();String String getName(FilegetName(File););/取得文件取得文件/ /目录名称,不含路径,可用目录名称,不含路径,可用FileFile类的类的getAbsolutePathgetAbsolutePath()()方法获取完整路径方法获取完整路径void void setFileSelectionMode(intsetFileSelectionMode(int););/FILES_ONLY /FILES_ONLY 只能选择文件只能选择文件( (默认默认) ) DIRECTORIES_ONLY DIRECTORIES_ONLY 只能选择目录只能选择目录 FILES_AND_DIRECTORIES FILES_AND_DIRECTORIES 文件和目录都可选文件和目录都可选void void setFileFilter(FileFiltersetFileFilter(FileFilter););51n显示方法显示方法使用使用JColorChooserJColorChooser提供的类方法提供的类方法showDialogshowDialogstatic Color static Color showDialogshowDialog( ( Component, / Component, /父组件父组件 String, /String, /标题标题 Color /Color /初始颜色值初始颜色值 ););/返回值:新返回值:新选择的颜色值选择的颜色值ColorColorn示例示例Color c = Color c = JColorChooser.showDialogJColorChooser.showDialog (this, (this,”请选择颜色请选择颜色”, ,Color.redColor.red););/得到颜色对象得到颜色对象c c后,即可在需要的地方使用后,即可在需要的地方使用(JColorChooser)52nConfirmConfirm对话框对话框intint showConfirmDialog(Component,ObjectshowConfirmDialog(Component,Object););/显示含有显示含有 YesYes、NoNo、Cancel Cancel 按钮的确认框按钮的确认框/参数:父组件,显示信息参数:父组件,显示信息/返回值:返回值: YES_OPTIONYES_OPTION是是 NO_OPTIONNO_OPTION否否 CANCEL_OPTIONCANCEL_OPTION撤销撤销 OK_OPTIONOK_OPTION确定确定 CLOSED_OPTIONCLOSED_OPTION关闭关闭还有其他形式的类方法,请参阅帮助文档还有其他形式的类方法,请参阅帮助文档框(框( JOptionPane)53nInputInput对话框对话框String String showshowInputDialog(Component,ObjectInputDialog(Component,Object););/参数:父组件,显示信息参数:父组件,显示信息/返回值:返回值: 选择确认后返回选择确认后返回 输入的字符串输入的字符串 选择取消或关闭后返回选择取消或关闭后返回 nullnull还有其他形式的类方法,请参阅帮助文档还有其他形式的类方法,请参阅帮助文档框(框( JOptionPane)54nMessageMessage对话框对话框void void showshowMessageDialog(Component,ObjectMessageDialog(Component,Object););/参数:父组件,显示信息参数:父组件,显示信息/没有返回值,只是用来显示一些信息没有返回值,只是用来显示一些信息还有其他形式的类方法,请参阅帮助文档还有其他形式的类方法,请参阅帮助文档框(框( JOptionPane)55nOptionOption对话框对话框intint showOptionDialogshowOptionDialog( ( Component, / Component, /父组件父组件 Object, /Object, /显示信息显示信息 String, /String, /标题标题 intint, /, /标准选项按钮组类型标准选项按钮组类型 intint, /, /标准信息图标类型标准信息图标类型 Icon, /Icon, /自定义信息图标自定义信息图标 Object, /Object, /自定义选项按钮组自定义选项按钮组 Object /Object /自定义默认的选项按钮自定义默认的选项按钮 ););/该方法提供了丰富且复杂的表达形式,请参阅帮助该方法提供了丰富且复杂的表达形式,请参阅帮助文档文档注:使用这些标准对话框,可以方便实现某些功能注:使用这些标准对话框,可以方便实现某些功能框(框( JOptionPane)56n构造方法构造方法JSpinnerJSpinner spinner = new spinner = new JSpinnerJSpinner();();n常用方法常用方法void void addChangeListener(ChangeListeneraddChangeListener(ChangeListener););void void setValue(ObjectsetValue(Object););Object Object getValuegetValue();();Object Object getNextValuegetNextValue();();Object Object getPreviousValuegetPreviousValue();();57JFrame f=new JFrame(); Container con=f.getContentPane();Jpanel pan=new JPanel(); JLabel lb=new JLabel(年龄年龄);JSpinner jsp=new JSpinner();jsp.setValue(new Integer(20);pan.add(lb);pan.add(jsp); con.add(pan);f.setVisible(true);步骤二:添加年龄微调器步骤二:添加年龄微调器58n构造方法构造方法Timer(intTimer(int, , ActionListenerActionListener););Timer Timer timertimer = new Timer(1000,this); = new Timer(1000,this);n常用方法常用方法void start();void start();void stop();void stop();void restart();void restart();void void setDelay(intsetDelay(int););void void setRepeats(booleansetRepeats(boolean););booleanboolean isRunningisRunning();();591.创建边框(使用创建边框(使用BorderFactory类的类方法)类的类方法)Border border1 = /Border border1 = /创建一个具有指定颜色和宽度的线边框创建一个具有指定颜色和宽度的线边框BorderFactory.createLineBorder(Color,intBorderFactory.createLineBorder(Color,int););Border border2 =Border border2 = BorderFactory.createTitledBorder(StringBorderFactory.createTitledBorder(String);); 创建一个新标题边框,采创建一个新标题边框,采用默认设置,并指定了标题文本。用默认设置,并指定了标题文本。Border border3 = Border border3 = BorderFactoryBorderFactory. . createLoweredBevelBordercreateLoweredBevelBorder();();创建一个具有凹入斜面边缘的边框创建一个具有凹入斜面边缘的边框Border border4 =Border border4 = BorderFacto
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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


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

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


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