比较python和java制作登录页面
python
import tkinter
from tkinter import *
import tkinter.messagebox
import time
t=Tk()
t.title("登录")
t.geometry('300x100')
def sure():
a=text1.get()//获取输入框内容
b=text2.get()
if(a=='')://必须输入用户名
return tkinter.messagebox.showwarning('警告','请正确输入用户名!')
if(b=='123456789')://设置密码
return tkinter.messagebox.showinfo('提示','登录成功!')
else:
return tkinter.messagebox.showwarning('警告','密码错误\n请重新输入!')
lab1=Label(t,text="登录",font=('宋体 -18 bold'),fg='red').grid(row=0,column=1)
lab2=Label(t,text="用户名",font=('宋体 -18 bold')).grid(row=1,column=0)
text1=StringVar()
entry1=Entry(t,width=20,relief='flat',textvariable=text1 ).grid(row=1,column=1)
lab3=Label(t,text="密 码",font=('宋体 -18 bold')).grid(row=2,column=0)
text2=StringVar()
entry2=Entry(t,width=20,show='*',relief='sunken',textvariable=text2).grid(row=2,column=1)
btn=Button(t,text='确定',command=sure).grid(row=3,column=1)
效果图如下:
java:
首先,创建一个Enter.java文件,设计好图形界面
package jsj;//包名,创建文件同一目录下
import java.awt.Dimension;
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
public class Enter{
public static void main(String[] args) {
// TODO Auto-generated method stub
Enter e1=new Enter();
e1.show();
}
public void show(){
javax.swing.JFrame jf=new javax.swing.JFrame();
jf.setTitle("登录");
jf.setSize(300,400);
jf.setResizable(false);//固定窗口
jf.setDefaultCloseOperation(3);//窗体关闭时结束程序
jf.setLocationRelativeTo(null);//居中
FlowLayout f= new FlowLayout(FlowLayout.CENTER,5,5);
jf.setLayout(f);
Dimension d1=new Dimension(50,50);//标签大小
Dimension d2=new Dimension(200,30);//输入框大小
Dimension d3=new Dimension(60,30);
//用户名标签
JLabel j1=new JLabel("用户名:");
j1.setPreferredSize(d1);
jf.add(j1);
//用户名输入框
JTextField t1=new JTextField();
t1.setPreferredSize(d2);
jf.add(t1);
//密码标签
JLabel j2=new JLabel("密 码:");
j2.setPreferredSize(d1);
jf.add(j2);
//密码输入框
JPasswordField jp=new JPasswordField ();
jp.setPreferredSize(d2);
jf.add(jp);
//按钮
JButton btn=new JButton();
btn.setText("登录");
btn.setPreferredSize(d3);
jf.add(btn);
//设置窗口可见
jf.setVisible(true);
//调用函数,进行判断
EnterListener a=new EnterListener(jf,t1,jp);
btn.addActionListener(a);//按钮添加点击事件
}
}
如图:
接着,创建一个EnterListener.java文件,监控button设置点击事件
package jsj;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JOptionPane;
public class EnterListener implements ActionListener{
private javax.swing.JFrame login;//frame
private javax.swing.JTextField jt;//账号输入框对象
private javax.swing.JPasswordField jp;//密码输入框对象
public EnterListener(javax.swing.JFrame login,javax.swing.JTextField jt,javax.swing.JPasswordField jp) {
this.jt=jt;
this.jp=jp;
}
public void actionPerformed(ActionEvent e)
{
if (jt.getText().equals("")||jp.getText().equals(""))
{
JOptionPane.showMessageDialog(null, "密码或用户名错误,请重试!");
}
else
{
if (jt.getText().equals("李现")&&jp.getText().equals("123456789"))
{
JOptionPane.showMessageDialog(null, "登录成功!");
}
else
{
JOptionPane.showMessageDialog(null, "密码或用户名错误,请重试!");
}
}
}
}
如图:
注意:两个java文件注意放在同一个包中
最后,通过比较,还是python简单,人生苦短,我选python!