📄 loginframe.java
字号:
package shop;//
//以下是布局GUI的类
//
import java.sql.*;
import java.util.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class LoginFrame extends JFrame
{
private Connection loginconnection;
private Statement loginstatement;
private ResultSet loginresultSet;
JTextField userNameTextField;
private JPasswordField passwordField;
public LoginFrame()
{
setTitle("登录窗口");
setSize(250,150);
setResizable(false);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
setLocation(350,200);
GridBagLayout layout = new GridBagLayout();
Container contents = getContentPane();
contents.setLayout(layout);
GridBagConstraints constraints = new GridBagConstraints();
userNameTextField = new JTextField(); //needed below
userNameTextField.setPreferredSize(new Dimension(120, 25));
JLabel userNameLabel = new JLabel();
userNameLabel.setLabelFor(userNameTextField);
userNameLabel.setText("用户名");
constraints.weightx = 100;
constraints.weighty = 100;
constraints.gridx = 0;
constraints.gridy = 0;
constraints.gridwidth = 1;
constraints.gridheight = 1;
contents.add(userNameLabel, constraints);
constraints.gridx = 1;
constraints.gridy = 0;
constraints.gridwidth = 2;
constraints.gridheight = 1;
contents.add(userNameTextField, constraints);
passwordField = new JPasswordField(); // needed below
passwordField.setPreferredSize(new Dimension(120, 25));
// password label
JLabel passwordLabel = new JLabel();
passwordLabel.setText("口 令");
passwordLabel.setLabelFor(passwordField);
constraints.gridx = 0;
constraints.gridy = 1;
constraints.gridwidth = 1;
constraints.gridheight = 1;
contents.add(passwordLabel, constraints);
// password field
constraints.gridx = 1;
constraints.gridy = 1;
constraints.gridwidth = 2;
constraints.gridheight = 1;
contents.add(passwordField, constraints);
JPanel buttonPanel = createButtonPanel(); // sets global loginButton
constraints.gridx = 0;
constraints.gridy = 2;
constraints.gridwidth = 3;
constraints.gridheight = 1;
contents.add(buttonPanel, constraints);
}
private void equalizeComponentSizes(java.util.List components)
{
// Get the largest width and height
int i = 0;
Dimension maxPreferred = new Dimension(0,0);
JComponent oneComponent = null;
Dimension thisPreferred = null;
for (i = 0; i < components.size(); ++i) {
oneComponent = (JComponent)components.get(i);
thisPreferred = oneComponent.getPreferredSize();
maxPreferred.width =
Math.max(maxPreferred.width, (int)thisPreferred.getWidth());
maxPreferred.height =
Math.max(maxPreferred.height, (int)thisPreferred.getHeight());
}
// reset preferred and maximum size since BoxLayout takes both
// into account
for (i = 0; i < components.size(); ++i) {
oneComponent = (JComponent)components.get(i);
oneComponent.setPreferredSize((Dimension)maxPreferred.clone());
oneComponent.setMaximumSize((Dimension)maxPreferred.clone());
}
} // equalizeComponentSizes()
private void initAboutDialog()
{
JDialog dialog = new About(this,true);
dialog.show();
}
/*private void connection()
{
String url = "jdbc:odbc:VipQuery";
String username = "";
String password = "";
//加载驱动程序以连接数据库
try
{
Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
loginconnection = DriverManager.getConnection( url, username, password );
}
//捕获加载驱动程序异常
catch ( ClassNotFoundException cnfex )
{
System.err.println("装载 JDBC/ODBC 驱动程序失败。" );
cnfex.printStackTrace();
System.exit( 1 ); // terminate program
}
//捕获连接数据库异常
catch ( SQLException sqlex )
{
System.err.println( "无法连接数据库" );
sqlex.printStackTrace();
System.exit( 1 ); // terminate program
}
}
private void loginOperate()
{
try
{
String loginquery,loginpassword="";
String loginusename = userNameTextField.getText();
char a[]=passwordField.getPassword();
int n=a.length;
for(int j=0;j<n;j++)
{
loginpassword+=a[j];
}
loginquery = "select * from UESR_MANAGER where ( username ='"+loginusename+
"'and password = '"+loginpassword+"')";
loginstatement = loginconnection.createStatement();
loginresultSet = loginstatement.executeQuery(loginquery );
boolean Records = loginresultSet.next();
if ( ! Records )
{
//弹出消息框
JOptionPane.showMessageDialog( this,"登录失败" );
//清空文本框,等待用户的再次输入
userNameTextField.setText("");
passwordField.setText("");
return;
}
else
{
MainFrame f = new MainFrame();
f.show();
dispose();
}
loginconnection.close();
}
catch(SQLException sqlex)
{
sqlex.printStackTrace();
}
}
*/
private JPanel createButtonPanel()
{
JPanel panel = new JPanel();
panel.setLayout(new BoxLayout(panel, 0));
// login button (global variable)
JButton loginButton=new JButton();
loginButton = new JButton();
loginButton.setText("确 定");
loginButton.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
//connection();
//loginOperate();
String loginpassworda="";
char a[]=passwordField.getPassword();
int n=a.length;
for(int j=0;j<n;j++)
{
loginpassworda+=a[j];
}
if(userNameTextField.getText().replace('a','w').equals("wyl")&&loginpassworda.equals("123")
||userNameTextField.getText().replace('a','s').equals("hust")&&loginpassworda.equals("hust")
||userNameTextField.getText().replace('b','a').equals("a")&&loginpassworda.equals("a")
||userNameTextField.getText().replace('b','a').equals("aaa")&&loginpassworda.equals("abc"))
{
MainFrame f = new MainFrame();
f.show();
}
else
{
//清空文本框,等待用户的再次输入
userNameTextField.setText("请重新输入");
passwordField.setText("");
}
}//actionPerformed
}//actionlistener
);
panel.add(loginButton);
// space
panel.add(Box.createRigidArea(new Dimension(5,0)));
// cancel button
JButton cancelButton = new JButton();
cancelButton.setText("取 消");
cancelButton.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
dispose();
System.exit(0);
}
});
panel.add(cancelButton);
// space
panel.add(Box.createRigidArea(new Dimension(5,0)));
// help button
JButton helpButton = new JButton();
helpButton.setText("About");
helpButton.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
initAboutDialog();
}
});
panel.add(helpButton);
Vector buttons = new Vector(3);
buttons.add(cancelButton);
buttons.add(helpButton);
buttons.add(loginButton);
equalizeComponentSizes(buttons);
buttons.removeAllElements(); // simplify gc
return panel;
} // createButtonPanel()
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -