JAVA 作業:圖形界面

自己動手寫的一個小JAVA 程序:

一個學生管理小系統,雖然很挫,但是這我學JAVA的第一步。學了2天JAVA沒有白費!

?

  1 import java.awt.*;
  2 import java.awt.event.*;
  3 import java.util.ArrayList;
  4 
  5 import javax.swing.*;
  6 
  7 class Demo {
  8     public static void main(String[] args) {
  9         new MyFrame();
 10     }                
 11 }
 12 
 13 class Student{
 14 
 15     private String _stuId;
 16     private String _name;
 17     private char[] _secret;
 18     private String _sex;
 19     private String _jiguan;
 20     private String _xibie;
 21     private String _course;
 22     public String get_stuId() {
 23         return _stuId;
 24     }
 25     public void set_stuId(String _stuId) {
 26         this._stuId = _stuId;
 27     }
 28     public String get_name() {
 29         return _name;
 30     }
 31     public void set_name(String _name) {
 32         this._name = _name;
 33     }
 34     public String get_sex() {
 35         return _sex;
 36     }
 37     public void set_sex(String _sex) {
 38         this._sex = _sex;
 39     }
 40     public String get_jiguan() {
 41         return _jiguan;
 42     }
 43     public void set_jiguan(String _jiguan) {
 44         this._jiguan = _jiguan;
 45     }
 46     public String get_xibie() {
 47         return _xibie;
 48     }
 49     public void set_xibie(String _xibie) {
 50         this._xibie = _xibie;
 51     }
 52     public String get_course() {
 53         return _course;
 54     }
 55     public void set_course(String _course) {
 56         this._course = _course;
 57     }
 58     public char[] get_secret() {
 59         return _secret;
 60     }
 61     public void set_secret(char[] dd_secret) {
 62         this._secret = dd_secret;
 63     }
 64 }
 65 
 66 
 67 
 68 class MyFrame extends JFrame {
 69     
 70     ArrayList<Student> students=new ArrayList<Student>();
 71     public MyFrame() {
 72         Box baseBox,box1,box2;
 73         setTitle("學生信息錄用");
 74         setSize(350, 650);
 75         setVisible(true);
 76         setResizable(false);
 77         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 78         
 79         box1 = Box.createVerticalBox();
 80         box1.add(Box.createVerticalStrut(30));
 81         box1.add(new JLabel("學號"));
 82         box1.add(Box.createVerticalStrut(30));
 83         box1.add(new JLabel("姓名"));
 84         box1.add(Box.createVerticalStrut(30));
 85         box1.add(new JLabel("密碼"));
 86 
 87         box2 = Box.createVerticalBox();
 88         box2.add(Box.createVerticalStrut(30));
 89         final JTextField TF_stuid = new JTextField(10);
 90         box2.add(TF_stuid);
 91         box2.add(Box.createVerticalStrut(30));
 92         final JTextField TF_name = new JTextField(10);
 93         box2.add(TF_name);
 94         box2.add(Box.createVerticalStrut(30));
 95         final JPasswordField TF_secret = new JPasswordField(10);
 96         box2.add(TF_secret);
 97         
 98         Box box3 =  Box.createHorizontalBox();
 99         ButtonGroup g = new ButtonGroup();
100         final String JRb1 = "男";
101         final String JRb2 = "女";
102         final JRadioButton b1 = new JRadioButton(JRb1);
103         final JRadioButton b2 = new JRadioButton(JRb2);
104 
105         
106         //final String sex ;
107         g.add(b1);
108         g.add(b2);
109         box3.add(new JLabel("性別"));
110         box3.add(Box.createHorizontalStrut(20));
111         box3.add(b1);
112         box3.add(Box.createHorizontalStrut(20));
113         box3.add(b2);
114         
115         baseBox = Box.createHorizontalBox();
116         baseBox.add(box1);
117         baseBox.add(Box.createHorizontalStrut(30));
118         baseBox.add(box2);
119         //baseBox.add(box3);
120         //add(baseBox);
121         Box box5,box6,box7;
122         box5 = Box.createVerticalBox();
123         box5.add(Box.createVerticalStrut(30));
124         box5.add(new JLabel("籍貫"));
125         box5.add(Box.createVerticalStrut(30));
126         box5.add(new JLabel("系別"));
127 
128         final String[] xibie = {"計算機與科學", "軟件工程", "網絡工程", "嵌入式系統開發", "信息工程"};
129         final JComboBox jb = new JComboBox(xibie);
130         box6 = Box.createVerticalBox();
131         box6.add(Box.createVerticalStrut(30));
132         final JTextField TF_jiguan = new JTextField(10);
133         box6.add(TF_jiguan);
134         box6.add(Box.createVerticalStrut(30));
135         box6.add(jb);
136 
137         box7 = Box.createHorizontalBox();
138         box7.add(box5);
139         box7.add(Box.createHorizontalStrut(30));
140         box7.add(box6);
141         
142         final JCheckBox[] ch = new JCheckBox[6];
143         ch[0]=new JCheckBox("C++程序設計");
144         ch[1]=new JCheckBox("計算機組成原理");
145         ch[2]=new JCheckBox("匯編原理");
146         ch[3]=new JCheckBox("數據結構");
147         ch[4]=new JCheckBox("數據庫設計原理");
148         ch[5]=new JCheckBox("軟件工程");
149         
150         
151         Box box8,box9,box10;
152         box8 = Box.createVerticalBox();
153         box8.add(new JLabel("課程"));
154         
155         box9 = Box.createVerticalBox();
156         box9.add(ch[0]);
157         box9.add(ch[1]);
158         box9.add(ch[2]);
159         box9.add(ch[3]);
160         box9.add(ch[4]);
161         box9.add(ch[5]);
162         
163         box10 = Box.createHorizontalBox();
164         box10.add(box8);
165         box10.add(Box.createHorizontalStrut(100));
166         box10.add(box9);
167         
168         JButton dd1 = new JButton("確認", new ImageIcon("3.JPG"));
169         JButton dd2 = new JButton("取消");
170         
171         dd1.addActionListener(new ActionListener(){
172             
173             public void actionPerformed(ActionEvent e){
174                 
175                 String dd_stuid = TF_stuid.getText(); 
176                 if(dd_stuid.equals("")) System.out.println(123);
177                 String dd_name = TF_name.getText();
178                 String dd_jiguan = TF_jiguan.getText();
179                 char[] dd_secret = TF_secret.getPassword();
180                 
181                 String dd_sex = null;
182                 if(b1.isSelected())
183                     dd_sex = "男";
184                 if(b2.isSelected())
185                     dd_sex = "女";
186                 String course = "";
187                 String[] sz_course = {"C++程序設計 ", "計算機組成原理 ", "匯編原理 ", "數據結構 ", "數據庫設計原理 ","軟件工程 "};
188         
189                 for(int i=0;i<6;++i)
190                     if(ch[i].isSelected())
191                         course+=sz_course[i];
192                 
193                 int int_jb = jb.getSelectedIndex();
194                 String dd_xibie = xibie[int_jb];
195                 System.out.println(xibie[int_jb]);
196                 Student st = new Student();
197                 st.set_stuId(dd_stuid);
198                 st.set_name(dd_name);
199                 st.set_secret(dd_secret);
200                 st.set_jiguan(dd_jiguan);
201                 st.set_sex(dd_sex);
202                 st.set_xibie(dd_xibie);
203                 st.set_course(course);
204         
205                 students.add(st);
206                 if(TF_stuid.getText().equals("")||TF_name.getText().equals("") ||TF_jiguan.getText().equals("") )
207                     JOptionPane.showMessageDialog(null, "錄入失敗");
208                 else JOptionPane.showMessageDialog(null, "錄入成功");
209                 
210                 TF_stuid.setText("");
211                 TF_name.setText("");
212                 TF_jiguan.setText("");
213                 TF_secret.setText("");
214             }
215         });
216         
217         dd2.addActionListener(new ActionListener(){
218             public void actionPerformed(ActionEvent e){
219                 dispose();
220             }
221         });
222         
223         
224         Box box11 = Box.createHorizontalBox();
225         box11.add(dd1);
226         box11.add(Box.createHorizontalStrut(30));
227         box11.add(dd2);
228         
229         Box box4 = Box.createVerticalBox();
230         box4.add(baseBox);
231         box4.add(Box.createVerticalStrut(10));
232         box4.add(box3);
233         box4.add(box7);
234         box4.add(Box.createVerticalStrut(20));
235         box4.add(box10);
236         box4.add(Box.createVerticalStrut(20));
237         box4.add(box11);
238         add(box4);
239             
240         
241 
242         Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
243         int x = (screenSize.width - getWidth()) / 2;
244         int y = (screenSize.height - getHeight()) / 2;
245         setLocation(x, y);
246 
247         setLayout(new FlowLayout());
248         validate();
249 
250     }
251 }

?

轉載于:https://www.cnblogs.com/firstrate/p/3446789.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/377519.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/377519.shtml
英文地址,請注明出處:http://en.pswp.cn/news/377519.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

一、Pytorch對自定義表達式自動求導

例如&#xff1a;y ax bx c&#xff0c;分別對a&#xff0c;b&#xff0c;c求導 若當a3&#xff0c;b4&#xff0c;c5&#xff0c;x1時 import torch from torch import autogradx torch.tensor(1.) a torch.tensor(3.,requires_gradTrue) b torch.tensor(4.,requires…

css菜單下拉菜單_在CSS中創建下拉菜單

css菜單下拉菜單CSS | 創建下拉菜單 (CSS | Creating Dropdown) Trivia: 瑣事&#xff1a; We know the importance of navigation bar on our webpage, we know the importance of a list of items too on our webpage but what is the importance of dropdown in web pages?…

C++ 內存基本構件new/delete的意義、運用方式以及重載方式

目錄一、對new的理解1、new做了什么2、new被編譯器轉為了什么3、operate_new源代碼長啥樣二、對delete的理解1、delete做了什么2、delete被編譯器轉為了什么3、operator delete源代碼長啥樣三、構造函數與析構函數的直接調用參考一、對new的理解 1、new做了什么 C告訴我們&am…

二、線性代數

一、張量 張量表示由一個數值組成的數組&#xff0c;這個數組可能有多個維度 import torchx torch.arange(15) x # tensor([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14])1&#xff0c;shape shape屬性可以訪問張量的形狀 x.shape # torch.Size([15])2&a…

Wordpress prettyPhoto插件跨站腳本漏洞

漏洞名稱&#xff1a;Wordpress prettyPhoto插件跨站腳本漏洞CNNVD編號&#xff1a;CNNVD-201311-413發布時間&#xff1a;2013-11-28更新時間&#xff1a;2013-11-28危害等級&#xff1a; 漏洞類型&#xff1a;跨站腳本威脅類型&#xff1a;遠程CVE編號&#xff1a; 漏洞來源…

JavaScript學習筆記1

Netscape 公司 DOM模型&#xff0c;層(layer)-用ID標識。 HTML標記頁面上的元素&#xff0c; <div id "mydiv">This is my div</div> CSS為這個頁面元素定位 #mydiv{ position:absolute; left:320px; top:110px; } JavaScript 訪問 (DOM模塊不同&#x…

c# 中關鍵字_C#中的“使用”關鍵字

c# 中關鍵字Prerequisite: Namespace in C# 先決條件&#xff1a; C&#xff03;中的命名空間 If you want to include namespace in a program then we need to use using keyword. For example we use Console class which is defined in System namespace that’s why we n…

C++ 內存基本構件new [] /delete []的意義、內存泄漏原因、VC下cookie的基本布局

目錄一、對new [] delete [] 的理解1、delete的[]遺漏會帶來什么影響二、以示例探討三、cookie的理解一、對new [] delete [] 的理解 new的對象是個array類型的。 Complex* pca new Complex[3]; //喚起三次ctor //無法借由參數給予初值 ... delete[] pca; //喚起3次dtor如下…

OpenJudge計算概論-找出第k大的數

/* 找出第k大的數 總時間限制: 1000ms 內存限制: 1000kB 描述 用戶輸入N和K&#xff0c;然后接著輸入N個正整數&#xff08;無序的&#xff09;&#xff0c;程序在不對N個整數排序的情況下&#xff0c;找出第K大的數。注意&#xff0c;第K大的數意味著從大到小排在第K位的數。并…

01背包怎么不重復_帶有重復物品的背包

01背包怎么不重復Problem statement: 問題陳述&#xff1a; Weights and values are given for n items along with the maximum capacity allowed W. What is the maximum value we can achieve if we can pick any weights, any number of times for the total allowed capa…

jQuery數組處理匯總

有段時間沒寫什么了, 打算把jquery中的比較常用的數組處理方法匯總一下 $.each(array, [callback])遍歷,很常用 ?12345678var arr [javascript, php, java, c, c#, perl, vb, html, css, objective-c];$.each(arr, function(key, val) {// firebug consoleconsole.log(index …

C++ 內存基本構件 placement new

用法以及編譯器解釋 placement new 允許我們將object構建于已經分配的內存上。(所以此時必須有個指針指向已經分配好的內存) 沒有所謂的placement delete &#xff0c;因為placement new根本沒有分配內存. 也有種說法&#xff0c;是將placement new對應的內存釋放掉的操作為pl…

二維數組for遍歷

<?php$conarray(array(1,高某,A公司,北京市,010,abc),array(2,羅某,B公司,天津市,020,bcd),array(3,馮某,C公司,上海市,021,cdf),array(4,書某,D公司,重慶市,022,dfg));echo <table border"1" width"600" align"center">;echo <cap…

Xcode調試相關小結

一.設置NSZombieEnabled 使用NSZombieEnabled功能,當代碼中訪問已經釋放了內存的地方,會給你下面這樣的提示,而不僅僅是EXEC_BAD_ACCESS: 2008-10-03 18:10:39.933 HelloWorld[1026:20b] *** -[GSFont ascender]: message sent to deallocated instance 0x126550 如果要查看上面…

ONGC的完整形式是什么?

ONGC&#xff1a;石油天然氣公司 (ONGC: Oil and Natural Gas Corporation) ONGC is an abbreviation of Oil and Natural Gas Corporation. It is an Indian multinational corporation that is one of the leading producers of crude oil and natural gas in India. Its hea…

C/C++代碼優化方法

目錄優化概述_O0優化_O1優化_O2優化_O3優化volatile關鍵字避免優化優化概述 如果將未經優化的C語言程序直接運行會發現運行效率較低&#xff0c;并且產生的代碼較大&#xff0c;而通過優化可以較好地解決這些問題。 優化的作用是對循環進行化簡&#xff0c;重新組織表達式和聲…

大學生應當趁早謀劃未來(二)--給表弟的建議

背景表弟&#xff0c;大四&#xff0c;湖北某二本院校&#xff0c;計算機相關專業。大學期間&#xff0c;對Java等編程沒有興趣&#xff0c;幾乎沒怎么學習。平時&#xff0c;課程比較多&#xff0c;每天6節左右。課外&#xff0c;自己去掙點生活費,父親生病了。困境最近在找工…

UVa 490 - Rotating Sentences

把輸入的字符順時針旋轉90度。 1 #include<stdio.h>2 #include<string.h>3 4 int main()5 {6 int i, j, max, n, m;7 char s[105][105];8 max0;9 memset(s, \0, sizeof(s)); 10 for (i0; gets(s[i]); i) 11 { 12 nstrlen(s[i]); 1…

node 大寫_大寫Node.js模塊

node 大寫Today, lets see a third party module that helps us in working with upper-case letters without necessarily typing them in upper-case in our source code. 今天&#xff0c;讓我們看一個第三方模塊&#xff0c;它可以幫助我們處理大寫字母&#xff0c;而不必在…

1704:baoge的洗漱難題[黃]

baoge的洗漱難題[黃] Time Limit: 5000 ms Memory Limit: 65536 KB Total Submit: 79 Accepted: 21 Description眾所周知&#xff0c;地大19樓的盥洗室非常小&#xff0c;所以經常會非常擁擠&#xff0c;很多時候去洗漱的時候不得不排很長的隊。有時候baoge會排上半小時…