電 話:18937133779
網(wǎng) 址:http://oaoy.cn
郵 箱:zboao@qq.com
import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.Container;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JToolBar;
import javax.swing.SwingConstants;
public class MainFrame extends JFrame implements ActionListener{
InsertPanel ip = null;
SelectPanel sp = null;
JPanel pframe;
JButton jb1,jb2,jb3;
JMenuItem jm11,jm21,jm22,jm23,jm31,jm32,jm41,jm42;
CardLayout clayout;
public MainFrame(String s){
super(s);
JMenuBar mb = new JMenuBar();
this.setJMenuBar(mb);
JMenu m1 = new JMenu("系統(tǒng)");
JMenu m2 = new JMenu("基本信息");
JMenu m3 = new JMenu("成績(jī)");
JMenu m4 = new JMenu("獎(jiǎng)懲");
mb.add(m1);
mb.add(m2);
mb.add(m3);
mb.add(m4);
jm11 = new JMenuItem("退出系統(tǒng)");
jm21 = new JMenuItem("輸入");
jm22 = new JMenuItem("查詢");
jm23 = new JMenuItem("更改");
jm31 = new JMenuItem("輸入成績(jī)");
jm32 = new JMenuItem("查詢成績(jī)");
jm41 = new JMenuItem("獎(jiǎng)勵(lì)");
jm42 = new JMenuItem("處分");
m1.add(jm11);
m2.add(jm21);
m2.add(jm22);
m2.add(jm23);
m3.add(jm31);
m3.add(jm32);
m4.add(jm41);
m4.add(jm42);
Icon i1 = new ImageIcon();
Icon i2 = new ImageIcon();
Icon i3 = new ImageIcon();
jb1 = new JButton(i1);
jb1.setToolTipText("輸入");
jb2 = new JButton(i2);
jb2.setToolTipText("查詢");
jb3 = new JButton(i3);
jb3.setToolTipText("退出");
JToolBar tb = new JToolBar("系統(tǒng)工具");
tb.add(jb1);
tb.add(jb2);
tb.add(jb3);
add(tb,BorderLayout.NORTH);
jm11.addActionListener(this);
jm21.addActionListener(this);
jm22.addActionListener(this);
jb1.addActionListener(this);
jb2.addActionListener(this);
jb3.addActionListener(this);
clayout = new CardLayout();
pframe = new JPanel(clayout);
add(pframe);
JPanel mainp = new JPanel(new BorderLayout());
JLabel mainl = new JLabel("學(xué)生信息管理平臺(tái)",SwingConstants.CENTER);
mainl.setFont(new Font("serif",Font.BOLD,30));
mainp.add(mainl);
pframe.add(mainp,"main");
clayout.show(pframe, "main");
}
public void actionPerformed(ActionEvent e){
if(e.getSource() == jm21 || e.getSource() == jb1){
if(ip == null){
ip= new InsertPanel();
pframe.add(ip,"insert");
}
clayout.show(pframe, "insert");
this.setTitle("輸入學(xué)生信息");
}
else if(e.getSource() == jm22 || e.getSource() == jb2){
if(sp == null){
sp= new SelectPanel();
pframe.add(sp,"select");
}
clayout.show(pframe, "select");
this.setTitle("查詢學(xué)生信息");
}
else if(e.getSource() == jm11 || e.getSource() == jb3){
System.exit(0);
}
}
}
第二個(gè):
import javax.swing.JFrame;
public class MainTest {
public static void main(String [] args){
MainFrame f = new MainFrame("學(xué)生信息管理平臺(tái)");
f.setSize(400,300);
f.setLocation(350,250);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
}
第二個(gè):
import java.sql.Connection;
import java.sql.DriverManager;
public class MySQLConnection {
static Connection getCon(){
Connection con = null;
try{
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost/test","root","123");
}
catch(Exception e){
System.out.println("建立數(shù)據(jù)庫連接遇到異常!");
}
return con;
}
}
第四個(gè):
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
public class SelectPanel extends JPanel implements ActionListener{
JButton jb;
JTextField jt;
JTextField jt1,jt2,jt3,jt4;
public SelectPanel(){
JLabel jl = new JLabel("請(qǐng)輸入學(xué)號(hào):",SwingConstants.CENTER);
jt = new JTextField();
jb = new JButton("確定");
JPanel jp1 = new JPanel(new GridLayout(1,3));
jp1.add(jl);
jp1.add(jt);
jp1.add(jb);
JLabel j1,j2,j3,j4;
j1 = new JLabel("學(xué)號(hào):",SwingConstants.CENTER);
j2 = new JLabel("姓名:",SwingConstants.CENTER);
j3 = new JLabel("性別:",SwingConstants.CENTER);
j4 = new JLabel("年齡:",SwingConstants.CENTER);
jt1 = new JTextField(6);
jt1.setEditable(false);
jt2 = new JTextField(6);
jt2.setEditable(false);
jt3 = new JTextField(6);
jt3.setEditable(false);
jt4 = new JTextField(6);
jt4.setEditable(false);
JPanel jp2 = new JPanel(new BorderLayout());
JPanel jp3 = new JPanel(new GridLayout(4,2));
jp2.add(new JLabel(""),BorderLayout.NORTH);
jp3.add(j1);
jp3.add(jt1);
jp3.add(j2);
jp3.add(jt2);
jp3.add(j3);
jp3.add(jt3);
jp3.add(j4);
jp3.add(jt4);
jp2.add(jp3);
this.setLayout(new BorderLayout());
add(jp1,BorderLayout.NORTH);
add(jp2);
jb.addActionListener(this);
}
public void actionPerformed(ActionEvent e){
if(e.getSource() == jb){
String stuNo = jt.getText().trim();
Student s = new Student();
boolean b = true;
try{
b = s.selectByStuNo(stuNo);
}
catch(Exception ex){
System.out.println("查詢學(xué)生信息遇到異常!");
}
if(b){
jt1.setText(s.getStuNo());
jt2.setText(s.getName());
jt3.setText(s.getGender());
int a = s.getAge();
Integer i = new Integer(a);
jt4.setText(i.toString());
}
else{
JOptionPane.showMessageDialog(null, "無此學(xué)生!");
}
}
}
}
我給講概思路:1:第步:設(shè)計(jì)數(shù)據(jù)庫般像種型宿舍管理系統(tǒng)選用mysql作數(shù)據(jù)庫設(shè)計(jì)表包括表字段名字段及表間關(guān)系2:第二布:確認(rèn)使用技術(shù)作java選用Springmvc作mvc框架畢竟比較靈簡(jiǎn)單Spring必須用管理事務(wù)Hibernate作臺(tái)數(shù)據(jù)庫管理框架jsp作頁面表現(xiàn)層程序比較健壯擴(kuò)展起比較便3:第二步基礎(chǔ)接建立Bean類比類、宿舍類等等映射數(shù)據(jù)庫表字段編寫Service層、Dao層等等建立數(shù)據(jù)處理邏輯4:實(shí)現(xiàn)表現(xiàn)層寫jsp頁面想前臺(tái)展示內(nèi)容寫jsp面選用技術(shù)juqery,js考慮用戶體驗(yàn)用ajax實(shí)現(xiàn)異步刷新交互5:前臺(tái)相互通信用juint進(jìn)行集測(cè)試看看數(shù)據(jù)否按照邏輯準(zhǔn)確顯示期測(cè)試等等嫌麻煩采用ssh框架直接用jsp+servlet寫比較簡(jiǎn)單原理概差層沒清晰明
哇,不是吧,現(xiàn)在都用數(shù)據(jù)庫,否則你的數(shù)據(jù)是死的呀。我這里直接有個(gè)我們自己做的一個(gè)公司管理系統(tǒng)項(xiàng)目,里面增刪查改的功能都有,你有郵箱我發(fā)給你,改改就一樣了。
我給你講一下大概的思路:
1:第一步:設(shè)計(jì)數(shù)據(jù)庫,一般像這種小型宿舍管理系統(tǒng),選用mysql作為數(shù)據(jù)庫,然后就是設(shè)計(jì)表,包括表中的字段名,字段的大小以及表之間的關(guān)系
2:第二布:確認(rèn)使用的技術(shù),作為java,你可以選用Springmvc作為mvc框架,畢竟它比較靈活和簡(jiǎn)單,然后Spring是必須的,用來管理事務(wù),Hibernate作為后臺(tái)數(shù)據(jù)庫管理框架,jsp作為頁面表現(xiàn)層。這樣的程序比較健壯,擴(kuò)展起來比較方便
3:在第二步的基礎(chǔ)上,接下來就是建立Bean類,比如學(xué)生類、宿舍類等等,映射數(shù)據(jù)庫表的字段,然后就是編寫Service層、Dao層,等等建立數(shù)據(jù)處理邏輯
4:實(shí)現(xiàn)表現(xiàn)層,寫jsp頁面,你想在前臺(tái)展示的內(nèi)容就可以寫在jsp里面,這里可以選用的技術(shù)有juqery,js。如果為了考慮用戶體驗(yàn),可以用ajax,實(shí)現(xiàn)異步無刷新交互。
5:前后臺(tái)相互通信,用juint進(jìn)行集成測(cè)試,看看數(shù)據(jù)是否按照邏輯準(zhǔn)確的顯示出來。后期測(cè)試等等
當(dāng)然如果嫌麻煩,可以不采用ssh框架,可以直接用jsp+servlet寫,這樣比較簡(jiǎn)單,原理大概也差不多。只不過分層沒這么清晰和明確了。
(全國(guó)總部)河南省鄭州市金水區(qū)農(nóng)業(yè)路71號(hào)中州國(guó)際飯店1617-1618
+18937133779
zboao@qq.com
中博奧技術(shù)有限公司& 版權(quán)所有
工信部備案號(hào):豫ICP備11015869號(hào)-8