实验十二:SWING界面设计
Posted itsres
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实验十二:SWING界面设计相关的知识,希望对你有一定的参考价值。
实验代码:
1 package ji; 2 3 import java.awt.FlowLayout; 4 import java.awt.GridLayout; 5 import java.awt.event.ActionEvent; 6 import java.awt.event.ActionListener; 7 import java.awt.event.ComponentListener; 8 9 import javax.swing.ButtonGroup; 10 import javax.swing.JComboBox; 11 import javax.swing.JFrame; 12 import javax.swing.JLabel; 13 import javax.swing.JPanel; 14 import javax.swing.JRadioButton; 15 import javax.swing.JTextField; 16 17 public class Ji extends JFrame implements ComponentListener,ActionListener 18 private JRadioButton[] radios; 19 private JComboBox<String> province,city,profession,college; 20 private static String[] provinces= "山东","枣庄"; 21 private static String[][] professional= "网络工程","物联网工程","计算机科学与技术","社会学","社会工作学"; 22 private static String[] colleges= "计算机学院","法社学院"; 23 private static String[][] cities= "济南","青岛","枣庄","西宁","海东","海西"; 24 public Ji() 25 this.setBounds(300,240,360,120); 26 this.setDefaultCloseOperation(EXIT_ON_CLOSE); 27 this.addComponentListener(this); 28 29 //输入姓名 30 this.getContentPane().setLayout(new FlowLayout(FlowLayout.RIGHT)); 31 this.getContentPane().add(new JLabel("姓名",JLabel.CENTER)); 32 this.getContentPane().add(new JTextField("张灿")); 33 34 //选择性别 35 String[] sex= "男","女"; 36 JPanel jp=new JPanel(new GridLayout(1,2)); 37 this.add(jp); 38 ButtonGroup bg=new ButtonGroup(); 39 this.radios=new JRadioButton[sex.length]; 40 for(int i=0;i<this.radios.length;i++) 41 jp.add(this.radios[i]=new JRadioButton(sex[i])); 42 bg.add(this.radios[i]); 43 44 //选择省份 45 this.getContentPane().add(new JLabel("籍贯",JLabel.CENTER)); 46 this.add(this.province=new JComboBox<String>(Ji.provinces)); 47 this.add(this.city=new JComboBox<String>(Ji.cities[0])); 48 this.province.addActionListener(this); 49 50 //输入学号 51 this.getContentPane().add(new JLabel("学号",JLabel.CENTER)); 52 this.getContentPane().add(new JTextField("20173311102")); 53 54 //选择学院专业 55 this.getContentPane().add(new JLabel("学院",JLabel.CENTER)); 56 this.add(this.college=new JComboBox<String>(Ji.colleges)); 57 this.getContentPane().add(new JLabel("专业",JLabel.CENTER)); 58 this.add(this.profession=new JComboBox<String>(Ji.professional[0])); 59 this.province.addActionListener(this); 60 //可视化 61 this.setVisible(true); 62 63 64 //动作事件处理 65 public void actionPerformed(ActionEvent event) 66 int i=this.province.getSelectedIndex(); 67 if(cities!=null&&i!=1) 68 this.city.removeAllItems(); 69 for(int j=0;j<Ji.cities[i].length;j++) 70 this.city.addItem(Ji.cities[i][j]); 71 72 int k=this.college.getSelectedIndex(); 73 if(professional!=null&&k!=1) 74 this.profession.removeAllItems(); 75 for(int l=0;l<Ji.professional[k].length;l++) 76 this.city.addItem(Ji.professional[k][l]); 77 78 79 public static void main(String[] args) 80 new Ji(); 81 82 83 84
实验结果:
以上是关于实验十二:SWING界面设计的主要内容,如果未能解决你的问题,请参考以下文章
201771010101白玛次仁《面向对象程序设计(java)》第十二周实验总结