《Java设计用户注册界面.ppt》由会员分享,可在线阅读,更多相关《Java设计用户注册界面.ppt(23页珍藏版)》请在第壹文秘上搜索。
1、任务任务9 9设计用户注册界面设计用户注册界面学习目标学习目标l掌握掌握JComboBox、JCheckBoxl、JRadioButton组件的组件的创建及创建及ItemEvent事件处理。事件处理。l掌握掌握JList组件的创建及组件的创建及ListSelectionEvent事件的处理。事件的处理。l 熟悉网格包布局管理器、盒式布局的使用及其多种布局方熟悉网格包布局管理器、盒式布局的使用及其多种布局方式的综合应用式的综合应用。9.1 任务描述任务描述9.2 技术要点技术要点l 选择性组件选择性组件 l 选择事件选择事件 l 复杂布局管理器复杂布局管理器 选择性组件选择性组件组合框(组合框(
2、JComboBox类)类) 选择性组件选择性组件列表框(列表框(JList类)类)选择性组件选择性组件单选按钮(单选按钮(JRadioButton类)类) 选择性组件选择性组件复选框(复选框(JCheckbox类)类) 选择事件选择事件ItemEvent类类 举例举例 ItemeventDemo.java 1 import java.awt.*;2 import java.awt.event.*;3 import javax.swing.*;4 public class ItemeventDemo extends JFrame implements ItemListener,ActionLis
3、tener5 JRadioButton opt1;6 JRadioButton opt2;7 ButtonGroup btg;8 JTextArea ta;9 JComboBox comb;10 JLabel sex,city;11 public ItemeventDemo(String title)12 super(title);13 setLayout(new FlowLayout(FlowLayout.LEFT);14 sex=new JLabel(性性 别别: );15 city=new JLabel( 籍籍 贯贯:);16 opt1=new JRadioButton( 男男 );17
4、 opt2=new JRadioButton( 女女 );18 btg=new ButtonGroup();19 btg.add(opt1);20 btg.add(opt2);21 opt1.addItemListener(this); 22 opt2.addItemListener(this);23 ta=new JTextArea (8,35);24 comb=new JComboBox();25 comb.addItem(北北 京京);26 comb.addItem(上上 海海);27 comb.addItem(南南 京京);28 comb.addItem(广广 州州);29 comb.
5、addItem(成成 都都);30 comb.addItem(昆昆 明明);31 comb.addItemListener(this);32 comb.addActionListener(this);33 getContentPane().add(sex);34 getContentPane().add(opt1);35 getContentPane().add(opt2);36 getContentPane().add(city);37 getContentPane().add(comb);38 getContentPane().add(ta);39 setTitle(title);40 s
6、etSize(300,250);41 setVisible(true);42 举例举例 ItemeventDemo.javaItemeventDemo.java(续)(续)举例举例 ItemeventDemo.java(续)(续)43 public static void main(String args)44 new ItemeventDemo(Itemevent Demo);45 46 / ItemEvent事件发生时的处理操作事件发生时的处理操作47 public void itemStateChanged(ItemEvent e) 48 String str;49 if(e.getSo
7、urce()=opt1) / 如果是如果是opt1被选择被选择50 ta.append(n性性 别:别:+男男);51 else if(e.getSource()=opt2) / 如果如果opt2被选择被选择52 ta.append(n性性 别:别:+女女); 53 if(e.getSource()=comb)54 str=comb.getSelectedItem().toString();55 ta.append(n籍籍 贯贯:+str+ =ItemEvent事件事件 );56 57 58 public void actionPerformed(ActionEvent e) 59 Strin
8、g str;60 if(e.getSource()=comb)61 str=comb.getSelectedItem().toString();62 ta.append(n籍籍 贯贯:+str+ =ActionEvent事件事件 );63 64 65 运行效果运行效果举例举例CheckBoxDemo .java1 import java.awt.*;2 import java.awt.event.*;3 import javax.swing.*;4 public class CheckBoxDemo extends JFrame implements ItemListener5 private
9、 JTextField field;6 private JCheckBox bold, italic;7 private int valBold = Font.PLAIN;8 private int valItalic = Font.PLAIN;9 public CheckBoxDemo()10 super( JCheckBox Demo );11 Container container = getContentPane();12 container.setLayout( new FlowLayout() );13 field = new JTextField( 2008,北京欢迎您,北京欢迎
10、您!, 20 );14 field.setFont( new Font( 隶书隶书, Font.PLAIN, 14 ) );15 container.add(field ); 16 bold = new JCheckBox( Bold );17 container.add( bold ); 18 italic = new JCheckBox( Italic );19 container.add( italic );20 bold.addItemListener(this); 21 italic.addItemListener( this ); 22 setSize( 280, 100 );23
11、 setVisible( true );24 25 public void itemStateChanged(ItemEvent event)26 if ( event.getSource() = bold )27 valBold = bold.isSelected() ? Font.BOLD : Font.PLAIN; 28 if ( event.getSource() = italic )29 valItalic = italic.isSelected() ? Font.ITALIC : Font.PLAIN;30 field.setFont( new Font( 隶书隶书, valBol
12、d + valItalic, 14 ) );31 32 public static void main(String args) 33 new CheckBoxDemo(); 34 35 选择事件选择事件 ListSelectionEvent类类 l首先必须声明实现监听者对象的类接口首先必须声明实现监听者对象的类接口ListSelectionListenerListSelectionListener,并通过,并通过JListJList类的类的addListSelectionListener( )addListSelectionListener( )方法注册文本框的监听者对方法注册文本框的监听者
13、对象,象,l在在ListSelectionListenerListSelectionListener接口的接口的valueChanged valueChanged (ListSelectionEvent e)(ListSelectionEvent e)方法体中写入有关代码,就可以方法体中写入有关代码,就可以响应响应ListSelectionEventListSelectionEvent事件。事件。例例9-3 JListDemo.java1 import java.awt.*;2 import java.awt.event.*;3 import javax.swing.*;4 import ja
14、vax.swing.event.*;5 public class JListDemo extends JFrame implements ListSelectionListener6 JList list = null;7 JLabel label = null;8 String s = 宝马宝马,奔驰奔驰,奥迪奥迪,本田本田,皇皇冠冠,福特福特,现代现代; 9 public JListDemo()10 JFrame f = new JFrame(JList Demo);11 Container contentPane = f.getContentPane();12 contentPane.s
15、etLayout(new BorderLayout(0,15);13 label = new JLabel( );14 list = new JList(s);15 list.setVisibleRowCount(5);16 list.setBorder(BorderFactory.createTitledBorder(汽车品牌:汽车品牌:);17 list.addListSelectionListener(this); 18 contentPane.add(label,BorderLayout.NORTH);19 contentPane.add(new JScrollPane(list),B
16、orderLayout.CENTER);20 f.setSize(300,200);21 f.setVisible(true); 22 23 public static void main(String args)24 new JListDemo();25 26 public void valueChanged(ListSelectionEvent e)27 int tmp = 0;28 String stmp = 您喜欢的汽车品牌有您喜欢的汽车品牌有: ;29 int index = list.getSelectedIndices();30 for(int i=0; i index.length ; i+)31 tmp = indexi;32 stmp = stmp+stmp+ ;33 34 label.setText(stmp);35 36 运行效果运行效果 复杂布局管理器复杂布局管理器 网格包布局(网格包布局(GridBagLayout类)类) 举例举例 GridBagLayoutDemo.java 1 import java.awt.*;2 import javax.swing