软件杯-界面设计

我们的界面设计分为3个部分:第一部分为个人用户信息的修改,但是由于时间的关系,我们只进行了界面的设计,没有能够进行后台数据库的连接;第二部分是我们的最重要的识别界面,在这个界面中,我们有文件夹的选择按钮,识别按钮,有结果输出框和时间和个数的输出框;第三部分为结果的打印部分。

由于我们的后台代码为JAVA代码,所以我们的界面用SWing来写,我们先写了一个整体的背景框架:

代码:

// *********************************************  
    // 第一步声明程序所需控件  
    // *********************************************  
    JFrame frame;  
    // 上边面板的控件  
    JButton btn_add, btn_query_stu, btn_query_cnt;  
    JPanel panel_head, panel_add, panel_query_stu, panel_query_cnt;  
    // 下面第二个面板的控件  
    JLabel label_query_time,label_query_number;  
    JTextField text_time,text_num,text_in;   
    JTextArea text_result;
    JButton btn_Ok,btn_shibie;  
    JScrollPane jsp;
    // 下面第一个面板的控件  
    JButton btn_submit;  
    JLabel label_name, label_number, label_mark;  
    JTextField text_name, text_number, text_mark, text_sta;  
    // 下面第三个面板的控件  
    JLabel label;  
JTextField text_cnt;  

  // ********************************  
        // 第二步设置 底层窗口属性  
        // ********************************  
        // 得到当前屏幕的尺寸  
        Toolkit kit = Toolkit.getDefaultToolkit);  
        Dimension screenSize = kit.getScreenSize);  
        int screenWidth = screenSize.width;  
        int screenHeight = screenSize.height;  
        // frame指底层窗口  
        frame = new JFrame"图片文字提取");  
        frame.setBoundsscreenWidth / 3, screenHeight / 4, 450, 300); // 设置位置及大小  
        frame.setDefaultCloseOperationJFrame.EXIT_ON_CLOSE);  
        frame.getContentPane).setBackgroundColor.lightGray);  
        LayoutManager layoutMgr = null;
        frame.getContentPane).setLayoutnew BorderLayout)); // 使用绝对布局  
        frame.setResizablefalse); // 设置窗口大小不可变  
  
        
        // 上层面板  
        panel_head = new JPanel);  
        panel_head.setBounds2, 0, 440, 40);  
        panel_head.setBackgroundColor.lightGray);  
        panel_head.setVisibletrue);  
        panel_head.setLayoutnew GridLayout1, 3, 2, 0));  
  
        btn_add = new JButton"个人信息");  
        btn_add.setFontnew Font"宋体", 1, 12)); // 设置字体 格式 大小  
        btn_add.setVisibletrue);  
        panel_head.addbtn_add);  
        btn_add.addActionListenernew ActionListener) {  
            public void actionPerformedActionEvent e) {  
                panel_add.setVisibletrue);  
                panel_query_stu.setVisiblefalse);  
                panel_query_cnt.setVisiblefalse);  
            }  
        });  
  
        btn_query_stu = new JButton"图片识别");  
        btn_query_stu.setVisibletrue);  
        panel_head.addbtn_query_stu);  
        btn_query_stu.addActionListenernew ActionListener) {  
            public void actionPerformedActionEvent e) {  
                panel_add.setVisiblefalse);  
                panel_query_stu.setVisibletrue);  
                panel_query_cnt.setVisiblefalse);  
            }  
        });  
  
        btn_query_cnt = new JButton"文字打印");  
        btn_query_cnt.setVisibletrue);  
        panel_head.addbtn_query_cnt);  
        btn_query_cnt.addActionListenernew ActionListener) {  
            public void actionPerformedActionEvent e) {  
                panel_add.setVisiblefalse);  
                panel_query_stu.setVisiblefalse);  
                panel_query_cnt.setVisibletrue);  
 
            }  
        });  

第一部分效果图:

代码:

Font font = new Font"宋体", 1, 16);  
  
        panel_add = new JPanel);  
        panel_add.setBounds2, 45, 440, 225);  
        panel_add.setBackgroundColor.lightGray);  
        panel_add.setLayoutnew GridLayout4, 2, 20, 20));  
  
        label_number = new JLabel"ID:");  
        label_number.setFontfont);  
        label_number.setHorizontalAlignmentSwingConstants.CENTER);  
        panel_add.addlabel_number);  
  
        text_number = new JTextField);  
        text_number.setFontfont);  
        panel_add.addtext_number);  
  
        label_name = new JLabel"姓名:");  
        label_name.setFontfont);  
        label_name.setHorizontalAlignmentSwingConstants.CENTER);  
        panel_add.addlabel_name);  
  
        text_name = new JTextField);  
        text_name.setFontfont);  
        panel_add.addtext_name);  
  
        label_mark = new JLabel"密码:");  
        label_mark.setFontfont);  
        label_mark.setHorizontalAlignmentSwingConstants.CENTER);  
        panel_add.addlabel_mark);  
  
        text_mark = new JTextField);  
        text_mark.setFontfont);  
        panel_add.addtext_mark);  
  
        btn_submit = new JButton"提交");  
        btn_submit.setFontfont);  
        btn_submit.addActionListenernew ActionListener) {  
            public void actionPerformedActionEvent e) {  
                String s = text_mark.getText);  
            }  
        });  
        panel_add.addbtn_submit);  
  
        text_sta = new JTextField);  
        panel_add.addtext_sta);  
  
        panel_add.setVisibletrue);  
        frame.getContentPane).addpanel_add);  

第二部分效果图

代码:

 panel_query_stu = new JPanel);  
        panel_query_stu.setBounds2, 45, 440, 225);  
        panel_query_stu.setBackgroundColor.lightGray);  
        panel_query_stu.setLayoutlayoutMgr);  
  
        label_query_time = new JLabel"识别时间:");  
        label_query_time.setBounds370, 60, 150, 40);  
        panel_query_stu.addlabel_query_time);  
  
        label_query_number = new JLabel"图片个数:");  
        label_query_number.setBounds370, 130, 150, 40);  
        panel_query_stu.addlabel_query_number);  
        
        text_in = new JTextField);  
        text_in.setBounds160, 10, 180, 40);  
        panel_query_stu.addtext_in);  
  
        
       
        
        text_result = new JTextArea50,50);  
        text_result.setBounds10, 60, 350, 160);
        text_result.setLineWraptrue);
        text_result.setWrapStyleWordtrue);
        text_result.setText"企业注册号                                                   企业名称");
        JScrollPane jsp=new JScrollPanetext_result);
        jsp.setBounds350,60,10,100);
        panel_query_stu.addjsp);
        
        
        panel_query_stu.addtext_result);  
  
        text_time = new JTextField);   
        text_time.setBounds370, 90, 150, 40);  
         
        panel_query_stu.addtext_time);  
  
        text_num = new JTextField); 
        text_num.setBounds370, 160, 150, 40);  
        
        panel_query_stu.addtext_num);  
        panel_query_stu.addbtn_Ok);  
  
        panel_query_stu.setVisiblefalse);  
        frame.getContentPane).addpanel_query_stu);  

第二部分的查询界面的设计效果图

代码;

btn_shibie = new JButton"选择文件夹:");  
        btn_shibie.setFontfont);  
        btn_shibie.setBounds10, 10, 140, 40);  
        btn_shibie.addActionListenernew ActionListener) { 
        public void actionPerformedActionEvent e) {
            // TODO Auto-generated method stub
            JFileChooser jfc=new JFileChooser);
            jfc.setFileSelectionModeJFileChooser.FILES_AND_DIRECTORIES );
            jfc.showDialognew JLabel), "选择");
            File file=jfc.getSelectedFile);
            long i=file.listFiles).length;
            String s=String.valueOfi);
            text_in.setTextfile.getAbsolutePath));
            text_num.setTexts);
            /*iffile.isDirectory)){
                System.out.println"文件夹:"+file.getAbsolutePath));
            }else iffile.isFile)){
                System.out.println"文件:"+file.getAbsolutePath));
            }*/
        }
        }
        )

第三部分效果图;

代码:

 // // 下层面板  
         panel_query_cnt = new JPanel);  
         panel_query_cnt.setBounds2, 45, 440, 225);  
         panel_query_cnt.setBackgroundColor.lightGray);  
         panel_query_cnt.setLayoutlayoutMgr);  
           
         label = new JLabel"表格输出打印:");  
         label.setBounds10, 10, 150, 40);  
         label.setFontfont);  
         panel_query_cnt.addlabel);  
           
         text_cnt = new JTextField);   
         text_cnt.setBounds10, 60, 420, 140);  
         panel_query_cnt.addtext_cnt);  
         text_cnt.setText"表格文件存于E盘目录下,名称为:输出"); 
         
         frame.getContentPane).addpanel_query_cnt);  
         panel_query_cnt.setVisiblefalse);  
  
        // 需添加完组件后设置可见  
        frame.setVisibletrue); // 设置窗口可见  
  
}  

结果输出效果图:

结论:此次的界面设计是我第一次使用swing进行较为大型的界面设计,不足在于我没能实现相对布局的设定,只实现了绝对布局。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平