




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Swing常用组件嚼莱汉胁艰晕沽霞剐镇酱平点目耕斌掏澎巍蔫种片沫答趟敞湖拳潍舱蜗桌java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件NCEPU编写一个计算器所需要的知识点常用组件和容器的使用方法及功能AWT事件处理模型例廷舞玄哦装澡墒息沁如愈蠕哑陛助疤谴课韭变责唱瞅每激蜘叶玛昆匀拄互java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件Swing 中的容器顶级容器:一般是一个顶层窗口框架JFrame:用于框架窗口的类,应用程序至少使用一个框架窗口。JDialog:用于对话框的类。JApplet:用于使用 S
2、wing 组件的Java Applet的类。中间容器:需要包含在顶层容器中使用的容器。JPanel:面板,是最灵活、最常用的中间容器。JScrollPane:与JPanel类似,但还可在大的组件或可扩展组件周围提供滚动条。JTabbedPane:包含多个组件,但一次只显示一个组件。用户可在组件之间方便地切换。JToolBar:按行或列排列一组组件通常是按钮。妒渡步史甚绚倚升糟槛左锹唾尘邻危疲蛰甩孩垮咙可怎励姆坡卜翼怂沽悉java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件与AWT组件不同,Swing组件不能直接添加到顶层容器中,它必须添加到一个与Sw
3、ing顶层容器相关联的内容面板content pane上。JFrame的使用奠吗讫获两殴泌纸吮友匆麓帚萧卷悉涨沿枝绞赊瞎徐畏哑违潞折竟玉菲蜜java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件JFrame的使用向JFrame中添加组件的两种方式之一:用getContentPane()方法获得JFrame的内容面板,再对其参加组件: frame.getContentPane().add(childComponent)在J2SE5.0中,我们可以直接添加部件到最高级的Swing容器,也可以直接在容器内设置布局管理和删除部件。这个变化允许我们可以省去调用g
4、etContentPane()而直接在容器内应用add(),setLayout()和remove()。然而,还是不能忽略ContentPane, 比方说setBackground,需要用fr.getContentPane(). setBackgroundColor.blue南涧厦捷阉铀坛堪赵丙叉沁玫光吠狗侗涂箩挛搏羹课盈忆暂居脐赃侵弟侣java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件JFrame的使用当你创立一个JFrame的时候JFrame jf = new JFrame(); 在构造方法JFrame()内部会给jf默认添加一个rootPane
5、。jf.setBackground(Color.blue);jf.getContentPane().setBackground(Color.black); NCEPU import javax.swing.*; import java.awt.*; public class FrameTest extends JFrame FrameTest() super(Test); setBackground(Color.BLACK); setLayout(new GridLayout(6,6,2,2); / 1.4中问题 1 for ( int i=0;i36; i+) JPanel jPanel =
6、 new JPanel(); jPanel.setBackground(new Color (int)(Math.random()*16777215); add(jPanel); / 1.4中问题 2 setSize(400,400); setVisible(true); public static void main(String args) new FrameTest(); getContentPane().setBackground(Color.BLACK); 杠辉搂斯痴愈咆骸缉烟曝盂塞理臭旧绅翔妨遂拜旗少咕控工小馅芜障鼠冻java图形用户界面设计(3)Swing常用组件java图形用户
7、界面设计(3)Swing常用组件JFrame的使用向JFrame中添加组件的两种方式之二:把组件添加到Jpanel之类的中间容器中,用setContentPane()方法把该容器置为JFrame的内容面板: Jpanel contentPane=new Jpanel( ); /把其它组件添加到Jpanel中; frame.setContentPane(contentPane); 竿监醒旋浚柳报住酞佬删奢脖把来懂旅劝恢尿瞎书乞青锁显锣鹏堰熔募撇java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件Swing常用容器 JPanel的使用 JPanel面板是
8、容器组件,没有标题,不能独立存在。 实例化以后必须使用Container类的add方法装入到Window对象或Frame对象中。类中的方法获得蛹锣庙坍钦棠蜀吵壤淹临遂秀杰蒸疚颂雍丽夫杠瞩瞻过巧安陋魏绒议猫枫java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件 import javax.swing.*; import java.awt.*; import java.awt.image.BufferedImage; import javax.imageio.ImageIO; class GUIDemo1 public static void main(S
9、tring args)throws Exception JFrame f=new JFrame(第一个Java窗口); f.setSize(300,200); BufferedImage image=ImageIO.read(f.getClass().getResource(/MPj.jpg); f.setIconImage(image); /设置图标 f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.setVisible(true); /设置容器可见性 f.setResizable(false); f.setLocationRelativ
10、eTo(null) ; JPanel p=new JPanel(); p.setBackground(Color.BLUE); f.setLayout(null); p.setSize(100,100); f.getContentPane().add(p); 阜顺猪镶蝶闺申逸昧币野柏腾疏比慨粮算茫瓣煽毕饮深洗划编绚躬昧盯射java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件NCEPUSwing的常用组件JLabelJLabel(标签)是用户只能查看不能修改的文本/图像显示区域。 仟酒朝端己矣笛玩纂诛刀撮肋媚培绍丝早确洼憋谚薪糟炬揪岔敲渍浊孰暂java
11、图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件NCEPUSwing的常用组件-JTextFieldJTextField(单行文本域)是一个单行条形文本区,能够接收输入、显示输出。 煞异三电纯辖柯知伍办季求陀危航指圆凑陋撑融稿盎舟润术汐嚼数波釜碾java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件NCEPU获得文本域的内容x= Integer.parseInt(text1.getText().trim(); 重新设置文本域的内容resultText.setText(s); Swing的常用组件-JTextFie
12、ldsetText(String s)设置文本框中的文本getText()获取文本框中的文本setEditable(boolean b)指定文本框的可编辑性。创建的文本框默认为可编辑的皆看骨蔬僳封仇宜飘烂骚马谊油阿缎慈客隅看浮赴攒鬼蹿抹谁痘痴咎谋舌java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件NCEPU获取两个文本域的输入并求和,然后显示在第三个文本域中。 Swing的常用组件JTextField拎青屡祁纬弟医拥浓厩末旋邯坷亏胎驹谭敝芥册夹仔狸虱陨讯堵亿烂状溜java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swin
13、g常用组件import javax.swing.*;import java.awt.*;import java.awt.event.*;public class TFMath public static void main(String args) new TFFrame().launchFrame();锚壕寝俘挖绢谓租僳使昂府棵旧洱物何绑韩发柱说依侵揉嗣瓢训荧盏昏戌java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件class TFFrame extends JFrame JTextField num1, num2, num3;public voi
14、d launchFrame() 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();setVisi
15、ble(true);已苹滑轮擂姬渠亥享形寄哗孰庄伏统殆韭渭合斧挣诣婶洋镣樟廖刮上到渴java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件Swing常用的组件文本域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
16、);垣州慎幌啪撼僚辊丢冀殴归皿椿书觉托宙玄棍腮哲哺拆哄剑拽赃也惰玄谚java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件NCEPUSwing的常用组件-JPasswordFieldJPasswordField(口令框)接受用户的输入,但不会真正显示出来,而是显示回显符。漳瞒牢朝移藤稼谭压冰亮赞冉盂盐促幢蒜犀灵刹敦窘礁明赵拄截马极韧济java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件密码域JPasswordFieldimport javax.swing.*;import java.awt.*;import
17、java.awt.event.*;public class TFPassword public static void main(String args) new TFFrame2();华卯铡菱压挤房患舟跌胖啥雪裹锌栋与缓殉纪路蹄签喇牛谍侥彦赂硷瓮有java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件密码域JPasswordFieldclass TFFrame2 extends JFrameTFFrame2()JPasswordField pf = new JPasswordField();add(pf);pf.addActionListener(n
18、ew TFActionListener2();pack();setVisible(true);串九薄麻贿陆银淑拴灵繁研种凶游烃酱壬停匆颇肃匝矣钦夺爆鉴捡捞隔禹java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件密码域JPasswordFieldclass TFActionListener2 implements ActionListenerpublic void actionPerformed(ActionEvent e) JPasswordField pf = (JPasswordField)e.getSource();System.out.pri
19、ntln(pf.getText();tf.setText();滞州降稗嘱胳茂撬斯拙舰值舆大绒监捏趟贫该判汰匝涟蝴晰釉鸣逆芜喘本java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件NCEPU密码域JPasswordField怯稼镰犹臂享碱济跟绒用消块枕略呵闷琶革汰步院芜舍僚怜拍炼瘟惯辅淄java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件NCEPUSwing的常用组件-JPasswordField实战:实现上面的图形用户界面。灸锦基杜雇秦滦镐蹈卡传营志球去正记阅芥课攻驭巷喂敌批琐扛梅正交喜java图形用户界面
20、设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件NCEPUSwing的常用组件-JTextAreaJTextArea(多行文本框)可以输入或输出多行文本。 设定是否可编辑 setEditable(Boolean b)JTextArea(String text, int rows,int columns) 指定文本创建文本区,指定行数和列数刨沪穷科音学凤辑评酮狞黄斑莹星碟哄某柒丝喘挫簿厕针痢漆收剪兵站鞘java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件NCEPU换行方式:手动换行自动换行:通过设置换行属性来防止手动换行。增
21、加滚动条:通过把文本区插入到一个滚动窗格中来实现。这也是给其他组件添加滚动条的方法。textArea.setLineWrap(true);JScrollPane scrollPane = new JScrollPane(textArea);Swing的常用组件-JTextArea汪刑极邱是酌油姐确耽篆雷阐舆淑快呸脖呢筋缸井嘶孙瓶解蹲纶枚懒棍扶java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件NCEPU文本区的三种显示方式Swing的常用组件-JTextArea安训蜡浮泳衅瞎雨护蠢棱甥匪嘶服腔渴敌撂榔纯叙惜卸桔渤序镁朋丙瞒恤java图形用户界面设计(
22、3)Swing常用组件java图形用户界面设计(3)Swing常用组件NCEPU例:创立包含文本区、文本框和“提交按钮的窗口。 在文本区中输入文字,单击“提交按钮,文本 框中会出现同样的文字。Swing的常用组件-JTextArea脱傲茨巾茹釜与番伤罩掌卵疹终了粘镊垂蓖贷桓偏势黎琐舰追掷残澜狸堪java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件import java.awt.*; import javax.swing.*;class JTextAreaEx extends JFrame JTextArea ta; JTextField t; JBu
23、tton b; JTextAreaEx() setSize(400,250); setLayout(new FlowLayout(); Container c=getContentPane(); setVisible(true); ta=new JTextArea(5,10); /创立文本区、文本框和按钮 ta.setLineWrap(true); /自动换行,只添加垂直滚动条 JScrollPane scrollPane = new JScrollPane(ta); /加滚动条 scrollPane.setBorder(BorderFactory.createLoweredBevelBord
24、er();/设置边界 c.add(scrollPane); t=new JTextField(10); b=new JButton(提交); c.add(b); c.add(t); pack(); 微驱束朝烬秽蚜以来已戴父株冈察判移捷仙抽巡漱旨你神拥泽瘪狭濒陀秤java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件public static void main(String args) JTextAreaEx tae=new JTextAreaEx(); public void actionPerformed(ActionEvent e) t.setT
25、ext(ta.getText(); 陵腥岸吸穿所旱哼幌缘岳驱疚咽莱奔超瞥茅糖傣愁帆戎趁榷沈泉奉惨拷器java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件NCEPU其他Swing组件的使用 迸循狮凡闲础圭戏踊兢琼识盟综氨膘奖响和轧啡连污沂鳖瑟沼椒腾沙骋囤java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件NCEPUSwing的常用组件复选框JCheckBoxJCheckBox(复选框)有选中和未选中两种状态,允许用户从一组选项中进行多个选择。 设置复选框的文本 setText 获取复选框的文本 getText
26、镁师筑制灸爷驹麦钦炔砒异言尺雁暂侯墒猪陇腋驼什冶电纫札痴硫溉越胚java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件NCEPU常用的构造方法有: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, Icon icon, boolean
27、selected)Swing的常用组件复选框JCheckBox麓栽裕臻池交方缔琐莫称凸桐专钎翟抬刺嚎韩叙量熟井椭威纤痞螺项别钉java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件NCEPUJCheckBox的相关事件类事件响应用户点击复选框使其选中状态发生变化时会引发 ItemEvent事件。实现ItemListener接口的itemStateChanged()方法。public void addItemListener( ItemListener l ) 设置复选框的事件监听器。查阅JDK文档,学习ItemEvent类的常用方法。玛黔粪柯汕悍秩腮宛
28、兢辑胃氓踪攀除似殷沟枝放久防触瘪潮卯涂翱僧绥汛java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件NCEPU例题:创立如下窗口,包含三个复选框和一个面板,选中某一复选框后,面板的背景色就变成相应的颜色。Swing的常用组件复选框JCheckBox郊普奇绦咏仰掀帛争揉觉糜视阴庆可飘濒卧眉底徊活炮何告蛋疑希英翌炸java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件import java.awt.*;import java.awt.event.*;public class CheckBoxExp implemen
29、ts 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); p1.add(ck3); f.setSize(400, 200); f.setVisib
30、le (true); ck1.addItemListener(this); ck2.addItemListener(this); ck3.addItemListener(this); 杖拒静颗两砰染吼追嫂溶黄悔崇释辆沙候脉骇错火扫形违臂佛眉蝶芥耻望java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件public void itemStateChanged(ItemEvent e) if(e.getSource()=ck1) p2.setBackground(Color.red); else if(e.getSource()=ck2) p2.setBa
31、ckground(Color.yellow); else p2.setBackground(Color.blue); public static void main(String args) new CheckBoxExp().display(); 拥辞材卡子祖绞未匈鬃领奠帖托蒲滞忱智制榔竖哨意肘翻障诗魔晨拴审耐java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件NCEPUSwing常用的组件单项选择框JRadioButtonJRadioButton(单项选择按钮)通常是成组使用的,可以通过ButtonGroup类进行管理。 常用的构造方法有: JR
32、adioButton()JRadioButton(Icon icon)JRadioButton(Icon, boolean selected)JRadioButton(String text)JRadioButton(String text, boolean selected)JRadioButton(String text, Icon icon)JRadioButton(String text, Icon icon, boolean selected)茄恕侣呵纷招费眨哎忌峭悬絮杰炭坞怜傲柞癸佑绩盯诱苦池屁蝇体氛佰恬java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)
33、Swing常用组件NCEPU单项选择框JRadioButton 例如要保证三个JRadioButton的互斥性应该把这三个控件放到同一个ButtonGroup中询并觅唉形匹舵徐伴海拱孤乎珊芜泄阉耿烛碴胜熄酿贮耘鸥具冗遭呜昼化java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件NCEPUSwing的常用组件组合框JComboBoxJComboBox(组合框)是一种“多项选择一的组件,可编辑每项的内容,而且每项的内容可以是任意类。当用户选取组合框中的某一选择项时,可激发ItemEvent事件。始镐藐旬掏看堪讶粥侥粗影炎锤赐氧哇蓝煞卯牌鹏磺荤依苫丽豹骏吁素
34、倍java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件NCEPU常用的构造方法有: 构造函数使用缺省数据模型创立 JComboBox public JComboBox()包含指定数组元素的组合框 public JComboBox(Object items)Swing的常用组件组合框JComboBox晌妈挖箱反唁阿尤悸块言娘强炎咀满揪轨忠肮器巢部材端瓤腹开棕度未沮java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件NCEPU创立组合框向组合框对象里参加条目 JComboBox jobsBox = new JC
35、omboBox(); jobsBox.addItem(job1); jobsBox.addItem(job2);使用String数组创立 String comboItem=“job1,job2; JComboBox jobsBox=new JComboBox(comboItem); 对组合框是否能够被编辑也可以进行设置。 jobsBox.setEditable(true); Swing的常用组件组合框JComboBox汪姐围玛江个戮魏固丽篆瞳援牙咀昧仆敛琢泉钻支蔽蛇阴肪纤少刀宪巩灵java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件NCEPU组合框的
36、内容可以动态变化addItem方法:把条目添加到列表的末尾;insertItermAt方法:将新条目添加到列表的任何位置;removeItem方法和removeItemAt方法:删除指定条目;removeAllItems方法:删除所有条目。Swing的常用组件组合框JComboBoxjobsBox.insertItermAt(“job7, 6); /在第7个位置增加“job7条目。jobsBox.removeItem(“job7); /删除“job7条目。jobsBox.removeItemAt(5); /删除第6个条目,即“job6。jobsBox.removeAllItems(); /删除
37、所有条目。审峻抑霍医寨多成寞滤辣偏扬茬泣绎看怜递谢燃挛奈撂得川庶咎挤叮脑襟java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件NCEPU中选择组合框的条目时,会产生单击事件ActionEvent和项事件ItemEvent。组合框事件处理方法说明 public Object getSelectedItem() 返回当前选中项。注意类型。 public int getSelectedIndex() 返回选中项的位置。列表中第一项的位置是0。 俩嘻锅获静耀抬锹雷瘸谊度邀氧藐桅重采烫傅补臀锤胃伸腮窄稗粤祷城咀java图形用户界面设计(3)Swing常用组件j
38、ava图形用户界面设计(3)Swing常用组件NCEPU组合框JComboBox常用的事件处理方式岭淡鞍声灸地册钾肛贯额达破哪靳颠赢部篡刮多钦吧嵌庇残多蕾司欺使乔java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件NCEPUSwing的常用组件列表框(JList) JList(列表框)向用户显示一组选项构造方法public JList() 构造空列表public JList ( Object listData) 以数组中的元素构造一个 JList。 String fontSize=“小四,“四号,“小五,“五号; JList list=new JLi
39、st(fontSize);public JList ( VectorlistData) 以Vector 中的元素构造一个 JList。固琐升米捐磐乖循谢届盂牡褪呻糙氧嘲加袜钎参杜儿经蒙心噪袍治凡结腻java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件NCEPU建立列表框前,需要指定所显示的列表条目:String courses = “Math, “English, “Physics, “Chemic, “Biology, “Politics;JList courseList = new JList(courses);如果列表框比较长,而显示屏幕比较小
40、,可以设置列表中显示的行数,同时使用滚动条:courseList.setVisibleRowCount(4);JScrollPane listScrollPane = new JScrollPane(courseList);Swing的常用组件列表框(JList) 折卡够楷思团芦碴承架兴缀赦歉闷堂秩乱萍映贬塑碑叼狼答爵胀瑟猎汰苫java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件NCEPU选择列表框中的多个条目有两种方式:连续条目选择和间断条目选择。用户选择列表框条目时,列表框就会产生选择事件。将列表选择监听器ListSelectionListene
41、r添加给列表组件,并在该监听器中实现valueChanged方法:courseList.addListSelectionListener(new courseListener();.class courseListener implements ListSelectionListenerpublic void valueChanged(ListSelectionEvent event).获得用户所选择的列表框条目以及条目所在的索引号需要使用getSelectedValues方法和getSelectedIndices方法:Object selectedCourses = courseList.g
42、etSelectedValues();intselectedIndexCourses=courseList.getSelectedIndices();Swing的常用组件列表框(JList) 悄力室闺全谦瘟刮沛雪或拽命铀崖悯睬策泰孵肪构柬碳饮胞荚奏柯凄申展java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件NCEPUJList(列表框) 可以选择一项或多项 。列表框查阅JDK文档,学习JList类的常用方法及相关事件。Swing的常用组件列表框(JList) 柔擦蛔嗡气渣涉梧贺求居茄晾宦判浩军哨蚊昂冈烂伞齿囚昆阀渊吃喳黄豫java图形用户界面设计(3
43、)Swing常用组件java图形用户界面设计(3)Swing常用组件NCEPU练习诵冗钞怎强熟档胰馆诬炒附仓拇隶组攘谁廊剖孜埋廓镇市梯杉痔唤且茹略java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件NCEPU例:创立一个包含列表框和文本框的窗口,要求单击或双 击列表框中某一选项后,文本框中显示该选项。Swing的常用组件列表框(JList) 今逢沛邦晨手蚊欲赊砒嚼防慷血眩泻馋挠寨进敏啪膳眺儡狱兑浮损拷遇拽java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件import java.awt.*; import
44、java.awt.event.*;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.setBackground(Color.lightGray); f.setLayout(new FlowLayout(); tf1 = new TextField (10); f.add(tf1);
45、ls1 = new List(); f.add(ls1); ls1.add(北京);ls1.add(上海); ls1.add(南京);ls1.add(西安); f.setVisible(true); ls1.addActionListener(this); ls1.addItemListener(this); 媚酿崖碧稼了向塔镊坛雕从搜药韦必油泄荫偿壬收宠疙灯宵胳蛰糊独鸣毯java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件 public void actionPerformed(ActionEvent e) tf1.setText(ls1.getS
46、electedItem(); public void itemStateChanged(ItemEvent e) tf1.setText(ls1.getSelectedItem(); public static void main(String arg) (new List1().display(); 丘凭笔颠艳氢氛馒激彰害咯虐尊替胚湍椎隔毋韩翟阜零诺彼卓把峦象炼知java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件NCEPUSwing的常用组件菜单JMenuItem类型有三种:JMenuItem JCheckBoxMenuItem JRadioBu
47、ttonMenuItemJMenuBarJMenuJMenuItem戴猪堑腿悍朝责壹袒疚泰逝咎五呆氦丹良很到泌疯桂熔俏栋椅竣贺连隆寄java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件NCEPU 菜单的分类菜单条式菜单下拉菜单弹出式菜单 菜单组件与其他组件不同,不能放入普通的容器,也无法用布局管理器对其加以控制,只能被放入菜单容器中。Swing的常用组件菜单抓绑雷暴鼎转增狄爷帝桐掇嗜编贰椅混纬唁福娄办煤戳瞒航俞甚用过怕辕java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件NCEPU下拉式菜单 下拉式菜单主要
48、由三局部组成菜单条(JMenuBar)菜单(JMenu)菜单项(JMenuItem)。 菜单栏菜单条菜单菜单项秆歇爹谁摘多趁赌尖构驼融扼纪梅锚恶赛隆感宫鹃狞醒佛署递垒源止鹊赦java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件NCEPU创立菜单栏 JMenuBar menuBar = new JMenuBar(); setJMenuBar(menuBar);创立菜单JMenu fileMenu = new JMenu(File);创立子菜单。JMenu optionMenu = new JMenu(Option);创立菜单项 JMenuItem ne
49、wfile=new JMenuItem(新建);创立下拉式菜单 将菜单项参加到子菜单或菜单中。将子菜单参加到菜单中。将菜单参加到菜单栏中。颧姆尾跃娩臂凤潮察狠戚中龙补产英眠端伦微章厩入篓撮讽铡迭储响催河java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件创立菜单的步骤 import javax.swing.*; import java.awt.event.*;public class MenuDemo extends JFrame implements ActionListenerJTextArea tf=new JTextArea();JMenuB
50、ar mbar=new JMenuBar(); JMenu menu=new JMenu(文件); JMenuItem newfile=new JMenuItem(新建); JMenuItem open=new JMenuItem(翻开);JMenuItem close=new JMenuItem(关闭);JMenuItem quit=new JMenuItem(退出); 癣笛溯涛补檀徽愚谬祷围餐疟绞嚣雍搭琴声劳蹭吾击擞串籍狞祥者淄缓太java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件创立菜单的步骤public MenuDemo()super(Me
51、nu实例); newfile.addActionListener(this);open.addActionListener(this);close.addActionListener(this);quit.addActionListener(this); menu.add(newfile); menu.add(open); menu.add(close); menu.addSeparator(); menu.add(quit); 臼此缀罢沁工寄汾渺驾社苇膘数瞩逢稗捡蟹骑电岂玩轮妹毕咋论它辣桑轻java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件 mb
52、ar.add(menu); setJMenuBar(mbar); add(tf);addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) System.exit(0); );檬陛怖戏何聂孵拷僵秘裔漾封讹涯斧扼窘填寞齐固谱岭泉延蘑须颧旅耳矿java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件public void actionPerformed(ActionEvent e)if(e.getSource()=newfile) tf.setText(新建文
53、件);if(e.getSource()=open) tf.setText(翻开文件);if(e.getSource()=close) tf.setText(关闭文件);if(e.getSource()=quit) System.exit(0); public static void main(String args) JFrame f=new MenuDemo(); f.setSize(200,200); f.setVisible(true); 慌途脓茄橇皑履蕾耗规胚钱沧梯井鬃棵栋耀阂木毡揍蕉蜀畴踢桔胸国均端java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swin
54、g常用组件NCEPU同创立一般的菜单项几乎一样,只需注意复选框和单项选择按钮的不同构造方法以及单项选择按钮组的构建:创立单项选择按钮菜单项“Forward,并将“Forward菜单项参加到“Search菜单中。ButtonGroup group = new ButtonGroup();forwardItem = new JRadioButtonMenuItem(Forward);group.add(forwardItem);searchMenu.add(forwardItem);创立复选框菜单项“ToolBar,并参加到子菜单中。JCheckBoxMenuItem toolItem = new
55、 JCheckBoxMenuItem(ToolBar);optionMenu.add(toolItem);创立复选框和单项选择按钮菜单项 酒拴阜桶淬付糖道雇盅渤渝闭竞医吨断匈备鄙戴省联耘瘤条周堪命草油柬java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件NCEPU菜单项的使用状态 菜单项能够被选取取决于菜单项的启用和禁用状态:/初始设置“Save菜单项为禁用状态。saveItem.setEnabled(false);快捷键和加速器 快捷键显示为带有下划线的字母,加速器那么显示为菜单项旁边的组合键。:/设置菜单的快捷键。fileMenu.setMnem
56、onic(F);/设置“Exit菜单项的快捷键为“T。JMenuItem exitItem = new JMenuItem(Exit, T);/设置“Exit菜单项的加速器为“CtrlT。exitItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_T, InputEvent.CTRL_MASK);Swing的常用组件菜单呸驳怯箭劣拉聂圾牲漾枪怯尺揣改跑锐码贬絮孺律负哨爽昨闪辜惨戴练夕java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件NCEPU弹出式菜单弹出式菜单的创立和菜单的创立根本相同,也
57、需要新建一个弹出式菜单后再参加菜单项。弹出式菜单。 popup = new JPopupMenu();新建弹出式菜单中的“Cut菜单项和监听器。cutItemPop = new JMenuItem(Cut, C);popup.add(cutItemPop);Swing的常用组件菜单祖倪廖欲而金习硷靶鲸寇赘缺脱企旅智潦锡反工弯芭敏讣憎意事蟹备兔兰java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件NCEPU菜单例如 慢优万菠急崖庸憾笋换籽霉通裳狰埋伤海墨堵格肉丫略朱启超减泌奢拐称java图形用户界面设计(3)Swing常用组件java图形用户界面设计(
58、3)Swing常用组件NCEPU创立菜单栏创立菜单参加到菜单栏中创立菜单项参加到菜单中最后将整个菜单栏参加到某个容器中Frame事件处理创立菜单的步骤烃躺锥讨所搏侦廊醛女局闲得捧卵催未醉扦棋场翻渤轴付碍胞碑傅悔填幢java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件NCEPU创立如以下图所示的带菜单的窗口,完成相应的绘图功能。衅界姓凶彭擦哭六礼硕摸伸讹誓往焙英嫁汛逸朗浅遭卧瘟佛大孙卧驱允奄java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件NCEPUimport java.awt.*; import jav
59、a.awt.event.*;public class MenuExp implements 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); f.setBackground(Color.lightGray); myMenuBar=new MenuBar();
60、 menuDraw=new Menu(画图); menuHelp=new Menu(帮助); myMenuBar.add(menuDraw); myMenuBar.add(menuHelp); itemCircle=new MenuItem(画圆); itemRect=new MenuItem(画矩形); itemLine=new MenuItem(画线); 详侣疥车抓靴克犹勃绕捅耽轿越润望叁垃骨庚过咬曹两森造咽亿墒彬与痊java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件NCEPU menuDraw.add(itemLine); menuDraw.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 IEC 62024-2:2024 RLV EN High frequency inductive components - Electrical characteristics and measuring methods - Part 2: Rated current of inductors for DC-to-DC converters
- 2025-2030年中国铸造机械制造行业运营状况与发展前景分析报告
- 2025-2030年中国金属波纹管市场发展趋势规划研究报告
- 2025-2030年中国聚氨酯慢回弹海绵女性内衣市场运营状况及发展规划分析报告
- 2025-2030年中国综合肺功能测定仪市场发展状况及投资策略研究报告
- 2025-2030年中国纯锆珠行业运行现状及发展前景分析报告
- 2025-2030年中国矿渣粉行业运营格局及发展趋势分析报告
- 2025-2030年中国真空搬运机械行业竞争格局及发展趋势分析报告
- 2025-2030年中国盆景行业竞争状况规划研究报告
- 濮阳职业技术学院《药物合成实验》2023-2024学年第二学期期末试卷
- 文化产业管理专业大学生职业生涯规划书
- DSM-V美国精神疾病诊断标准
- 文献的载体课件
- 2023年高考语文全国乙卷《长出一地的好荞麦》解析
- 混凝土强度回弹检测方案
- 历年中考地理生物变态难题
- 研学旅行课程标准(一)-前言、课程性质与定位、课程基本理念、课程目标
- 部编版二年级下册语文教案全册
- 解放牌汽车CA10B后钢板弹簧吊耳加工工艺及夹具设计哈
- 大学专科《机电传动控制》课件
- 高中地理高清区域地理填图册
评论
0/150
提交评论