版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Swing常用组件编写一个计算器所需要的知识点常用组件和容器的使用方法及功能AWT事件处理模型例Swing的常用组件JLabelJLabel(标签)是用户只能查看不能修改的文本/图像显示区域。 Swing的常用组件-JTextFieldJTextField(单行文本域)是一个单行条形文本区,能够接收输入、显示输出。 获得文本域的内容x= Integer.parseInt(text1.getText().trim(); 重新设置文本域的内容resultText.setText(s); Swing的常用组件-JTextFieldsetText(String s)设置文本框中的文本getText()
2、获取文本框中的文本setEditable(boolean b)指定文本框的可编辑性。创建的文本框默认为可编辑的获取两个文本域的输入并求和,然后显示在第三个文本域中。 Swing的常用组件JTextFieldimport .*;import .*;import .*;public class TFMath public static void main(String args) new TFFrame().launchFrame();class TFFrame extends JFrame JTextField num1, num2, num3;public void launchFrame()
3、 num1 = new JTextField(10);num2 = new JTextField(10);num3 = new JTextField(15);JLabel lblPlus = new JLabel(+);JButton btnEqual = new JButton(=);btnEqual.addActionListener(new MyMonitor();setLayout(new FlowLayout();add(num1);add(lblPlus);add(num2);add(btnEqual);add(num3);pack();setVisible(true);Swing
4、常用的组件文本域private class MyMonitor implements ActionListener public void actionPerformed(ActionEvent e) int n1 = Integer.parseInt(num1.getText();int n2 = Integer.parseInt(num2.getText();num3.setText( + (n1+n2);Swing的常用组件-JPasswordFieldJPasswordField(口令框)接受用户的输入,但不会真正显示出来,而是显示回显符。密码域JPasswordFieldimport
5、 .*;import .*;import .*;public class TFPassword public static void main(String args) new TFFrame2();密码域JPasswordFieldclass TFFrame2 extends JFrameTFFrame2()JPasswordField pf = new JPasswordField();add(pf);pf.addActionListener(new TFActionListener2();pack();setVisible(true);密码域JPasswordFieldclass TFA
6、ctionListener2 implements ActionListenerpublic void actionPerformed(ActionEvent e) JPasswordField pf = ();();();密码域JPasswordFieldSwing的常用组件-JPasswordField实战:实现上面的图形用户界面。Swing的常用组件-JTextAreaJTextArea(多行文本框)可以输入或输出多行文本。 设定是否可编辑 setEditable(Boolean b)JTextArea(String text, int rows,int columns) 指定文本创建文
7、本区,指定行数和列数换行方式:手动换行自动换行:通过设置换行属性来防止手动换行。增加滚动条:通过把文本区插入到一个滚动窗格中来实现。这也是给其他组件添加滚动条的方法。textArea.setLineWrap(true);JScrollPane scrollPane = new JScrollPane(textArea);Swing的常用组件-JTextArea文本区的三种显示方式Swing的常用组件-JTextArea例:创立包含文本区、文本框和“提交按钮的窗口。 在文本区中输入文字,单击“提交按钮,文本 框中会出现同样的文字。Swing的常用组件-JTextAreaimport .*; im
8、port .*;class JTextAreaEx extends JFrame JTextArea ta; JTextField t; JButton b; JTextAreaEx() setSize(400,250); setLayout(new FlowLayout(); Container c=getContentPane(); setVisible(true); ta=new JTextArea(5,10); /创立文本区、文本框和按钮 ta.setLineWrap(true); /自动换行,只添加垂直滚动条 JScrollPane scrollPane = new JScrollP
9、ane(ta); /加滚动条 scrollPane.setBorder(BorderFactory.createLoweredBevelBorder();/设置边界 c.add(scrollPane); t=new JTextField(10); b=new JButton(提交); c.add(b); c.add(t); pack(); public static void main(String args) JTextAreaEx tae=new JTextAreaEx(); public void actionPerformed(ActionEvent e) (); 其他Swing组件的
10、使用 Swing的常用组件复选框JCheckBoxJCheckBox(复选框)有选中和未选中两种状态,允许用户从一组选项中进行多个选择。 设置复选框的文本 setText 获取复选框的文本 getText常用的构造方法有:JCheckBox()JCheckBox(Icon icon)JCheckBox(Icon icon, boolean selected)JCheckBox(String text)JCheckBox(String text, boolean selected)JCheckBox(String text, Icon icon)JCheckBox(String text, Ic
11、on icon, boolean selected)Swing的常用组件复选框JCheckBoxJCheckBox的相关事件类事件响应用户点击复选框使其选中状态发生变化时会引发 ItemEvent事件。实现ItemListener接口的itemStateChanged()方法。public void addItemListener( ItemListener l ) 设置复选框的事件监听器。查阅JDK文档,学习ItemEvent类的常用方法。例题:创立如下窗口,包含三个复选框和一个面板,选中某一复选框后,面板的背景色就变成相应的颜色。Swing的常用组件复选框JCheckBoximport .
12、*;import .*;public class CheckBoxExp implements ItemListener Frame f; Panel p1, p2;Checkbox ck1,ck2,ck3;public void display() f = new Frame (复选框练习); ck1=new Checkbox(红色); ck2=new Checkbox(黄色); ck3=new Checkbox(蓝色); p1=new Panel(); p2=new Panel(); f.add(p1,North); f.add(p2); p1.add(ck1); p1.add(ck2);
13、 p1.add(ck3); f.setSize(400, 200); (true); ck1.addItemListener(this); ck2.addItemListener(this); ck3.addItemListener(this); public void itemStateChanged(ItemEvent e) ()=ck1) p2.setBackground(Color.red); else ()=ck2) p2.setBackground(Color.yellow); else p2.setBackground(Color.blue); public static voi
14、d main(String args) new CheckBoxExp().display(); Swing常用的组件单项选择框JRadioButtonJRadioButton(单项选择按钮)通常是成组使用的,可以通过ButtonGroup类进行管理。 常用的构造方法有: JRadioButton()JRadioButton(Icon icon)JRadioButton(Icon, boolean selected)JRadioButton(String text)JRadioButton(String text, boolean selected)JRadioButton(String te
15、xt, Icon icon)JRadioButton(String text, Icon icon, boolean selected)单项选择框JRadioButton 例如要保证三个JRadioButton的互斥性应该把这三个控件放到同一个ButtonGroup中Swing的常用组件组合框JComboBoxJComboBox(组合框)是一种“多项选择一的组件,可编辑每项的内容,而且每项的内容可以是任意类。当用户选取组合框中的某一选择项时,可激发ItemEvent事件。常用的构造方法有: / 此构造函数使用缺省数据模型创立 JComboBoxpublic JComboBox()/ 包含指定数
16、组元素的组合框public JComboBox(Object items)Swing的常用组件组合框JComboBox创立组合框向组合框对象里参加条目 JComboBox jobsBox = new JComboBox(); jobsBox.addItem(job1); jobsBox.addItem(job2);使用String数组创立 String comboItem=“job1,job2; JComboBox jobsBox=new JComboBox(comboItem); 对组合框是否能够被编辑也可以进行设置。 jobsBox.setEditable(true); Swing的常用组
17、件组合框JComboBox组合框的内容可以动态变化addItem方法:把条目添加到列表的末尾;insertItermAt方法:将新条目添加到列表的任何位置;removeItem方法和removeItemAt方法:删除指定条目;removeAllItems方法:删除所有条目。jobsBox.insertItermAt(“job7, 6); /在第7个位置增加“job7条目。jobsBox.removeItem(“job7); /删除“job7条目。jobsBox.removeItemAt(5); /删除第6个条目,即“job6。(); /删除所有条目。Swing的常用组件组合框JComboBox
18、中选择组合框的条目时,会产生单击事件ActionEvent和项事件ItemEvent。组合框事件处理方法说明 public Object getSelectedItem() 返回当前选中项。注意类型。 public int getSelectedIndex() 返回选中项的位置。列表中第一项的位置是0。 组合框JComboBox常用的事件处理方式Swing的常用组件列表框(JList) JList(列表框)向用户显示一组选项构造方法public JList() 构造空列表public JList ( Object listData) 以数组中的元素构造一个 JList。 String font
19、Size=“小四,“四号,“小五,“五号; JList list=new JList(fontSize);public JList ( VectorlistData) 以Vector 中的元素构造一个 JList。JList(列表框) 可以选择一项或多项 。列表框查阅JDK文档,学习JList类的常用方法及相关事件。Swing的常用组件列表框(JList) 建立列表框前,需要指定所显示的列表条目:String courses = “Math, “English, “Physics, “Chemic, “Biology, “Politics;JList courseList = new JLis
20、t(courses);如果列表框比较长,而显示屏幕比较小,可以设置列表中显示的行数,同时使用滚动条:courseList.setVisibleRowCount(4);JScrollPane listScrollPane = new JScrollPane(courseList);Swing的常用组件列表框(JList) 选择列表框中的多个条目有两种方式:连续条目选择和间断条目选择。用户选择列表框条目时,列表框就会产生选择事件。将列表选择监听器ListSelectionListener添加给列表组件,并在该监听器中实现valueChanged方法:courseList.addListSelect
21、ionListener(new courseListener();.class courseListener implements ListSelectionListenerpublic void valueChanged(ListSelectionEvent event).获得用户所选择的列表框条目以及条目所在的索引号需要使用getSelectedValues方法和getSelectedIndices方法:Object selectedCourses = ();intselectedIndexCourses=();Swing的常用组件列表框(JList) 例:创立一个包含列表框和文本框的窗口
22、,要求单击或双 击列表框中某一选项后,文本框中显示该选项。Swing的常用组件列表框(JList) import .*; import .*;public class List1 implements ActionListener ,ItemListener Frame f; TextField tf1; List ls1; public void display() f = new Frame(列表框练习); f.setSize(300,200); f.setLocation(300,300); ); f.setLayout(new FlowLayout(); tf1 = new TextF
23、ield (10); f.add(tf1); ls1 = new List(); f.add(ls1); ls1.add(北京);ls1.add(上海); ls1.add(南京);ls1.add(西安); f.setVisible(true); ls1.addActionListener(this); ls1.addItemListener(this); public void actionPerformed(ActionEvent e) tf1.setText(ls1.getSelectedItem(); public void itemStateChanged(ItemEvent e) t
24、f1.setText(ls1.getSelectedItem(); public static void main(String arg) (new List1().display(); Swing的常用组件菜单JMenuItem类型有三种:JMenuItem JCheckBoxMenuItem JRadioButtonMenuItemJMenuBarJMmenuJMenuItem 菜单的分类菜单条式菜单下拉菜单弹出式菜单 菜单组件与其他组件不同,不能放入普通的容器,也无法用布局管理器对其加以控制,只能被放入菜单容器中。Swing的常用组件菜单下拉式菜单 下拉式菜单主要由三局部组成菜单条(JM
25、enuBar)菜单(JMenu)菜单项(JMenuItem)。 菜单栏菜单条菜单菜单项创立菜单栏 JMenuBar menuBar = new JMenuBar(); setJMenuBar(menuBar);创立菜单JMenu fileMenu = new JMenu(File);创立子菜单。JMenu optionMenu = new JMenu(Option);创立菜单项 JMenuItem newfile=new JMenuItem(新建);创立下拉式菜单 将菜单项参加到子菜单或菜单中,将子菜单参加到菜单中,将菜单参加到菜单栏中。创立菜单的步骤 import .*; import .*
26、;public class MenuDemo extends JFrame implements ActionListenerJTextArea tf=new JTextArea();JMenuBar mbar=new JMenuBar(); JMenu menu=new JMenu(文件); JMenuItem newfile=new JMenuItem(新建); JMenuItem open=new JMenuItem(翻开);JMenuItem close=new JMenuItem(关闭);JMenuItem quit=new JMenuItem(退出); 创立菜单的步骤public
27、MenuDemo()super(Menu实例); newfile.addActionListener(this);open.addActionListener(this);close.addActionListener(this);quit.addActionListener(this); menu.add(newfile); menu.add(open); menu.add(close); (); menu.add(quit); mbar.add(menu); setJMenuBar(mbar); add(tf);addWindowListener(new WindowAdapter() p
28、ublic void windowClosing(WindowEvent e) System.exit(0); );public void actionPerformed(ActionEvent e)()=newfile) (新建文件);()=open) (翻开文件);()=close) (关闭文件);()=quit) System.exit(0); public static void main(String args) JFrame f=new MenuDemo(); f.setSize(200,200); f.setVisible(true); 同创立一般的菜单项几乎一样,只需注意复选框
29、和单项选择按钮的不同构造方法以及单项选择按钮组的构建:/创立单项选择按钮菜单项“Forward,并将“Forward菜单项参加到“Search菜单中。ButtonGroup group = new ButtonGroup();forwardItem = new JRadioButtonMenuItem(Forward);group.add(forwardItem);searchMenu.add(forwardItem);/创立复选框菜单项“ToolBar,并参加到子菜单中。JCheckBoxMenuItem toolItem = new JCheckBoxMenuItem(ToolBar);o
30、ptionMenu.add(toolItem);创立复选框和单项选择按钮菜单项 菜单项的使用状态 菜单项能够被选取取决于菜单项的启用和禁用状态:/初始设置“Save菜单项为禁用状态。saveItem.setEnabled(false);快捷键和加速器 快捷键显示为带有下划线的字母,加速器那么显示为菜单项旁边的组合键。:/设置菜单的快捷键。fileMenu.setMnemonic(F);/设置“Exit菜单项的快捷键为“T。JMenuItem exitItem = new JMenuItem(Exit, T);/设置“Exit菜单项的加速器为“CtrlT。(, );Swing的常用组件菜单弹出式
31、菜单弹出式菜单的创立和菜单的创立根本相同,也需要新建一个弹出式菜单后再参加菜单项。/弹出式菜单。popup = new JPopupMenu();/新建弹出式菜单中的“Cut菜单项和监听器。cutItemPop = new JMenuItem(Cut, C);popup.add(cutItemPop);Swing的常用组件菜单菜单例如 创立菜单栏创立菜单参加到菜单栏中创立菜单项参加到菜单中最后将整个菜单栏参加到某个容器中Frame事件处理创立菜单的步骤创立如以下图所示的带菜单的窗口,完成相应的绘图功能。import .*; import .*;public class MenuExp impl
32、ements ActionListener Frame f; MenuBar myMenuBar; Menu menuDraw,menuHelp; MenuItem itemCircle,itemRect,itemLine; public void display() f = new Frame(带有菜单的窗口); f.setSize(300,300); f.setLocation(300,300); ); myMenuBar=new MenuBar(); menuDraw=new Menu(画图); menuHelp=new Menu(帮助); myMenuBar.add(menuDraw)
33、; myMenuBar.add(menuHelp); itemCircle=new MenuItem(画圆); itemRect=new MenuItem(画矩形); itemLine=new MenuItem(画线); menuDraw.add(itemLine); menuDraw.add(itemCircle); menuDraw.add(itemRect); f.setMenuBar(myMenuBar); f.setVisible(true); itemCircle.addActionListener(this); itemRect.addActionListener(this);
34、itemLine.addActionListener(this); public void actionPerformed(ActionEvent e) ()=“画圆) f.getGraphics().drawOval(100,100,150,150); else ()=“画矩形) f.getGraphics().drawRect(50,100,100,100); else ()=“画线) f.getGraphics().drawLine(100,100,200,200); public static void main(String arg) (new MenuExp().display()
35、; 创立JMenuItem先创立一个JMenuBar对象再创立假设干个JMenu对象添加处理事件添加JMenuItem到JMenu添加JMenu到JMenuBar添加JMenuBar到容器先创立一个JMenuBar对象再创立假设个JMenu对象Swing常用的组件对话框对话框分为模式对话框和无模式对话框。模式对话框必须在用户处理完后才允许用户与主窗口继续进行交互。无模式对话框允许用户同时在对话框和程序剩余局部中输入信息。 在Swing中,提供了四种简单的对话框:showMessageDialog:显示一条消息等待用户点击OK;showConfirmDialog:显示一条消息并等待确认;show
36、OptionDialog:显示一条消息并等待用户在一组自定义选项中的选择;showInputDialog:显示一条消息并等待用户的输入。以showConfirmDialog为例:对话框的使用 底部按钮的类型和对话框有密切的关系,对于showMessageDialog和showInputDialog对话框来说,只能有一组标准按钮,分别是OK和OK/CANCEL。对于showConfirmDialog,按钮可以包括四种:DEFAULT_OPTION,YES_NO_OPTION,YES_NO_CANCEL_OPTION,OK_CANCEL_OPTION。 int selection = (, /父窗
37、口“Are you sure?, “Logout, /消息以及对话框标题, /底部按钮类型); /消息类型学生信息管理系统登陆界面中,当单击确定按钮,如果用户名、密码不正确,将弹出对话框提示错误,同时原先的框架窗口将不能被激活,必须选择对话框中的一个选项才能够退出对话框。 对话框的使用举例对话框的使用举例在某些程序中,需要调整线性的值,这时就需要滚动条。滚动条提供了易于操作的值的范围或区的范围。类提供了对滚动条的支持,它的父类是类。Swing的常用组件滚动条JSlider 滚动条JSlider JSlider(滚动条)是一种可以在某一数值范围内进行值的线性调整的组件。 JSlider类的构造方法:JSlider() 创立范围为0至100,初值为50的水平滚动条。JSlider(int orientation) 创立范围为0至100,初值为50的水平或垂直滚动条。表示方向的值可为常量和,分别表示水平和垂直方
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (新教材)2026人教版三年级下册数学 2.2.8 归总问题 教学课件
- 2025 网络基础中 5G 与区块链金融网络的安全交易课件
- 统编版语文一年级下册第一单元 质量提优卷(含答案)
- 高耐腐蚀性零件数控加工系统应用可行性研究报告
- 2026年人才合同和人事代理合同(1篇)
- 刑罚执行的程序和监督
- 2025 高中信息技术数据与计算之计算思维在海洋化学数据监测分析中的应用课件
- 2025 高中信息技术数据与计算之算法的鸽群优化算法课件
- 煤气安全培训试卷及答案
- 2025 高中信息技术数据与计算之数据在电商营销渠道效果评估中的应用课件
- 薪资核定及管理办法
- 劳动课自制沙拉课件
- 药膳养生鸡汤培训课件
- 监狱辅警面试题目及答案
- 十五五特殊教育发展提升行动计划
- 医院运营数据统计分析
- 幼儿跑酷培训
- 2025至2030年中国氟化液行业市场运行态势及产业趋势研判报告
- 毕业设计(论文)-包裹分拣机械结构设计
- 徐州地铁考试题库及答案
- 国家助学贷款诚信教育主题班会
评论
0/150
提交评论