您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 薪酬管理 > 第六章 Java的图形用户界面
11第六章Java的图形用户界面目录226.1GUI编程基础6.2使用Swing组件6.3布局管理器6.4Java的事件处理6.5从AWT到Swing的转换课前思考33你是否已经开发过GUI程序?你是否喜欢开发GUI程序?你能识别多少个GUI组件?6.1GUI编程基础44上图中有:窗口文本框标签按钮6.1GUI编程基础551.AWTAbstractWindowToolkit包含Button、Checkbox、Scrollbar等组件含有nativecode重量级组件(heavyweightcomponents)66awt中组件的层次关系MenuComponentObjectComponentMenuBarMenuItermMenuButtonCanvasContainerChoiceCheckboxTextComponentLabelScrollbarListPanelScrollPanelWindowAppletFrameDialogFileDialogTextAreaTextField6.1GUI编程基础772.Swing包含JButton、JCheckBox、JScrollbar等组件架构在AWT之上,是AWT的扩展而不是取代完全是由java语言编写是轻量级组件(lightweightcomponents)6.2使用Swing组件88Swing组件从功能上可分为:顶层容器:JFrame,JApplet,JDialog中间容器:JPanel,JScrollPane,JSplitPane,JtoolBar特殊容器:JInternalFrame,JLayeredPane,JRootPane基本控件:JButton,JComboBox,JList,JMenu,JSlider,JTextField不可编辑信息的显示:JLabel,JProgressBar,JToolTip可编辑信息的显示:JColorChooser,JFileChooser,JTable,JTextArea6.2使用Swing组件99Swing组件的层次关系图顶层容器中间容器或特殊容器文本选项1选项1输入文本输入更多文本输入文本文本选项1选项16.2使用Swing组件10106.2.1框架(JFrame)构造方法:JFrame()创建一个没有标题的窗口。JFrame(Stringtitle)创建一个以title内容为标题的窗口常用方法:pack()将窗口内的组件以紧凑方式显示在窗口内。voidsetSize(intw,inth)设置框架窗口的大小,单位为像素voidsetTitle(Stringtitle)以字符串为参数设置窗口的标题信息setVisible(booleanb)设置窗口是否可见setLocation(intx,inty)设置窗口的位置add(Componentcomp)在窗口中添加组件validate()使容器及容器内的组件生效6.2使用Swing组件---JFrame举例111111.importjavax.swing.*;2.publicclassTestJFrame{3.publicTestJFrame(){4.JFramef=newJFrame(GUI窗口);5.f.setSize(200,150);6.f.setVisible(true);7.}8.publicstaticvoidmain(String[]args){9.newTestJFrame();10.}11.}6.2使用Swing组件---JFrame举例212121.importjavax.swing.*;2.publicclassTestJFrame2extendsJFrame{3.publicTestJFrame2(){4.initFrame();5.}6.publicvoidinitFrame(){7.setTitle(GUI窗口);8.setSize(200,150);9.setLocation(500,300);10.setVisible(true);11.}12.publicstaticvoidmain(String[]ar){13.newTestJFrame2();14.}15.}6.2使用Swing组件13136.2.2对话框(JDialog)构造方法:JDialog()JDialog(Frameowner)JDialog(Frameowner,booleanmodal)常用方法:pack()将对话框内的组件以紧凑方式显示在窗口内。voidsetSize(intw,inth)设置对话框的大小,单位为像素voidsetTitle(Stringtitle)以字符串为参数设置对话框标题信息setVisible(booleanb)设置对话框是否可见setLocation(intx,inty)设置对话框的位置add(Componentcomp)在对话框中添加组件validate()使容器及容器内的组件生效6.2使用Swing组件---JDialog举例14141.importjavax.swing.*;2.publicclassTestJDialogextendsJFrame{3.JDialogdialog;4.publicTestJDialog(){5.initFrame();6.}7.publicvoidinitFrame(){8.setTitle(GUI窗口);9.setSize(500,300);10.setLocation(500,300);11.setVisible(true);12.dialog=newJDialog(this,true);13.dialog.setSize(200,100);14.dialog.setVisible(true);15.}16.publicstaticvoidmain(String[]ar){17.newTestJDialog();18.}19.}6.2使用Swing组件15156.2.3JOptionPane类常用方法:showMessageDialog(ComponentparentComponent,Objectmessage)消息对话框showConfirmDialog(ComponentparentComponent,Objectmessage)确认对话框showInputDialog(ComponentparentComponent,Objectmessage)输入对话框6.2使用Swing组件---JOptionPane举例16161.importjavax.swing.*;2.publicclassTestJOptionPaneextendsJFrame{3.publicTestJOptionPane(){4.initFrame();5.}6.publicvoidinitFrame(){7.setTitle(GUI窗口);8.setSize(500,300);9.setLocation(500,300);10.setVisible(true);11.JOptionPane.showMessageDialog(this,asfasdfasdfsadf);12.}13.publicstaticvoidmain(String[]ar){14.newTestJOptionPane();15.16.}17.}6.2使用Swing组件17176.2.4面板(JPanel)构造方法:JPanel()JPanel(LayoutManagerlayout)常用方法:setLayout(LayoutManagermgr)设置布局管理器setSize(intw,inth)设置面板的大小add(Componentcomp)添加组件setBackground(Colorbg)设置面板的背景颜色validate()使容器及容器内的组件生效6.2使用Swing组件---JPanel举例18181.importjavax.swing.*;2.importjava.awt.Color;3.publicclassTestJPanelextendsJFrame{4.JPanelpanel;5.publicTestJPanel(){6.initFrame();7.}8.publicvoidinitFrame(){9.setTitle(GUI窗口);10.setSize(500,300);11.setLocation(500,300);12.setVisible(true);13.panel=newJPanel();14.panel.setSize(100,80);15.panel.setBackground(Color.GREEN);16.add(panel);17.}18.publicstaticvoidmain(String[]ar){19.newTestJPanel();20.}21.}6.2使用Swing组件19196.2.5标签(JLabel)构造方法:JLabel()JLabel(Iconimage)JLabel(Stringtext)JLabel(Stringtext,Iconicon,inthorizontalAlignment)常用方法:setIcon(Iconicon)设置该标签的图标setText(Stringtext)设置该标签的文本setHorizontalTextPosition(inttextPosition)设置水平对齐方式setVerticalAlignment(intalignment)设置垂直对齐方式6.2使用Swing组件---JLabel举例20201.importjavax.swing.*;2.importjava.awt.Color;3.publicclassTestJLabelextendsJFrame{4.JLabellabel;5.publicTestJLabel(){6.initFrame();7.}8.publicvoidinitFrame(){9.setTitle(GUI窗口);10.setSize(500,300);11.setLocation(500,300);12.setVisible(true);13.Iconicon=newImageIcon(objects.png);14.label=newJLabel(用户姓名:,icon,JLabel.CENTER);15.add(label);16.validate();17.}18.publicstaticvoidmain(String[]ar){19.newTestJLabel();20.}21.}6.2使用Swing组件21216.2.6文本输入(JTextField)构造方法JTextField()JTextField(Stringtext)JTextField(intcolumns)常用方法setText(Stringt)设置文本框的内容getText()得到文本框的内容getColumns()得到文本框的宽度setColumns(intcolumns)设置文本框的宽度6.2使用Swing组件---JTextField举例22221.importjavax.swing.*;2.importjava.awt.FlowLayout;3.publicclassTestJTextFieldextendsJFrame{4.JTextFieldtextField;5.publicTestJTextField(){6.initFrame();7.}8.publicvoidinitFrame(){9.setTitle(GUI窗口);10.setSize(500,300);11.setLayout(newFlowLayout());12.setVisible(true);13.
本文标题:第六章 Java的图形用户界面
链接地址:https://www.777doc.com/doc-5087113 .html