瓜果蔬菜这里查小系统

Posted dongxiaodong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了瓜果蔬菜这里查小系统相关的知识,希望对你有一定的参考价值。

时间:2017年12月

阶段:大二上学期

背景:JAVA程序设计基础课设

名称:瓜果蔬菜这里查小系统(未删减版)

实现功能点

①用户注册:检测账号的唯一性,并插入数据库

②用户登入:防数据库注入问题

③游客登入:权限限制,文字提示注册,以增加本系统用户量

④找回密码:通过密匙找回,双重保险

⑤身份与权限:游客,会员,管理员,三级身份

⑥内容搜索:会员专属,可寻找喜欢的瓜果蔬菜图片和信息

⑦用户管理:管理员可通过表格查询用户信息及删除更改用户信息

⑧信息修改:用户可修改基本信息和安全信息

⑨界面切换:更多人性化的设计

⑩界面美化:半透明效果、居中显示、置顶显示等

项目测试

1、开始界面,用户可以选择游客登入、用户登入或者注册登入来进入系统

技术图片

2、开始界面打开时,数据库的连接也在后台在进行中,若连接失败则会弹出连接失败的对话框,点击确认后,此程序将会被关闭。因为程序必须使用数据库,所以这样设置。

技术图片

3、再次运行程序,点击“注册加入我们”,会在开始面板的中间弹出注册面板,注册面板是半透明效果,且会一直至于开始面板的顶端,此时如果不点击取消按键,其开始面板是不可被操作的,当点击取消按键后,注册面板会消失,开始面板会变成可操作面板,注册面板重置按键可以把输入文本框的内容全部清空,确定按键则是确定注册。

技术图片

4、注册成功后自动弹出登入页面,登入页面的基本样式和注册页面样式相同,透明和按键效果等方面,“?”按键是找回密码用的,在后面有详细介绍。

技术图片

5、注册成功后数据库里有添加一行用户名为155231的字段

 技术图片

6、再次注册相同账号则会弹出账号名是不可重复注册的消息框技术图片

技术图片

 

技术图片

7、检验输入文本框内容是否为空,空则弹出账号和密码不能为空消息框提示,不可进行登入操作

技术图片

技术图片

8、点击开始界面的做一名小游客安按钮,进入游客界面,且关闭开始界面,游客不可以更改个人信息,不可以使用搜索功能,只能左右浏览,并且可见多处都有提示要进行注册的文字。

技术图片

9、浏览至最后一份或者第一份时会有相应提示

技术图片

10、点击改改自己,弹出一个半透明界面,可以更改自己的普通信息(个人资料)和安全信息(密码和密匙),如果普通信息留白则会保持原来的信息,不会被空值覆盖掉,当更改成功后则会跳到登入界面,需要再次进行登入操作,达到更高安全级别。

技术图片

设计心得

      界面的美观将必然会提高用户的使用积极性,半透明效果切实令人有好感,但这视乎还远远不够。书到用时方知少,Java能成为现今最流行的编程语言,魅力如此之大,其内容肯定不简,课堂重要,但自学更重要,用心了才能让自己的程序行云流水少有bug

      一个人,一句句代码,慢慢的敲,许多天…..基本框架的实现,页面内容深入实现,终于满足暂时想要求,而它永远不能称之为成品,人的欲望如果满足了,那等待他的将只有退步,它一直会是我的半成品。好的程序不会是几天就可以完成的,需要的是时间,慢慢的琢磨,慢慢的改进。

     学习。

工程代码

  1 package test01;
  2 import java.awt.BorderLayout;
  3 import java.awt.Color;
  4 import java.awt.Dimension;
  5 import java.awt.Font;
  6 import java.awt.GridLayout;
  7 import java.awt.event.ActionEvent;
  8 import java.awt.event.ActionListener;
  9 import java.io.IOException;
 10 import java.io.PrintWriter;
 11 import java.io.StringWriter;
 12 import java.sql.Connection;
 13 import java.sql.DriverManager;
 14 import java.sql.ResultSet;
 15 import java.sql.SQLException;
 16 import java.sql.Statement;
 17 import javax.swing.ImageIcon;
 18 import javax.swing.JButton;
 19 import javax.swing.JComboBox;
 20 import javax.swing.JFrame;
 21 import javax.swing.JLabel;
 22 import javax.swing.JOptionPane;
 23 import javax.swing.JPanel;
 24 import javax.swing.JPasswordField;
 25 import javax.swing.JScrollPane;
 26 import javax.swing.JSplitPane;
 27 import javax.swing.JTable;
 28 import javax.swing.JTextArea;
 29 import javax.swing.JTextField;
 30 class Start{
 31     private JFrame jfde;
 32     private JFrame jfbu1;
 33     private JFrame jfbu2;
 34     private JFrame jfmain;
 35     private JFrame jfbu3g;
 36     private JTextField jtbu1user;
 37     private JPasswordField jtbu1pasw;
 38     private JTextField jtbu2user;
 39     private JPasswordField jtbu2pasw;
 40     private JPasswordField jtbu2pasw2;
 41     private  JTextField  jtbu2nam;
 42     private JTextField jtbu2age;
 43     private JComboBox jcbu2sex;
 44     private boolean boo=false;
 45     Connection ct=null;
 46     Statement st=null;
 47     private String dbuser;
 48     public Start(){
 49     jfde=new JFrame("瓜果蔬菜这里查登入");
 50     jfde.setSize(600, 400);
 51     jfde.setResizable(false);//不可缩放
 52     jfde.setLocationRelativeTo(null);//居中显示
 53     JLabel jlde=new JLabel(new ImageIcon("picture/jfde.jpg"));
 54     jlde.setBounds(0, 0,jfde.getWidth(), jfde.getWidth());
 55     JPanel jpde=new JPanel();
 56     JButton bu1=new JButton("已有账号登入");
 57     JButton bu2=new JButton("注册加入我们");
 58     JButton bu3=new JButton("做一名小游客");
 59     jpde.add(bu3);
 60     jpde.add(bu1);
 61     jpde.add(bu2);
 62     jfde.add(jpde,"South");
 63     jfde.add(jlde);
 64     jfde.setVisible(true);
 65     new Db();//数据库加载
 66     bu1.addActionListener(new Bu1());
 67     bu2.addActionListener(new Bu2());
 68     bu3.addActionListener(new Bu3());}
 69     class Bu1 implements ActionListener{
 70         private ActionEvent e;
 71         public Bu1(int x){actionPerformed(e);}
 72         public Bu1(){};
 73         @Override
 74         public void actionPerformed(ActionEvent e) {
 75             jfde.setEnabled(false);//设置不可执行窗口setOpacity(0.8f);
 76             jfbu1=new JFrame();
 77             jfbu1.setUndecorated(true);
 78             jfbu1.setOpacity(0.8f);
 79             JPanel jpbu1=new JPanel();
 80             jpbu1.setBackground(Color.green);
 81             jpbu1.setLayout(new GridLayout(4,1));//纵,横
 82             JPanel jpbu5=new JPanel();
 83             JPanel jpbu3=new JPanel();//密码
 84             JPanel jpbu6=new JPanel();
 85             JPanel jpbu4=new JPanel();//按键
 86             JPanel JPbu7=new JPanel();
 87             JPbu7.add(new JLabel("登入"));
 88             JLabel jlbu1user=new JLabel("账号: ");
 89              jtbu1user=new JTextField(12);
 90             JLabel jlbu1pasw=new JLabel("密码: ");
 91             jtbu1pasw=new JPasswordField(12);
 92             JButton jbbu1hui=new JButton("?");//找回密码
 93             JButton jbbu1hxx=new JButton(" ");
 94             jbbu1hxx.setEnabled(false);
 95             jpbu5.add(jlbu1user);
 96             jpbu5.add(jtbu1user);
 97             jpbu5.add(jbbu1hxx);
 98             jpbu3.add(jlbu1pasw);
 99             jpbu3.add(jtbu1pasw);
100             jpbu3.add(jbbu1hui);
101             jpbu1.add(JPbu7);
102             jpbu1.add(jpbu5);
103             jpbu1.add(jpbu3);
104             jpbu1.add(jpbu6);
105             JButton jbbu1sub=new JButton("确定");
106             JButton jbbu1res=new JButton("重置");
107             JButton jbbu1bac=new JButton("取消");
108             jpbu4.add(jbbu1res);
109             jpbu4.add(jbbu1sub);
110             jpbu4.add(jbbu1bac);
111             jfbu1.add(jpbu1,"Center");
112             jfbu1.add(jpbu4, "South");
113             jfbu1.setResizable(false);//不可缩放
114             jfbu1.setSize(300, 200);
115             jfbu1.setLocationRelativeTo(jfde);//设置基于jfde窗体居中
116             jfbu1.setAlwaysOnTop(true);//窗体顶端显示
117             jfbu1.setVisible(true);
118             jbbu1res.addActionListener(new Jbbu1res());
119             jbbu1bac.addActionListener(new Jbbu1bac());
120             jbbu1sub.addActionListener(new Jbbu1sub());
121             jbbu1hui.addActionListener(new Jbbu1hui());
122         }}
123     class Bu2 implements ActionListener{
124         private ActionEvent e;
125         public Bu2(){};
126         public Bu2(int i){actionPerformed(e);}
127         public void actionPerformed(ActionEvent e){
128             jfde.setEnabled(false);//设置不可执行窗口setOpacity(0.8f);
129             jfbu2=new JFrame();
130             jfbu2.setUndecorated(true);
131             jfbu2.setOpacity(0.8f);
132             JPanel jpbu1=new JPanel();
133             jpbu1.setBackground(Color.green);
134             jpbu1.setLayout(new GridLayout(7,1));//纵,横
135             JPanel jpbu2=new JPanel();
136             JPanel jpbu5=new JPanel();
137             JPanel jpbu3=new JPanel();
138             JPanel jpbu6=new JPanel();
139             JPanel jpbu4=new JPanel();
140             JPanel jpbu7=new JPanel();
141             JPanel jpbu8=new JPanel();
142             jpbu8.add(new JLabel("注册"));
143             jpbu1.add(jpbu8);
144             JLabel jlbu2user=new JLabel("账号: ");
145              jtbu2user=new JTextField(12);
146             JLabel jlbu2pasw=new JLabel("密码: ");
147              jtbu2pasw=new JPasswordField(12);
148             JLabel jlbu2pasw2=new JLabel("确认密码: ");
149              jtbu2pasw2=new JPasswordField(12);
150              JLabel jlbu2nam=new JLabel("昵称: ");
151              jtbu2nam=new JTextField(12); 
152             JLabel  jlbu2sex=new JLabel("性别: ");
153             String str[]={"","男","女"};
154             jcbu2sex=new JComboBox(str);
155             //jcbu2sex.setEditable(true);
156             JLabel jlbu2age=new JLabel("年龄: ");
157             jtbu2age=new JTextField(3);
158             jpbu2.add(jlbu2user);
159             jpbu2.add(jtbu2user);
160             jpbu3.add(jlbu2pasw);
161             jpbu3.add(jtbu2pasw);
162             jpbu3.add(jlbu2pasw2);
163             jpbu3.add(jtbu2pasw2);
164             jpbu4.add(jlbu2nam);
165             jpbu4.add(jtbu2nam);
166             jpbu5.add(jlbu2sex);
167             jpbu5.add(jcbu2sex);
168             jpbu6.add(jlbu2age);
169             jpbu6.add(jtbu2age);
170             jpbu1.add(jpbu2);
171             jpbu1.add(jpbu3);
172             jpbu1.add(jpbu4);
173             jpbu1.add(jpbu5);
174             jpbu1.add(jpbu6);
175             JButton jbbu2sub=new JButton("确定");
176             JButton jbbu2res=new JButton("重置");
177             JButton jbbu2bac=new JButton("取消");
178             jpbu7.add(jbbu2res);
179             jpbu7.add(jbbu2sub);
180             jpbu7.add(jbbu2bac);
181             jfbu2.add(jpbu1,"North");
182             jfbu2.add(jpbu7, "South");
183             jfbu2.setResizable(false);//不可缩放
184             jfbu2.setSize(400, 250);
185             jfbu2.setLocationRelativeTo(jfde);//设置基于jfde窗体居中
186             jfbu2.setAlwaysOnTop(true);//窗体顶端显示
187             jfbu2.setVisible(true);
188            jbbu2res.addActionListener(new Jbbu2res());
189            jbbu2bac.addActionListener(new Jbbu2bac());
190            jbbu2sub.addActionListener(new Jbbu2sub());}    }
191     class Bu3 implements ActionListener{
192         private int nut=0;
193         private int dbzong=0;
194         private ActionEvent e;
195         public Bu3(){};
196         public Bu3(int i){actionPerformed(e);}
197         @Override
198         public void actionPerformed(ActionEvent e) {   //登入主********************************         
199             String usnc = null;
200             String ussex=null;
201             int usage=0;
202             String usqm=null;
203             String ussf=null;
204             if(boo==true){
205                 boo=false;
206             }else{dbuser="11768";}
207             jfde.dispose();
208         try {
209             ResultSet re=st.executeQuery("select *from t_userx where 用户名=‘"+dbuser+"‘");
210             if(re.next()){
211                 usnc=re.getString("昵称");
212                 ussex=re.getString("性别");
213                 usage=re.getInt("年龄");
214                 usqm=re.getString("签名");
215                 ussf=re.getString("身份");
216             }re.close();//关闭
217         } catch (SQLException e1) {
218             e1.printStackTrace();
219         }    
220         jfmain=new JFrame("瓜果蔬菜这里查");
221         jfmain.setExtendedState(JFrame.MAXIMIZED_BOTH);
222         JSplitPane jspouter=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,true);
223         JSplitPane jspinner=new JSplitPane(JSplitPane.VERTICAL_SPLIT,true);
224         JPanel jp1=new JPanel();
225         jp1.setLayout(new GridLayout(7,1));//纵,横
226         JPanel jpim=new JPanel();
227         JButton jb1=new JButton(new ImageIcon("picture/jfmain_user.jpg"));
228         jpim.add(jb1);
229         jb1.setBackground(Color.blue);
230         JLabel jl1=new JLabel("^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^");
231         jp1.add(jl1);
232         jp1.add(jpim);
233         JPanel jpusem=new JPanel();
234         jpusem.setLayout(new GridLayout(4,1));
235         JLabel jln1=new JLabel("             "+usnc.trim());
236         jln1.setFont(new Font("华文行楷",Font.BOLD,24));
237         JLabel jln2=new JLabel("账    号:"+dbuser.trim());
238         JLabel jln3=new JLabel("身    份:"+ussf.trim());
239         JLabel jln4=new JLabel("年    龄:"+usage);
240         JLabel jln5=new JLabel("性    别:"+ussex.trim());
241         JLabel jln6=new JLabel("签    名:"+usqm.trim());
242         JPanel jpjsem=new JPanel();
243         JPanel jpj=new JPanel();
244         jpjsem.setLayout(new GridLayout(4,1));
245         jpjsem.add(jln5);
246         jpjsem.add(jln6);
247         jpusem.add(jln1);
248         jpusem.add(jln2);
249         jpusem.add(jln3);
250         jpusem.add(jln4);
251         jp1.add(jpusem);
252         jp1.add(jpjsem);
253         JPanel jpys=new JPanel();
254         if(ussf.trim().equals("管理员")){
255             JPanel jpzk=new JPanel();
256             String[][] struse=new String[100][7];
257              String []names={"用户名","密码","昵称","年龄","性别","身份","签名"};
258              int i=0,j=0,x=0;
259              try {
260                 ResultSet regl=st.executeQuery("select *from t_userx");
261                 while(regl.next()){
262                     if(x==0){x++;continue;}
263                     struse[i][j]=regl.getString("用户名");j++;
264                     struse[i][j]=regl.getString("密码");j++;
265                     struse[i][j]=regl.getString("昵称");j++;
266                     struse[i][j]=String.valueOf(regl.getInt("年龄"));j++;
267                     struse[i][j]=regl.getString("性别");j++;
268                     struse[i][j]=regl.getString("身份");j++;
269                     struse[i][j]=regl.getString("签名");j++;i++;j=0;}
270                 i=0;j=0;
271                 x=0;
272                 regl.close();//关闭
273             } catch (SQLException e1) {
274                 e1.printStackTrace();}    
275             JTable table=new JTable(struse,names);
276             table.setPreferredScrollableViewportSize(new Dimension(1000,900));
277             JScrollPane scll=new JScrollPane(table);
278             jpzk.add(scll);
279             JButton jbsc=new JButton("删除用户");
280             jpys.add(jpzk);
281             jpys.add(jbsc);
282             jbsc.addActionListener(new ActionListener(){
283                 public void actionPerformed(ActionEvent e) {
284                     String inxx=JOptionPane.showInputDialog(null,"请输入需要删除的用户名:","删除用户",JOptionPane.QUESTION_MESSAGE);
285                     if(inxx!=null&&Integer.parseInt(inxx)!=1){
286                         try {
287                             ResultSet re = st.executeQuery("select *from t_userx where 用户名=‘"+inxx+"‘");
288                             if(!re.next()){ 
289                                 JOptionPane.showMessageDialog(null,"查找失败,请重新输入");
290                             }else{
291                                 try {
292                                     int yongh=st.executeUpdate("delete from t_userx where 用户名=‘"+inxx+"‘");
293                                     if(yongh==1){JOptionPane.showMessageDialog(null, "删除成功,再次进入此页将更新表格");}
294                                 } catch (SQLException e1) {
295                                     e1.printStackTrace();
296                                 }}
297                         } catch (SQLException e1) {
298                             e1.printStackTrace();}}}});}else{
299         jpys.setLayout(new BorderLayout());
300         
301         JPanel jpss=new JPanel();
302         jpss.setLayout(new GridLayout(3,1));
303         JPanel jpss0=new JPanel();
304         JLabel jlss=new JLabel("搜索想要的         (游客无搜索功能,快加入我们吧)   :");
305         JButton jbss=new JButton("搜索");
306         JTextField jtss=new JTextField(12);
307         jpss0.add(jlss);
308         jpss0.add(jtss);
309         jpss0.add(jbss);
310         jpss.add(jpss0);
311         JLabel jlzk=new JLabel("-----添加、收藏等更多功能,赶紧注册上车-----");
312         JLabel jlzk2=new JLabel("");
313         jpss.add(jlzk);
314         jpss.add(jlzk2);
315         jpys.add(jpss,"North");
316         JPanel jpnr=new JPanel();
317         JLabel jlim=new JLabel(new ImageIcon("picture/0.jpg"));
318         jlim.setBounds(0, 0,jlim.getWidth(), jlim.getWidth());
319         jpnr.add(jlim);
320         JTextArea jta=new JTextArea("信息:\\n\\n",20,20);
321         jta.setEditable(false);
322         jta.setLineWrap(true);
323         JScrollPane jsp=new JScrollPane(jta);//滚动条
324         jpnr.add(jta);
325         jpys.add(jpnr,"Center");
326         JPanel jpbt=new JPanel();
327         JButton jbsan=new JButton("上一份");
328         JButton jbxia=new JButton("下一份");
329         if(ussf.trim().equals("会员")){
330             jlss.setText("  在这里找找自己想要的:    ");
331             jlzk.setText("-----欢迎来到这美妙的瓜果蔬菜世界-----");
332             JPanel jpzk1=new JPanel();
333             JPanel jpzk2=new JPanel();
334             JPanel jpgai=new JPanel();
335             JPanel jpjg=new JPanel();
336             JButton jbbu3g=new JButton("改改自己");
337             JButton jbbu3d=new JButton("切换账号");
338             jp1.add(jpzk1);
339             jp1.add(jpzk2);
340             jpgai.add(jbbu3g);
341             jpgai.add(jbbu3d);
342             jpjg.add(jbbu3d);
343             jpjg.add(jbbu3g);
344             jp1.add(jpjg);
345             JButton jbsc=new JButton("收藏");
346             jpbt.add(jbsc);
347             jpbt.add(new JLabel("                                                      "));
348             jpbt.add(new JLabel("                                                      "));
349             jpbt.add(jbsan);
350             jpbt.add(new JLabel("                                                      "));
351             jpbt.add(new JLabel("                                                      "));
352             jpbt.add(new JLabel("                                                      "));
353             jpbt.add(jbxia);
354             jpbt.add(new JLabel("                                                      "));
355             jpbt.add(new JLabel("                                                      "));
356             JButton jbtj=new JButton("添加");
357             jpbt.add(jbtj);
358             jbbu3g.addActionListener(new Jbbu3g());
359             jbbu3d.addActionListener(new Jbbu3d());
360             jbss.addActionListener(new ActionListener(){
361                 @Override
362                 public void actionPerformed(ActionEvent e) {
363                 if("".equals(jtss.getText())) JOptionPane.showMessageDialog(null, "搜索编号不可为空");
364                 try {
365                     ResultSet rsss = st.executeQuery("select *from t_fruit1 where 序号="+jtss.getText().trim());
366                         if(rsss.next()){
367                             jlzk2.setText("             唯一编号:"+rsss.getString("序号").trim()+"                                                  名称:"+rsss.getString("名称").trim());
368                             jlim.setIcon(new ImageIcon("picture/"+rsss.getString("文件路径").trim()));
369                             jta.setText("信息:\\n\\n   "+rsss.getString("信息").trim());
370                             }else{
371                             JOptionPane.showMessageDialog(null,"查找失败,请重新输入");    
372                     }
373                 } catch (SQLException e1) {
374                     // TODO 自动生成的 catch 块
375                     e1.printStackTrace();}    }});
376         }else{
377             JButton jbbu3j=new JButton("加入我们");
378             jpj.add(jbbu3j);//加入我们
379             jp1.add(jpj);
380             jbbu3j.addActionListener(new Jbbu3j());//注册账号     
381             
382             jpbt.add(jbsan);
383             jpbt.add(new JLabel("                                                      "));
384             jpbt.add(new JLabel("                                                      "));
385             jpbt.add(new JLabel("                                                      "));
386             jpbt.add(jbxia);
387         }
388         jpys.add(jpbt,"South");
389 
390         jbxia.addActionListener(new ActionListener(){
391             
392             @Override
393             public void actionPerformed(ActionEvent e) {
394                 nut++;
395                 try {
396                     ResultSet recoun=st.executeQuery("select count(序号)conu from t_fruit1");
397                     if(recoun.next()){dbzong=recoun.getInt("conu");}
398                     
399                     if(nut==1&&nut<=dbzong){
400                     ResultSet rsde1 = st.executeQuery("select top 1 *from t_fruit1");
401                     
402                     if(rsde1.next()){
403                         jlzk2.setText("             唯一编号:"+rsde1.getString("序号").trim()+"                                                   名称:"+rsde1.getString("名称").trim());
404                         jlim.setIcon(new ImageIcon("picture/"+rsde1.getString("文件路径").trim()));
405                         jta.setText("信息:\\n\\n   "+rsde1.getString("信息").trim());
406                         
407                         }
408                 }else if(nut>1&&nut<=dbzong){
409                     
410                    ResultSet rsde1 = st.executeQuery("select top "+nut+" *from t_fruit1 where 序号 not in(select top "+(nut-1)+" 序号 from t_fruit1)");
411                     if(rsde1.next()){
412                         jlzk2.setText("             唯一编号:"+rsde1.getString("序号").trim()+"                                                    名称:"+rsde1.getString("名称").trim());
413                         jlim.setIcon(new ImageIcon("picture/"+rsde1.getString("文件路径").trim()));
414                         jta.setText("信息:\\n\\n   "+rsde1.getString("信息").trim());
415                 }}else{
416                     nut--;
417                     JOptionPane.showMessageDialog(null,"已经是最后份");
418                 } }catch (SQLException e2) {
419                     // TODO 自动生成的 catch 块
420                     e2.printStackTrace();
421                 }}});
422         jbsan.addActionListener(new ActionListener(){
423             public void actionPerformed(ActionEvent e){        
424                 if(nut!=0)nut--;    
425                 if(nut>0){
426                     try {
427                         ResultSet recoun=st.executeQuery("select count(序号)conu from t_fruit1");
428                         if(recoun.next()){dbzong=recoun.getInt("conu");}
429                         
430                         if(nut==1&&nut<=dbzong){
431                         ResultSet rsde1 = st.executeQuery("select top 1 *from t_fruit1");
432                         if(rsde1.next()){
433                             jlzk2.setText("             唯一编号:"+rsde1.getString("序号").trim()+"                                                  名称:"+rsde1.getString("名称").trim());
434                             jlim.setIcon(new ImageIcon("picture/"+rsde1.getString("文件路径").trim()));
435                             jta.setText("信息:\\n\\n   "+rsde1.getString("信息").trim());
436                             
437                             }
438                     }else if(nut>1&&nut<=dbzong){
439                         
440                        ResultSet rsde1 = st.executeQuery("select top "+nut+" *from t_fruit1 where 序号 not in(select top "+(nut-1)+" 序号 from t_fruit1)");
441                         if(rsde1.next()){
442                             jlzk2.setText("             唯一编号:"+rsde1.getString("序号").trim()+"                                                    名称:"+rsde1.getString("名称").trim());
443                             jlim.setIcon(new ImageIcon("picture/"+rsde1.getString("文件路径").trim()));
444                             jta.setText("信息:\\n\\n   "+rsde1.getString("信息").trim());}}else{
445                         nut=1;
446                         JOptionPane.showMessageDialog(null,"已经是第一份");
447                     } }catch (SQLException e2) {
448                     e2.printStackTrace();}
449                 }else{
450                     nut=1;
451                     JOptionPane.showMessageDialog(null,"已经是第一份");
452     }}});}
453         jspouter.setLeftComponent(jp1);
454         jspouter.setRightComponent(jspinner);
455         jspinner.setTopComponent(jpys);
456         JPanel jpyx=new JPanel();
457         jpyx.setLayout(new GridLayout(4,1));
458         jpyx.add(new JLabel("开  发  者:东小东"));
459         jpyx.add(new JLabel("项目名称:瓜果蔬菜这里查"));
460         jpyx.add(new JLabel("时        间:2017-12-16"));
461         jspinner.setBottomComponent(jpyx);
462         jspinner.setDividerLocation(900);
463         jspinner.setDividerSize(4);
464         jspouter.setDividerSize(4);
465         jfmain.add(jspouter);
466         jfmain.setVisible(true);}}
467 class Jbbu1res implements ActionListener{
468     @Override
469     public void actionPerformed(ActionEvent e) {
470         jtbu1user.setText("");
471         jtbu1pasw.setText("");}}
472 class Jbbu1bac implements ActionListener{
473     @Override
474     public void actionPerformed(ActionEvent e) {
475     jfbu1.dispose();
476     jfde.setEnabled(true);//可执行窗口
477     }    }
478 class Jbbu1sub implements ActionListener{
479 public void actionPerformed(ActionEvent e){
480                                                                //登入*-****************************
481     if(jtbu1user.getText().equals("")||String.valueOf(jtbu1pasw.getPassword()).equals("")){
482         jfbu1.setVisible(false);
483         JOptionPane.showMessageDialog(null,"账号和密码不能为空");
484         jfbu1.setVisible(true);
485     }else{
486 try {
487     ResultSet rsde=st.executeQuery("select 密码 from t_userx where 用户名=‘"+jtbu1user.getText()+"‘");
488     if(rsde.next()){
489         String pass=rsde.getString("密码");
490         if(pass.trim().equals(String.valueOf(jtbu1pasw.getPassword()).trim())){
491             boo=true;
492             dbuser=jtbu1user.getText();
493             jfbu1.dispose();
494             new Bu3(1);    
495         }else{
496             jfbu1.setVisible(false);
497             JOptionPane.showMessageDialog(null, "密码错误,请重新输入");
498             jfbu1.setVisible(true);    
499         }
500         }else{
501             jfbu1.setVisible(false);
502             JOptionPane.showMessageDialog(null,"账号不存在,请重新输入");
503             jfbu1.setVisible(true);}
504 } catch (SQLException e1) {
505     e1.printStackTrace();
506 }}}    }
507 class Jbbu1hui implements ActionListener{
508     public void actionPerformed(ActionEvent e){//找回密码*-****************************    
509     JFrame jfhui=new JFrame();
510     jfbu1.dispose();
511     jfhui.setUndecorated(true);
512     jfhui.setOpacity(0.8f);
513     jfhui.setResizable(false);//不可缩放
514     jfhui.setSize(300, 200);
515     jfhui.setLocationRelativeTo(jfde);//设置基于jfde窗体居中
516     JPanel jpbu1=new JPanel();
517     jpbu1.setLayout(new GridLayout(5,1));//纵,横
518     JPanel jpbu3=new JPanel();
519     JPanel jpbu4=new JPanel();
520     JPanel jpbu5=new JPanel();
521     JPanel jpbu6=new JPanel();    
522     JPanel jpbu7=new JPanel();
523     JLabel jl1=new JLabel("找回密码");
524     jpbu1.add(jl1);
525     JLabel jlx=new JLabel("账号");
526     JTextField jtx=new JTextField(12);
527     jpbu3.add(jlx);
528     jpbu3.add(jtx);
529     jpbu1.add(jpbu3);
530     JLabel jlps=new JLabel("密匙");
531     JPasswordField jtps=new JPasswordField(12);
532     jpbu4.add(jlps);
533     jpbu4.add(jtps);
534     jpbu1.add(jpbu4);
535     jpbu1.add(jpbu7);
536     JButton jbsub=new JButton("确定");
537     JButton jbbac=new JButton("取消");
538     jpbu5.add(jbsub);
539     jpbu5.add(jbbac);
540     jpbu1.add(jpbu5);
541     jfhui.add(jpbu1,"Center");
542     jfhui.add(jpbu6,"South");
543     jfhui.setAlwaysOnTop(true);//窗体顶端显示
544     jfhui.setVisible(true);
545     jbbac.addActionListener(new ActionListener(){
546         @Override
547         public void actionPerformed(ActionEvent e) {
548             jfhui.dispose();
549             jfde.setEnabled(true);//可执行窗口
550 }});
551     jbsub.addActionListener(new ActionListener(){
552         @Override
553         public void actionPerformed(ActionEvent e) {
554         ResultSet rsde;
555         try {
556             rsde = st.executeQuery("select 密码,密匙 from t_userx where 用户名=‘"+jtx.getText()+"‘");
557             if(rsde.next()){
558                 String pass=rsde.getString("密匙");
559                 String pass1=rsde.getString("密码");
560                 if(pass.trim().equals(String.valueOf(jtps.getPassword()).trim())){
561                     jfhui.dispose();
562                     JOptionPane.showMessageDialog(null,"密码为:"+pass1.trim()+"   可登入后修改密码^_^   ");
563                     jfde.setEnabled(true);//可执行窗口
564                      new Bu1(1);}else{
565                     jfhui.setVisible(false);
566                     JOptionPane.showMessageDialog(null, "密匙错误,请重新输入");
567                     jfhui.setVisible(true);    }
568                 }else{
569                     jfhui.setVisible(false);
570                     JOptionPane.showMessageDialog(null,"账号不存在,请重新输入");
571                     jfhui.setVisible(true);
572                 }} catch (SQLException e1) {
573                     e1.printStackTrace();}}});}}
574 class Jbbu2bac implements ActionListener{
575     @Override
576     public void actionPerformed(ActionEvent e) {
577         jfbu2.dispose();
578         jfde.setEnabled(true);}}
579 class Jbbu2res implements ActionListener{
580     public void actionPerformed(ActionEvent e){
581         jtbu2user.setText("");
582         jtbu2pasw.setText("");
583         jtbu2pasw2.setText("");
584         jtbu2nam.setText("");
585         jtbu2age.setText("");}}
586 class Jbbu2sub implements ActionListener{
587     public void actionPerformed(ActionEvent e){//注册******************************** 
588         if(jtbu2user.getText().equals("")||String.valueOf(jtbu2pasw.getPassword()).equals("")){jfbu2.setVisible(false);
589             JOptionPane.showMessageDialog(null,"账号和密码不能为空");
590             jfbu2.setVisible(true);}
591         else if(!(String.valueOf(jtbu2pasw.getPassword()).equals(String.valueOf(jtbu2pasw2.getPassword())))){
592             jfbu2.setVisible(false);
593             JOptionPane.showMessageDialog(null, "两次输入密码不一致");
594             jfbu2.setVisible(true);}
595         else{
596         try {int inx=st.executeUpdate(String.format("insert into t_userx values(‘%s‘,‘%s‘,‘%s‘,‘%s‘,%d,‘‘,‘会员‘,‘‘)",jtbu2user.getText(),String.valueOf(jtbu2pasw.getPassword()),"".equals(jtbu2nam.getText())?"NULL":jtbu2nam.getText(),"".equals(jcbu2sex.getSelectedItem())?"秘密":jcbu2sex.getSelectedItem(),("".equals(jtbu2age.getText()))?0:Integer.parseInt(jtbu2age.getText())));
597             if(inx==1){
598                 jfbu2.dispose();
599                 JOptionPane.showMessageDialog(null,"注册成功");
600                 jfde.setEnabled(true);
601                 new Bu1(1); }
602         } catch (SQLException e1) {
603             StringWriter sw=new StringWriter();
604             PrintWriter pw=new PrintWriter(sw);
605             e1.printStackTrace(pw);
606                 String strx=new String(sw.toString());
607                 if(strx.indexOf("重复键")>-1) {
608                 jfbu2.setVisible(false);
609                 JOptionPane.showMessageDialog(null,String.format("账号:%s 不可重复注册",strx.substring(strx.indexOf("重复键值为 (")+7,strx.indexOf(" )。")).trim()));
610                 jfbu2.setVisible(true);
611                 try{
612                 sw.close();
613                 pw.close();
614             } catch (IOException e11) {
615                 e11.printStackTrace();}}}    }    }}
616 class Jbbu3j implements ActionListener{
617     public void actionPerformed(ActionEvent e){
618         jfde.setVisible(true);
619         jfmain.dispose();
620         new Bu2(1);}}
621 class Jbbu3g implements ActionListener{
622     public void actionPerformed(ActionEvent e){
623         jfmain.setEnabled(false);//设置不可执行窗口setOpacity(0.8f);
624         jfbu3g=new JFrame();
625         jfbu3g.setUndecorated(true);
626         jfbu3g.setOpacity(0.9f);
627         jfbu3g.setResizable(false);//不可缩放
628         jfbu3g.setSize(750, 480);
629         jfbu3g.setLocationRelativeTo(jfmain);//设置基于jfde窗体居中
630         JPanel jpbu1=new JPanel();
631         jpbu1.setBackground(Color.green);
632         jpbu1.setLayout(new GridLayout(10,1));//纵,横
633         JPanel jpbu2=new JPanel();
634         JPanel jpbu5=new JPanel();
635         JPanel jpbu3=new JPanel();
636         JPanel jpbu6=new JPanel();
637         JPanel jpbu4=new JPanel();
638         JPanel jpbu7=new JPanel();
639         JPanel jpbu8=new JPanel();
640         JPanel jpbu9=new JPanel();
641         JPanel jpbu10=new JPanel();
642         JPanel jpbu11=new JPanel();
643         jpbu2.setBackground(Color.yellow);
644         jpbu3.setBackground(Color.yellow);
645         jpbu8.setBackground(Color.yellow);
646         jpbu4.setBackground(Color.green);
647         jpbu5.setBackground(Color.green);
648         jpbu6.setBackground(Color.green);
649         jpbu7.setBackground(Color.green);
650         jpbu9.setBackground(Color.green);
651         jpbu10.setBackground(Color.green);
652         jpbu11.setBackground(Color.green);
653         JLabel jlbiao=new JLabel("修改普通信息(留白则不会更改)");
654         jpbu2.add(jlbiao);
655         jpbu1.add(jpbu2);
656         jpbu3.add(new JLabel("账号为:"+dbuser));
657         jpbu1.add(jpbu3);
658         JLabel jlnc=new JLabel("昵称");
659         JTextField jtnc=new JTextField(12);
660         jpbu4.add(jlnc);
661         jpbu4.add(jtnc);
662         jpbu1.add(jpbu4);
663         JLabel jlxb=new JLabel("性别");
664         String str[]={"","男","女"};
665         JComboBox jcxb=new JComboBox(str);
666         jpbu5.add(jlxb);
667         jpbu5.add(jcxb);
668         jpbu1.add(jpbu5);
669         JLabel jlnl=new JLabel("年龄");
670         JTextField jtnl=new JTextField(5);
671         jpbu6.add(jlnl);
672         jpbu6.add(jtnl);
673         jpbu1.add(jpbu6);
674         JLabel jlqm=new JLabel("签名");
675         JTextField jtqm=new JTextField(24);
676         jpbu7.add(jlqm);
677         jpbu7.add(jtqm);
678         jpbu1.add(jpbu7);
679         jpbu8.add(new JLabel("修改安全信息(密码为登入使用,密匙为找回密码使用,不能为空)"));
680         jpbu1.add(jpbu8);
681         JLabel jlmm=new JLabel("密码: ");
682         JPasswordField jtmm=new JPasswordField(12);
683         JLabel jlmm2=new JLabel("确认密码: ");
684         JPasswordField jtmm2=new JPasswordField(12);
685         jpbu9.add(jlmm);
686         jpbu9.add(jtmm);
687         jpbu9.add(jlmm2);
688         jpbu9.add(jtmm2);
689         jpbu1.add(jpbu9);
690         JLabel jlms=new JLabel("密匙: ");
691         JPasswordField jtms=new JPasswordField(12);
692         JLabel jlms2=new JLabel("确认密匙: ");
693         JPasswordField jtms2=new JPasswordField(12);
694         jpbu10.add(jlms);
695         jpbu10.add(jtms);
696         jpbu10.add(jlms2);
697         jpbu10.add(jtms2);
698         jpbu1.add(jpbu10);
699         JButton jbsub=new JButton("确定");
700         JButton jbbac=new JButton("取消");
701         jpbu11.add(jbsub);
702         jpbu11.add(jbbac);
703         jfbu3g.add(jpbu11,"South");
704         jfbu3g.add(jpbu1,"Center");
705         jfbu3g.setAlwaysOnTop(true);//窗体顶端显示
706         jfbu3g.setVisible(true);
707         jbbac.addActionListener(new ActionListener(){
708             public void actionPerformed(ActionEvent e) {
709                 jfmain.setEnabled(true);//设置不可执行窗口setOpacity(0.8f);    
710                 jfbu3g.dispose();}});
711         jbsub.addActionListener(new ActionListener(){
712             public void actionPerformed(ActionEvent e) {
713     if(String.valueOf(jtmm2.getPassword()).equals("")||String.valueOf(jtms.getPassword()).equals("")||String.valueOf(jtms2.getPassword()).equals("")||String.valueOf(jtmm.getPassword()).equals("")){
714                     jfbu3g.setVisible(false);
715                     JOptionPane.showMessageDialog(null,"密码和密匙不能为空");
716                     jfbu3g.setVisible(true);
717                     
718                 }else if(!(String.valueOf(jtmm.getPassword()).equals(String.valueOf(jtmm2.getPassword())))){
719                     jfbu3g.setVisible(false);
720                     JOptionPane.showMessageDialog(null, "两次输入密码不一致");
721                     jfbu3g.setVisible(true);
722                     
723                 }else if(!(String.valueOf(jtms.getPassword()).equals(String.valueOf(jtms2.getPassword())))){
724                     jfbu3g.setVisible(false);
725                     JOptionPane.showMessageDialog(null, "两次输入密匙不一致");
726                     jfbu3g.setVisible(true);}
727                     else{try {if(!(jtnc.getText().equals(""))){
728                             st.executeUpdate("update t_userx set 昵称=‘"+jtnc.getText()+"‘ where 用户名=‘"+dbuser+"‘");
729                         }
730                         if(!("".equals(jcxb.getSelectedItem()))){
731                             st.executeUpdate("update t_userx set 性别=‘"+jcxb.getSelectedItem()+"‘ where 用户名=‘"+dbuser+"‘");
732                         }
733                         if(!(jtnl.getText().equals(""))){
734                             st.executeUpdate("update t_userx set 年龄="+Integer.parseInt(jtnl.getText())+" where 用户名=‘"+dbuser+"‘");
735                         }
736                         if(!(jtqm.getText().equals(""))){
737                             st.executeUpdate("update t_userx set 签名=‘"+jtqm.getText()+"‘ where 用户名=‘"+dbuser+"‘");
738                         }
739                         st.executeUpdate("update t_userx set 密码=‘"+String.valueOf(jtmm.getPassword())+"‘ where 用户名=‘"+dbuser+"‘");
740                         st.executeUpdate("update t_userx set 密匙=‘"+String.valueOf(jtms.getPassword())+"‘ where 用户名=‘"+dbuser+"‘");
741                             jfbu3g.dispose();
742                             jfmain.dispose();
743                             JOptionPane.showMessageDialog(null,"修改成功");
744                             jfde.setEnabled(true);
745                             jfde.setVisible(true);
746                             new Bu1(1);
747                     } catch (NumberFormatException e1) {
748                         // TODO 自动生成的 catch 块
749                         e1.printStackTrace();
750                     } catch (SQLException e1) {
751                         // TODO 自动生成的 catch 块
752                         e1.printStackTrace();
753                     }}}});}}
754 class Jbbu3d implements ActionListener{
755     public void actionPerformed(ActionEvent e) {
756         jfmain.dispose();
757         jfde.setVisible(true);
758         new Bu1(1);}}
759 class Db{public Db(){
760         String url = "jdbc:sqlserver://localhost:1433;databaseName=java_datax";
761         String user="java_userx";  
762         String password="123123";
763     try {Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");//注册、加载特定的驱动程序
764         } catch (ClassNotFoundException e) {
765             JOptionPane.showMessageDialog(null,"加载数据库失败01");
766             System.exit(0);//关闭整个应用
767             e.printStackTrace();}
768         try {
769             ct=DriverManager.getConnection(url,user,password);//创建连接,创建连接Connection对象
770         } catch (SQLException e1) {
771             JOptionPane.showMessageDialog(null,"加载数据库失败02");
772             System.exit(0);//关闭整个应用
773             e1.printStackTrace();
774         }
775         try {
776             st=ct.createStatement();//创建会话对象,用Connection对象生成Statement对象
777         } catch (SQLException e3) {
778             JOptionPane.showMessageDialog(null,"加载数据库失败03");
779             System.exit(0);//关闭整个应用
780             e3.printStackTrace();
781         }}}}
782 public class Main{
783     public static void main(String arg[]){
784         new Start();}    }

以上是关于瓜果蔬菜这里查小系统的主要内容,如果未能解决你的问题,请参考以下文章

mpvue 初体验之改写车标速查小程序

基因

品类、品种、品项、sku、spu、商品、单品、编码、单位 区别

[到处走走]北京胜利饭店

蔬菜基地售卖系统stage1

hibernate 增删改查小测试