JAVA第二次作业,java第二次

2019-08-17 19:45栏目:编程学习

JAVA第2回作业,java第四回

  笔者做的是登陆分界面。用了JButton(按键),JComboBox(组合框),JOptionPane(提醒面板),JPasswordField(密码框),JTextField(文本框),用监听器实现了风云相应。当输入帐号和密码都以123时候,提醒登入成功,不然登入战败!

  还增多了java中的颜色和字体类。字体为“CENTERAV4_BASELINE”,颜色为普鲁士蓝。并且在明确和收回开关上踏入了快捷键。

可是ImageIcon(图片)没有落实。

下边是源代码:

  1 package wole;
  2 
  3 import java.awt.Color;
  4 import java.awt.Font;
  5 import java.awt.event.ActionEvent;
  6 import java.awt.event.ActionListener;
  7 import java.awt.event.KeyEvent;
  8 import javax.swing.ImageIcon;
  9 import javax.swing.JButton;
 10 import javax.swing.JComboBox;
 11 import javax.swing.JFrame;
 12 import javax.swing.JLabel;
 13 import javax.swing.JOptionPane;
 14 import javax.swing.JPanel;
 15 import javax.swing.JPasswordField;
 16 import javax.swing.JTextField;
 17 
 18 public class showLoginFrame extends JFrame implements ActionListener {
 19 
 20     private static final long serialVersionUID = 1L;
 21     
 22     JPanel p;
 23     JButton a;
 24     JButton b;
 25     JLabel u;
 26     JLabel m;
 27     JLabel se;
 28     JLabel t;
 29     JLabel shfen;
 30     JComboBox kuang3;
 31     ImageIcon tu;
 32     JTextField kuang1;
 33     JPasswordField kuang2;
 34     String role[] = { "管 理 员", "其 他" };
 35 
 36     public showLoginFrame() {
 37         
 38         se = new JLabel("网  站  内  容  管  理  系  统");
 39         se.setBounds(115, 20, 420, 50);
 40         se.setFont(new Font("楷体", Font.CENTER_BASELINE, 20));
 41         se.setForeground(Color.black);
 42         
 43         u = new JLabel("用户名:");
 44         u.setFont(new Font("楷体", Font.CENTER_BASELINE, 15));
 45         u.setForeground(Color.black);
 46         
 47         m = new JLabel("密码:");
 48         m.setFont(new Font("楷体", Font.CENTER_BASELINE, 15));
 49         m.setForeground(Color.black);
 50         
 51         shfen = new JLabel("身份:");
 52         shfen.setFont(new Font("楷体", Font.CENTER_BASELINE, 15));//设置字体
 53         shfen.setForeground(Color.black);
 54         shfen.setBounds(130, 200, 100, 50);
 55         
 56         kuang3 = new JComboBox(role);
 57         kuang3.setForeground(Color.black);
 58         kuang3.setBounds(210, 210, 100, 25);
 59         
 60         kuang1 = new JTextField();
 61         kuang1.setBounds(210, 100, 180, 25);
 62         kuang1.setForeground(Color.black);
 63         
 64         kuang2 = new JPasswordField();
 65         kuang2.setBounds(210, 160, 180, 25);
 66         kuang2.setEchoChar('*');//设置密码框出现的符号
 67         kuang2.setForeground(Color.black);
 68         
 69         a = new JButton("确定(ALT Y)");
 70         a.setMnemonic(KeyEvent.VK_Y);//给确定按钮增加快捷键,ALT G
 71         a.setForeground(Color.black);//所设置字体颜色为蓝色
 72         a.addActionListener(this);//对这个按钮进行监听
 73         
 74         b = new JButton("取消(ALT N)");
 75         b.setMnemonic(KeyEvent.VK_N);
 76         b.setForeground(Color.black);
 77         b.addActionListener(this);
 78         
 79         p = new JPanel();
 80         tu = new ImageIcon("/img/22.jpg");//这是图片
 81         t = new JLabel(tu);//将图片添加到JLabel当中
 82         p.add(t);//将添加到JPanel当中
 83         
 84         p.setBounds(0, 0, 560, 400);//图片560*400(宽*高)
 85         b.setBounds(320, 270, 120, 35);
 86         a.setBounds(120, 270, 120, 35);
 87         u.setBounds(130, 90, 100, 50);
 88         m.setBounds(130, 150, 100, 50);
 89         
 90         add(se);
 91         add(u);
 92         add(m);
 93         add(shfen);
 94         add(kuang3);
 95         add(kuang1);
 96         add(kuang2);
 97         add(a);
 98         add(b);
 99         add(p);
100         
101         setTitle("欢 迎 登 陆 网 站 内 容 管 理 系 统");
102         setSize(560,400);
103         setResizable(false);//不能改变界面大小
104         setLayout(null);//设置界面的布局管理器为空
105         setVisible(true);
106         setLocationRelativeTo(null);//让窗口位于屏幕中央
107 
108     }
109 
110     public static void main(String[] args) {
111 
112         new showLoginFrame();
113 
114     }
115 
116     public void actionPerformed(ActionEvent e) {
117         if (e.getSource() == a)
118             
119         {
120             if (kuang1.getText().trim().equals("")) {
121                 
122                 JOptionPane.showMessageDialog(null,"请输入用户名!", "用户名空提示",JOptionPane.OK_OPTION);
123                 
124             }
125             
126             else {
127                 
128                 if (new String(kuang2.getPassword()).equals("")) {
129                     
130                     JOptionPane.showMessageDialog(null,"请输入密码!", "密码空提示",JOptionPane.OK_OPTION);
131                     
132                  } 
133                 
134                 else {
135                     
136                        if (kuang1.getText().trim().equals("123")&& (new String(kuang2.getPassword()).equals("123"))) {
137                         
138                         this.dispose();//使当前界面退出
139                         
140                         JOptionPane.showMessageDialog(null,"恭喜你,登陆成功!");
141                     }
142                        
143                     else 
144                         
145                          JOptionPane.showMessageDialog(null,"您输入的用户名或密码错误!");
146                     
147                          kuang2.setText(null);//设置密码框为空
148                     
149                 }
150             }
151         }
152         if (e.getSource() == b)
153             
154             System.exit(0);//关闭当前界面
155 
156     }
157 
158 }

 

作者做的是登陆分界面。用了JButton(按键),JCombo博克斯(组合框),JOptionPane(提醒面板),JPasswordField(密码框),...

   登陆分界面

先后设计观念:依据Random.java,用随便的关于类,可生成6位的验证码,然后开始展览推断就能够。均用新闻展现框完毕。

程序流程图:

 图片 1

 

 

源程序:

//验证码截图

//那颖       20163448    信1605-2班

import java.util.Random;

import javax.swing.JOptionPane;  

public class RandonStr

{

    public static void main(String[] args)

    {

        String code=" ";//定义三个新的空字符串

        for(int i=1;i<=6;i )

        {

            Random random=new Random();

            int character=random.nextInt(26) 97;//随机发生97-123之间的数

            code=code (char)character;//将发生的数转化为char类型为小写字母

        }

        String input=JOptionPane.showInputDialog(code "n" "请输入验证码:");//显示验证码,并提示用户输入验证码

        if(input.equals(code))//判定验证码是不是科学

        {

            JOptionPane.showMessageDialog(null,"验证码准确,验证成功!","Results",JOptionPane.PLAIN_MESSAGE );

        }

        else

        {

            JOptionPane.showMessageDialog(null,"验证码错误,验证退步!","Results",JOptionPane.PLAIN_MESSAGE );

        }

    }

}

//登陆分界面截图

//那颖    20163448  信1605-班

import javax.swing.*;

 

import java.awt.*;   //导入要求的包

 

public class LogonInterface extends JFrame

{

    JTextField jTextField;

    JPasswordField jPasswordField;

    JLabel jLabel1,jLabel2;

    JPanel jp1,jp2,jp3;

    JButton jb1,jb2;

    public LogonInterface()

    {

        jTextField = new JTextField(12);

        jPasswordField = new JPasswordField(13);

        jLabel1 = new JLabel("用户名");

        jLabel2 = new JLabel("密   码");

        jb1 = new JButton("登录");

        jb2 = new JButton("火速注册");

        jp1 = new JPanel();

        jp2 = new JPanel();

        jp3 = new JPanel();

        

        //设置布局

        this.setLayout(new GridLayout(3,1));

        

        jp1.add(jLabel1);

        jp1.add(jTextField);//第一块面板增加用户名和文本框

        

        jp2.add(jLabel2);

        jp2.add(jPasswordField);//第二块面板加多密码和密码输入框

        

        jp3.add(jb1);

        jp3.add(jb2); //第三块面板加多确认和打消

        

        // jp3.setLayout(new FlowLayout());    //因为JPanel暗许布局格局为FlowLayout,所以能够收回这段代码.

        this.add(jp1);

        this.add(jp2);

        this.add(jp3);  //将三块面板增多到登录框上边

        //设置突显

        this.setSize(300, 200);

        //this.pack();

        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        this.setVisible(true);

        this.setTitle("登陆");

         

    }

    public static void main(String[] args){

        new LogonInterface();

    }

}

运转结果截图:

图片 2

图片 3

图片 4

图片 5

 

 

 

试验计算:完结验证码那一个三个在乎随机生成6位的验证码,贰个在乎推断验证码是不是准确,其次,想要完成成套报到分界面包车型大巴落到实处就要用JFrame类,相当多有关JFrame的类的内容不知晓,所以不能自身单独达成,那就先学会借鉴!

 

版权声明:本文由威尼斯人app发布于编程学习,转载请注明出处:JAVA第二次作业,java第二次