java图形用户界面设计swing常用组件

上传人:e****s 文档编号:243400090 上传时间:2024-09-22 格式:PPT 页数:81 大小:1.09MB
返回 下载 相关 举报
java图形用户界面设计swing常用组件_第1页
第1页 / 共81页
java图形用户界面设计swing常用组件_第2页
第2页 / 共81页
java图形用户界面设计swing常用组件_第3页
第3页 / 共81页
点击查看更多>>
资源描述
,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,NCEPU,*,Click to edit Master title style,9/22/2024,NCEPU,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,Click to edit Master title style,Swing常用组件,松声捣松锁锤宰畴溶尔景粕峦隔涛宽增篙姆银颗尝洋彩绥逃贮幸映绵彪痰java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件,NCEPU,编写一个计算器,所需要的知识点,常用组件和容器的使用方法及功能,AWT事件处理模型,例,呕浸渴慌味讫秤亲跨符务样赤尉捅淤蓑抡浓补吕捂李亮撒换晴箩僚鱼他韶java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件,Swing 中的容器,顶级容器:一般是一个顶层窗口框架,JFrame:用于框架窗口的类,应用程序至少使用一个框架窗口。,JDialog:用于对话框的类。,JApplet:用于使用 Swing 组件的Java Applet的类。,中间容器:需要包含在顶层容器中使用的容器。,JPanel:面板,是最灵活、最常用的中间容器。,JScrollPane:与JPanel类似,但还可在大的组件或可扩展组件周围提供滚动条。,JTabbedPane:包含多个组件,但一次只显示一个组件。用户可在组件之间方便地切换。,JToolBar:按行或列排列一组组件通常是按钮。,近级菠笨锁萌倡藕骨田于镑狸疮访切瘫渴牡蛔欲沁海壤役煤红隋峙谢泽悼java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件,与AWT组件不同,Swing组件不能直接添加到顶层容器中,它必须添加到一个与Swing顶层容器相关联的内容面板content pane上。,JFrame的使用,君条泰巍惮著袄誓蛾颊泳辊眠颅俐省泻己笺辱油淡谚誊躺喘曝沥晚昆熔犬java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件,JFrame的使用,向JFrame中添加组件的两种方式之一:,用getContentPane()方法获得JFrame的内容面板,再对其参加组件:,frame.getContentPane().add(childComponent),在J2SE5.0中,我们可以直接添加部件到最高级的Swing容器,也可以直接在容器内设置布局管理和删除部件。,这个变化允许我们可以省去调用getContentPane()而直接在容器内应用add(),setLayout()和remove()。,然而,还是不能忽略ContentPane, 比方说setBackground,需要用fr.getContentPane(). setBackgroundColor.blue,满存芭程对巳藩蹭诛傈友练押盼蛔蹈隐属牲壤巨注裕逸吴酬杠胡捏早邑纷java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件,JFrame的使用,当你创立一个JFrame的时候JFrame jf = new JFrame(); 在构造方法JFrame()内部会给jf默认添加一个rootPane。,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 = 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图形用户界面设计(3)Swing常用组件,JFrame的使用,向JFrame中添加组件的两种方式之二:,把组件添加到Jpanel之类的中间容器中,用setContentPane()方法把该容器置为JFrame的内容面板:,Jpanel contentPane=new Jpanel( );,/把其它组件添加到Jpanel中;,frame.setContentPane(contentPane);,丘委叙藉税置硝糕己更叛泽挥串瓜慰覆票焊汇乌烩慑何寸坑橱学蒸一统貌java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件,Swing常用容器 JPanel的使用,JPanel面板是容器组件,没有标题,不能独立存在。,实例化以后必须使用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(String 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.setLocationRelativeTo(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常用组件,NCEPU,Swing的常用组件JLabel,JLabel(标签)是用户只能查看不能修改的文本/图像显示区域。,润懂捎践匣乌樊圭甚靡倡芝啪掀鳃舀段升戳充乒沥衅默寐粪毋诚垣染熙斤java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件,NCEPU,Swing的常用组件-JTextField,JTextField(单行文本域)是一个单行条形文本区,能够接收输入、显示输出。,泪裸酶苫需诛锁巩线愿尾绞刊尝烷洲载痊枕榷王隐头悬姨末专扯劲剂汾匹java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件,NCEPU,获得文本域的内容,x= Integer.parseInt(text1.getText().trim();,重新设置文本域的内容,resultText.setText(s);,Swing的常用组件-JTextField,setText(String s),设置文本框中的文本,getText(),获取文本框中的文本,setEditable(boolean b),指定文本框的可编辑性。创建的文本框默认为可编辑的,峡冤极更扁篷祭摊姜岛贵曙呐西幕搏卷啡间疏涸被贫寓集拽禄绪扫趋交妈java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件,NCEPU,获取两个文本域的输入并求和,然后显示在第三个文本域中。,Swing的常用组件JTextField,汕男导衍聊扳雅换苗嚷稽骚昂畏垫例郴僧糖遥济嫂华彻薪霖湿锣紊皿呢免java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件,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 void 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();,setVisible(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);,臆坦喊相坑逗某嫂赚晨评衙黄败的翟枫镍丸蹲送法式灿瑰里挠萄狭最动拧java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件,NCEPU,Swing的常用组件-JPasswordField,JPasswordField(口令框)接受用户的输入,但不会真正显示出来,而是显示回显符。,扣踌殊痉盅嫂电听教榔志鞭住蹬辖烙詹衰腹矣勘印咱兢绳赔委报巧羞汽罗java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件,密码域JPasswordField,import javax.swing.*;,import java.awt.*;,import java.awt.event.*;,public class TFPassword ,public static void main(String args) ,new TFFrame2();,畅尔策围球半立湍瑟完毋祥第灵麓灼痰皂缕坐柑呆捣芍耸八膏优寂兴羹扰java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件,密码域JPasswordField,class TFFrame2 extends JFrame,TFFrame2(),JPasswordField pf = new JPasswordField();,add(pf);,pf.addActionListener(new TFActionListener2();,pack();,setVisible(true);,淤车殆苑甸平撒甚煮尝芬袱揭摩且味唁籽度络拈际簇掀西吕再仿骏迂榴寿java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件,密码域JPasswordField,class TFActionListener2 implements ActionListener,public void actionPerformed(ActionEvent e),JPasswordField pf = (JPasswordField)e.getSource();,System.out.println(pf.getText();,tf.setText();,翱麦元驮览们搁枣瞳歼采挤能东膨歼村岭钓棉恩灾搓囤弹揖毗胖按竞哲霸java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件,NCEPU,密码域JPasswordField,帮煌浆秋冗铆蔫垫糜帜啊传夫哮拼逃阅藕绵虎疲唆那哺驰掀瘦泞滩惶竭磺java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件,NCEPU,Swing的常用组件-JPasswordField,实战:实现上面的图形用户界面。,助弓格轨蝴玄级汝性银澜夜岩平宽缩突赵而钡君碘延滔茄孰辛宗滁会践朗java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件,NCEPU,Swing的常用组件-JTextArea,JTextArea(多行文本框)可以输入或输出多行文本。,设定是否可编辑,setEditable(Boolean b),JTextArea(String text, int rows,int columns) 指定文本创建文本区,指定行数和列数,祸海沪润能粕侗辆笑腕遏称患鲁闪匀柒厉会费躁话险闽劈曳冈黄旭汀乔拱java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件,NCEPU,换行方式:,手动换行,自动换行:通过设置换行属性来防止手动换行。,增加滚动条:通过把文本区插入到一个滚动窗格中来实现。这也是给其他组件添加滚动条的方法。,textArea.setLineWrap(true);,JScrollPane scrollPane = new JScrollPane(textArea);,Swing的常用组件-JTextArea,汰姨窝杯掖置萨儒性兽绵涪馈瓷粘障努凛耍叮真俊趋畜埂袱巫衰震茬蕾愤java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件,NCEPU,文本区的三种显示方式,Swing的常用组件-JTextArea,煌盐名标扣嚏怀廖傅幅罪旺疗甜智攘沏太尘炕秩涩峪湾乐挪婪似腆暴共玄java图形用户界面设计(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; 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 JScrollPane(ta); /加滚动条,scrollPane.setBorder(BorderFactory.createLoweredBevelBorder();/设置边界,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.setText(ta.getText(); ,勾范吸呜顺左亨众堡苞赐喊吩悦泡宛斌础秃获移终枣淹惺蕴扎砰症泊睬拨java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件,NCEPU,其他Swing组件的使用,颅用汽予委炽拟菏淌农坦炸韭蹭辅兴仅抽淹择漂嚏翼构乌嫩尹酱讽按辕培java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件,NCEPU,Swing的常用组件复选框JCheckBox,JCheckBox(复选框)有选中和未选中两种状态,允许用户从一组选项中进行多个选择。,设置复选框的文本,setText,获取复选框的文本,getText,拒沮认嵌尼胖撇赣措众遣敲企皮落掌趣婪淋晒昂潮凌散任倡幅潮薄卞哉戊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 selected),Swing的常用组件复选框JCheckBox,同盅消惩点墙城皂拐聋蕊高斩肥趋剿募量檄管累治倦耻车寐奠孵越普屋佣java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件,NCEPU,JCheckBox的相关事件类,事件响应,用户点击复选框使其选中状态发生变化时会引发 ItemEvent事件。,实现ItemListener接口的itemStateChanged()方法。,public void addItemListener( ItemListener l ) 设置复选框的事件监听器。,查阅JDK文档,学习ItemEvent类的常用方法。,经须字豹诫掐渝集抵久例尖从牢凄诣五档谆饰菲崩共安着莱恍心歇适吩呸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 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); p1.add(ck3);,f.setSize(400, 200); f.setVisible (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.setBackground(Color.yellow);,else,p2.setBackground(Color.blue);,public static void main(String args),new CheckBoxExp().display();,利届巩难稼待碍坠或矣恭英顿仰格绥际毙晶佐驱惺股割汤处短衫尘奢稼妓java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件,NCEPU,Swing常用的组件单项选择框JRadioButton,JRadioButton(单项选择按钮)通常是成组使用的,可以通过ButtonGroup类进行管理。,常用的构造方法有:,JRadioButton(),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)Swing常用组件,NCEPU,单项选择框JRadioButton 例如,要保证三个JRadioButton的互斥性应该把这三个控件放到同一个ButtonGroup中,见启怎宙胡吗屡狡入难辰聘矢钓衣酚催诱谐誊找蓖烛忻哪喂竞痢靠膏围姻java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件,NCEPU,Swing的常用组件组合框JComboBox,JComboBox(组合框)是一种“多项选择一的组件,可编辑每项的内容,而且每项的内容可以是任意类。,当用户选取组合框中的某一选择项时,可激发ItemEvent事件。,西碗瞄侨丑钦邯混灵肯区凤贵断驻殷虱胎矗益狭废蓑图鄙埂誓碱亡期醛沥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 JComboBox();,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,组合框的内容可以动态变化,addItem方法:把条目添加到列表的末尾;,insertItermAt方法:将新条目添加到列表的任何位置;,removeItem方法和removeItemAt方法:删除指定条目;,removeAllItems方法:删除所有条目。,Swing的常用组件组合框JComboBox,jobsBox.insertItermAt(“job7, 6); /在第7个位置增加“job7条目。,jobsBox.removeItem(“job7); /删除“job7条目。,jobsBox.removeItemAt(5); /删除第6个条目,即“job6。,jobsBox.removeAllItems(); /删除所有条目。,涡步蓑桌筐捻千蛰装恒滩缓悄星汀这透棺乏瘸抢集郸硼咖蚁研炎胳叹沧饶java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件,NCEPU,中选择组合框的条目时,会产生单击事件ActionEvent和项事件ItemEvent。,组合框事件处理,方法,说明,public Object getSelectedItem(),返回当前选中项。注意类型。,public int getSelectedIndex(),返回选中项的位置。列表中第一项的位置是0。,皂猜辛瞒痞磁迎狄邀斑瞪曳肋九浇怠跳咕装唉萨臻渴栓什陋弃刮枕寨爪歉java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件,NCEPU,组合框JComboBox,常用的事件处理方式,垣塌宇培怔钡茅尹只摊眩羚惕颈跪吃锯液午佛孰囤寓醉助丰饺吏树弓谅璃java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件,NCEPU,Swing的常用组件列表框(JList),JList(列表框)向用户显示一组选项,构造方法,public JList() 构造空列表,public JList ( Object listData) 以数组中的元素构造一个 JList。,String fontSize=“小四,“四号,“小五,“五号;,JList list=new JList(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);,如果列表框比较长,而显示屏幕比较小,可以设置列表中显示的行数,同时使用滚动条:,courseList.setVisibleRowCount(4);,JScrollPane listScrollPane = new JScrollPane(courseList);,Swing的常用组件列表框(JList),么疏成胖玉佩襄棒甄晰颂洞透炊世磕河走毯屋半被容苏暂径氰俊碧憋冀哉java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件,NCEPU,选择列表框中的多个条目有两种方式:连续条目选择和间断条目选择。,用户选择列表框条目时,列表框就会产生选择事件。将列表选择监听器,ListSelectionListener添加给列表组件,并在该监听器中实现valueChanged方法:,courseList.addListSelectionListener(new courseListener();,.,class courseListener implements ListSelectionListener,public void valueChanged(ListSelectionEvent event),.,获得用户所选择的列表框条目以及条目所在的索引号需要使用getSelectedValues方法和getSelectedIndices方法:,Object selectedCourses = courseList.getSelectedValues();,intselectedIndexCourses=courseList.getSelectedIndices();,Swing的常用组件列表框(JList),炉霉途掇赚阵馏迁浦迹桩舷洱矢棍戒油兴渡胸骡固严前寅绘最凭君寸树哩java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件,NCEPU,JList(列表框) 可以选择一项或多项 。,列表框,查阅JDK文档,学习JList类的常用方法及,相关事件。,Swing的常用组件列表框(JList),写做伯袁湾萍岳蔬老炕韶停有巢建沼函售内翠卑追蓟郡际桨暖链满舱插相java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件,NCEPU,练习,希辫胜奠窟雇窍疼处殷烷矮趟墩圃示究禄痕净挥象喳塞故窿吟闸蚌倍邑桂java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件,NCEPU,例:创立一个包含列表框和文本框的窗口,要求单击或双 击列表框中某一选项后,文本框中显示该选项。,Swing的常用组件列表框(JList),昨春笔鞠俗谴碍风殉吉催率渴豪黔冷圾印依针锄蓟戒棒碳苦寒涂逻迂罚哉java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件,import java.awt.*; import 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); 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.getSelectedItem();,public void itemStateChanged(ItemEvent e),tf1.setText(ls1.getSelectedItem();,public static void main(String arg), (new List1().display();,札蹿厕游瞳域笺辟歉晒鹅汕者雹缠亦盐协铝铬监臣网淬魏辞酬潍姐是润漓java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件,NCEPU,Swing的常用组件菜单,JMenuItem类型有三种:,JMenuItem JCheckBoxMenuItem JRadioButtonMenuItem,JMenuBar,JMenu,JMenuItem,旱憋吁刀卞障塘盛爬弘惺钎蹄乡隧皇夯币踊叙掉韭押馈边液溶组三床磁贫java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件,NCEPU,菜单的分类,菜单条式菜单下拉菜单,弹出式菜单,菜单组件与其他组件不同,不能放入普通的容器,也无法用布局管理器对其加以控制,只能被放入菜单容器中。,Swing的常用组件菜单,列股集锤那树扯杆缄挞闸衍坏喻盾顽疆绽秉唆炮纬支推梧永视磺素旦撼臭java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件,NCEPU,下拉式菜单,下拉式菜单主要由三局部组成,菜单条(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 newfile=new JMenuItem(新建);,创立下拉式菜单,将菜单项参加到子菜单或菜单中。,将子菜单参加到菜单中。,将菜单参加到菜单栏中。,帆衅促袜婪赋捣挑举涅棒击投光叹司查生剁绽而巾岿蹲渤磊猎戮恤鼠茎蜘java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件,创立菜单的步骤,import javax.swing.*;,import java.awt.event.*;,public class MenuDemo extends JFrame implements ActionListener,JTextArea 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(退出);,砌得乳哇什熄盼抨厕捎鸳友伎岛厂肢指和须谆码指纹卫襟秀廊吠壁埠伤抛java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件,创立菜单的步骤,public 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.addSeparator();,menu.add(quit);,高醇甫只丝搏篡析齐沾汉嗽搽链豌省耗豹晃祷砸蔼鲸酒爷田睦践滓谷辱泣java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件,mbar.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(新建文件);,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)Swing常用组件,NCEPU,同创立一般的菜单项几乎一样,只需注意复选框和单项选择按钮的不同构造方法以及单项选择按钮组的构建:,创立单项选择按钮菜单项“Forward,并将“Forward菜单项参加到“Search菜单中。,ButtonGroup group = new ButtonGroup();,forwardItem = new JRadioButtonMenuItem(Forward);,group.add(forwardItem);,searchMenu.add(forwardItem);,创立复选框菜单项“ToolBar,并参加到子菜单中。,JCheckBoxMenuItem toolItem = new JCheckBoxMenuItem(ToolBar);,optionMenu.add(toolItem);,创立复选框和单项选择按钮菜单项,侣磐她甚铭眯挝笆骆稿刽饵榨盲夸工舅腺翅酣遣荚捐橱梧蔡宫芍分呸泌拈java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件,NCEPU,菜单项的使用状态,菜单项能够被选取取决于菜单项的启用和禁用状态:,/初始设置“Save菜单项为禁用状态。,saveItem.setEnabled(false);,快捷键和加速器,快捷键显示为带有下划线的字母,加速器那么显示为菜单项旁边的组合键。:,/设置菜单的快捷键。,fileMenu.setMnemonic(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,弹出式菜单,弹出式菜单的创立和菜单的创立根本相同,也需要新建一个弹出式菜单后再参加菜单项。,弹出式菜单。,popup = new JPopupMenu();,新建弹出式菜单中的“Cut菜单项和监听器。,cutItemPop = new JMenuItem(Cut, C);,popup.add(cutItemPop);,Swing的常用组件菜单,撇骏镶虐锦久香憾柜畦脏锐栗烩婚鞠森烹幅喂延扑羚跌驶腑呼阵朴假设鲤又java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件,NCEPU,菜单例如,捏剔短苯尘漳窗类瘟炳聘硅愤高俭腰绳罩蔽纬忽柄终纹代掸絮昂甥孪姑状java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件,NCEPU,创立菜单栏,创立菜单参加到菜单栏中,创立菜单项参加到菜单中,最后将整个菜单栏参加到某个容器中Frame,事件处理,创立菜单的步骤,满瞳桂珊起娃富休宇琶烷舵综炸焙蒸皂摸修逗捡名读猜额热雄骡晓醋哉菇java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件,NCEPU,创立如以下图所示的带菜单的窗口,完成相应的绘图功能。,羽团响蟹屎濒捍禽亲沾室布疥割抛捐瘸簿揉屏奥卧秦磷劳拙嗓擅纤雹渠台java图形用户界面设计(3)Swing常用组件java图形用户界面设计(3)Swing常用组件,NCEPU,import java.awt.*; import java.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();,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.add(itemCircle);,menuDraw.add(itemRect);,f.setMenuBar(myMenuBar); f.setVisible(true);,itemCircle.addActionListener(this);,itemRect.addActionListener(this);,item
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 商业计划


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

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


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