20177101010101 白瑪次仁《面向物件程式設計》第十八週學習總結
阿新 • • 發佈:2018-12-30
實驗十八 總複習
實驗時間 2018-12-30
1、實驗目的與要求
(1) 綜合掌握java基本程式結構;
(2) 綜合掌握java面向物件程式設計特點;
(3) 綜合掌握java GUI 程式設計結構;
(4) 綜合掌握java多執行緒程式設計模型;
(5) 綜合程式設計練習。
2、實驗內容和步驟
任務1:填寫課程課後調查問卷,網址:https://www.wjx.cn/jq/33108969.aspx。
任務2:綜合程式設計練習
練習1:設計一個使用者資訊採集程式,要求如下:
(1) 使用者資訊輸入介面如下圖所示:
(1)使用者點選提交按鈕時,使用者輸入資訊顯示控制檯介面;
(2)使用者點選重置按鈕後,清空使用者已輸入資訊;
(3)點選視窗關閉,程式退出。
1 package AA;
2
3 import java.awt.Dimension; 4 import java.awt.Toolkit; 5 import java.awt.Window; 6 7 public class WinCenter { 8 public static void center(Window win){ 9 Toolkit tkit = Toolkit.getDefaultToolkit(); 10 Dimension sSize = tkit.getScreenSize(); 11 Dimension wSize = win.getSize(); 12 if(wSize.height > sSize.height){ 13 wSize.height = sSize.height; 14 } 15 if(wSize.width > sSize.width){ 16 wSize.width = sSize.width; 17 } 18 win.setLocation((sSize.width - wSize.width)/ 2, (sSize.height - wSize.height)/ 2); 19 } 20 }
1 package AA;
2
3 import java.awt.Dimension; 4 import java.awt.FlowLayout; 5 import java.awt.GridLayout; 6 7 import javax.swing.BorderFactory; 8 import javax.swing.ButtonGroup; 9 import javax.swing.JButton; 10 import javax.swing.JCheckBox; 11 import javax.swing.JComboBox; 12 import javax.swing.JFrame; 13 import javax.swing.JLabel; 14 import javax.swing.JPanel; 15 import javax.swing.JRadioButton; 16 import javax.swing.JTextField; 17 18 public class DemoJFrame extends JFrame { 19 private JPanel jPanel1; 20 private JPanel jPanel2; 21 private JPanel jPanel3; 22 private JPanel jPanel4; 23 private JTextField fieldname; 24 private JComboBox comboBox; 25 private JTextField fieldadress; 26 private ButtonGroup bg; 27 private JRadioButton Male; 28 private JRadioButton Female; 29 private JCheckBox read; 30 private JCheckBox sing; 31 private JCheckBox dance; 32 33 public DemoJFrame() { 34 // 設定視窗大小 35 this.setSize(800, 400); 36 // 設定可見性 37 this.setVisible(true); 38 // 設定標題 39 this.setTitle("程式設計練習一"); 40 // 設定關閉操作 41 this.setDefaultCloseOperation(EXIT_ON_CLOSE); 42 // 設定視窗居中 43 WinCenter.center(this); 44 // 建立四個面板物件 45 jPanel1 = new JPanel(); 46 setJPanel1(jPanel1); 47 jPanel2 = new JPanel(); 48 setJPanel2(jPanel2); 49 jPanel3 = new JPanel(); 50 setJPanel3(jPanel3); 51 jPanel4 = new JPanel(); 52 setJPanel4(jPanel4); 53 // 設定容器的為流佈局 54 FlowLayout flowLayout = new FlowLayout(); 55 this.setLayout(flowLayout); 56 // 將四個面板新增到容器中 57 this.add(jPanel1); 58 this.add(jPanel2); 59 this.add(jPanel3); 60 this.add(jPanel4); 61 62 } 63 64 /* 65 * 設定面一 66 */ 67 private void setJPanel1(JPanel jPanel) { 68 // TODO 自動生成的方法存根 69 jPanel.setPreferredSize(new Dimension(700, 45)); 70 // 給面板的佈局設定為網格佈局 一行4列 71 jPanel.setLayout(new GridLayout(1, 4)); 72 73 JLabel name = new JLabel("name:"); 74 name.setSize(100, 50); 75 fieldname = new JTextField(""); 76 fieldname.setSize(80, 20); 77 78 JLabel study = new JLabel("qualification:"); 79 comboBox = new JComboBox(); 80 comboBox.addItem("初中"); 81 comboBox.addItem("高中"); 82 comboBox.addItem("本科"); 83 jPanel.add(name); 84 jPanel.add(fieldname); 85 jPanel.add(study); 86 jPanel.add(comboBox); 87 88 } 89 90 /* 91 * 設定面板二 92 */ 93 private void setJPanel2(JPanel jPanel) { 94 // TODO 自動生成的方法存根