界面要求账号,密码,登陆,取消。和选择以管理员身份,普通用户登陆,如果以管理员身份登录成功,那么跳到Zjiemian,并且界面的xjgl.setEnabled(true) bjgl.setEnabled(true);
kcsz.setEnabled(true);cjgl.setEnabled(true);
jMenuFile.setEnabled(true);
llyh.setEnabled(true);
adduser.setEnabled(true);
如果以普通用户登录成功,也调到Zjiemian ,界面只显示
cjgl.setEnabled(true);xjgl.setEnabled(true);xgcj.setEnabled(false);
tjcj.setEnabled(false);
xgxj.setEnabled(false);
tjxj.setEnabled(false);sql2005数据库名字叫Student ,表名uers ,uersname ,pwd(密码),power(权限)
kcsz.setEnabled(true);cjgl.setEnabled(true);
jMenuFile.setEnabled(true);
llyh.setEnabled(true);
adduser.setEnabled(true);
如果以普通用户登录成功,也调到Zjiemian ,界面只显示
cjgl.setEnabled(true);xjgl.setEnabled(true);xgcj.setEnabled(false);
tjcj.setEnabled(false);
xgxj.setEnabled(false);
tjxj.setEnabled(false);sql2005数据库名字叫Student ,表名uers ,uersname ,pwd(密码),power(权限)
解决方案 »
- Hibernate无法向SQLserveer2000插入数据
- java.lang.NumberFormatException:For input string: "13 "(急)
- 如何applet远程连接oracle数据库
- 如何进一步把Java EE学好?--初学者
- 页面安全问题 在线等
- 求助阿~~ JDBC的问题~~
- 求助 [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序 怎么办?
- websphere的问题(1)?
- axis创建web server客户端报错,请高手指点一下,请详细一点。
- 最近很困惑,类的加载问题
- 描述Spring框架提供了下属几个接口类都是做什么的
- java正则问题
import java.sql.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;public class Login extends javax.swing.JFrame {
private JPanel jPanel1;
private JButton bntLogin;
private JButton bntCannel;
private JPasswordField pwd;
private JTextField username;
private JLabel jLabel2;
private JLabel jLabel1;
private JComboBox sele;
String username;
Statement ps;
ResultSet rs;public static void main(String[] args) {
Login inst = new Login();
inst.setLocationRelativeTo(null);
inst.setVisible(true);}public Login() {
super("登陆");
initGUI();
}private void initGUI()
{
try
{
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
{
jPanel1 = new JPanel();
getContentPane().add(jPanel1, BorderLayout.CENTER);
jPanel1.setLayout(null);
{
jLabel1 = new JLabel();
jPanel1.add(jLabel1);
jLabel1.setText("用户名");
jLabel1.setBounds(45, 30, 75, 25);
}
{
jLabel2 = new JLabel();
jPanel1.add(jLabel2);
jLabel2.setText("密码");
jLabel2.setBounds(45, 75, 55, 15);
}
{
username = new JTextField();
jPanel1.add(username);
username.setBounds(100, 30, 140, 25);
}
{
pwd = new JPasswordField();
jPanel1.add(pwd);
pwd.setBounds(100, 70, 140, 25);//位置,大小
}
{
sele = new JComboBox();
sele.setFont(new java.awt.Font("Dialog", 0, 15));
sele.setBounds(new Rectangle(120, 110, 125,25));
sele.addItem("系统管理员");
sele.addItem("学生");
jPanel1.add(sele);
}
{
bntLogin = new JButton();
jPanel1.add(bntLogin);
bntLogin.setText("登陆");
bntLogin.setBounds(40, 150, 60, 30);
bntLogin.addMouseListener(new MouseAdapter()
{
public void mouseClicked(MouseEvent e)
{
username = JOptionPane.showInputDialog(this, "请输入用户名");
String pwd = JOptionPane.showInputDialog(this, "请输入密码");
if (! (username == null && pwd == null))
{ try
{//连接数据库,验证用户 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection( "jdbc:odbc:Student", "sa", "sa");
ps = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
try
{
rs = ps.executeQuery("select * from users where username='" +username + "' "); //读取数据库
if (!rs.next()) {
Jilu jl = new Jilu();
jl.addJilu("\r\r", username + "用户试图登录系统,失败!");
jl.closeStream(); JOptionPane.showMessageDialog(null, "不存在此用户!");
}
else if (! (rs.getString("pwd").trim().equals(pwd)))
{
JOptionPane.showMessageDialog(null, "密码错误!");
Jilu jl = new Jilu();
jl.addJilu("\r\r", username + "用户试图登录系统,失败!");
jl.closeStream(); }
else
{
if (sele.getSelectedItem() .equals("系统管理员"))
{
xjgl.setEnabled(true);
bjgl.setEnabled(true);
kcsz.setEnabled(true);
cjgl.setEnabled(true);
jMenuFile.setEnabled(true);
llyh.setEnabled(true);
adduser.setEnabled(true);
Jilu jl = new Jilu();
jl.addJilu("\r\r", username + "(系统管理员)登录系统");
jl.closeStream();
}
else
{
cjgl.setEnabled(true);
xjgl.setEnabled(true);
xgcj.setEnabled(false);
tjcj.setEnabled(false);
xgxj.setEnabled(false);
tjxj.setEnabled(false);
Jilu jl = new Jilu();
jl.addJilu("\r\r", username + "(普通用户)登录系统");
jl.closeStream();
}
} }
catch (SQLException sqle)
{
String error = sqle.getMessage();
JOptionPane.showMessageDialog(null, error);
sqle.printStackTrace();
} }
catch (Exception err)
{
// err.getMessage();
Jilu jl = new Jilu();
jl.addJilu("\r\r", "数据库连接错误!");
jl.closeStream();
String error = err.getMessage();
JOptionPane.showMessageDialog(null, error); } }
}); bntCannel = new JButton();
jPanel1.add(bntCannel);
bntCannel.setText("取消");
bntCannel.setBounds(180, 150, 60, 30); bntCannel.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) { System.exit(0);
}
});
}
}
pack();
setSize(400, 250); }
}
catch (Exception e) {
e.printStackTrace();
}
}
}
1. 右上角按钮使用绝对定位
2. 底部Login按钮也是绝对定位
3. 中间的Label和文本输入Panel使用绝对定位
3.1. 里面的Label和Text Field可以使用如TableLayout的Prefered size来处理,或者直接用GridBagLayout,甚至于GridLayout进行而已然后,找美工把界面做漂亮一点