javaGUI的登录窗口怎么连接数据库验证密码平弹出新窗口 1,javaGUI的登录窗口怎么连接数据库验证密码平弹出新窗口 弹出新窗口后登录窗口怎么隐藏 最好有代码2,mysql用连接查询的结果怎么显示到文本区http://wenwen.soso.com/z/q318001067.htm 谁回答下 我提问的谢谢了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 // swingx-core from swinglabs.orgimport org.jdesktop.swingx.JXLoginPane;import org.jdesktop.swingx.auth.JDBCLoginService;String driver = "...."; //database driver classString url = "..."; // database urlJXLoginPane.Status status = JXLoginPane.showLoginDialog(null,new JDBCLoginService(driver,url));if(status == JXLoginPane.Status.SUCCEEDED){ ........ // 主窗口显示} 连接的是mysql:Class.forName("com.mysql.jdbc.Driver") conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test", "root", "123456");登录一个新的窗口 那就是 判断if(密码正确){ new 新窗口() 就窗口.dispose();} 按你的要求来的,希望LZ满意package mysql;import java.sql.*; import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.util.*; public class Login extends JFrame { private Connection connection; private Statement statement; private ResultSet resultSet; private ResultSetMetaData rsMetaData; //GUI变量定义private JTable table; private JTextArea inputQuery; private JButton submitQuery,deleteQuery,insertQuery,alterQuery;public Login() { //Form的标题 super( "输入SQL语句,按查询按钮查看结果。" ); String url = "jdbc:mysql://localhost:3306/jdbc"; String username = "root"; String password = "123456"; //加载驱动程序以连接数据库try { Class.forName( "com.mysql.jdbc.Driver" ); connection = 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 } //如果数据库连接成功,则建立GUI//SQL语句String test="SELECT * FROM student"; inputQuery = new JTextArea( test, 4, 30 ); submitQuery = new JButton( "查询" ); //Button事件submitQuery.addActionListener( new ActionListener() { public void actionPerformed( ActionEvent e ) { getTable(); } } ); insertQuery = new JButton("插入");deleteQuery = new JButton("删除");alterQuery = new JButton("修改");JPanel topPanel = new JPanel(); JPanel buttonPanel = new JPanel();topPanel.setLayout( new BorderLayout() ); //将"输入查询"编辑框布置到 "CENTER"topPanel.add( new JScrollPane( inputQuery), BorderLayout.CENTER ); //将"提交查询"按钮布置到 "SOUTH"buttonPanel.setLayout(new GridLayout(1,4));buttonPanel.add(submitQuery);insertQuery.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { String str = inputQuery.getText(); boolean flag = false; try { // Statement stat = null; PreparedStatement pstmt = connection.prepareStatement(str); pstmt.executeUpdate(); flag = true; pstmt.close(); } catch (SQLException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } if(flag)JOptionPane.showMessageDialog(null, "数据插入成功"); else JOptionPane.showMessageDialog(null, "数据插入失败"); } });buttonPanel.add(insertQuery);deleteQuery.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { String str = inputQuery.getText(); boolean flag = false; try { // Statement stat = null; Statement pstmt = connection.createStatement(); pstmt.executeUpdate(str); pstmt.close(); flag = true; } catch (SQLException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } if(flag)JOptionPane.showMessageDialog(null, "数据删除成功"); else JOptionPane.showMessageDialog(null, "数据删除失败"); } });buttonPanel.add(deleteQuery);alterQuery.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { String str = inputQuery.getText(); boolean flag = false; try { Statement pstmt = connection.createStatement(); pstmt.executeUpdate(str); flag = true; pstmt.close(); } catch (SQLException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } if(flag)JOptionPane.showMessageDialog(null, "数据修改成功"); else JOptionPane.showMessageDialog(null, "数据修改失败"); } });buttonPanel.add(alterQuery);topPanel.add( buttonPanel, BorderLayout.SOUTH ); table = new JTable(); Container c = getContentPane(); c.setLayout( new BorderLayout() ); //将"topPanel"编辑框布置到 "NORTH"c.add( topPanel, BorderLayout.NORTH ); //将"table"编辑框布置到 "CENTER"c.add( table, BorderLayout.WEST ); getTable(); setSize( 500, 300 ); //显示Formshow(); } private void getTable() { try { //执行SQL语句 String query = inputQuery.getText(); statement = connection.createStatement(); resultSet = statement.executeQuery( query ); //在表格中显示查询结果 displayResultSet( resultSet ); } catch ( SQLException sqlex ) { sqlex.printStackTrace(); } } private void displayResultSet( ResultSet rs ) throws SQLException { //定位到达第一条记录 boolean moreRecords = rs.next(); //如果没有记录,则提示一条消息 if ( ! moreRecords ) { JOptionPane.showMessageDialog( this, "结果集中无记录" ); setTitle( "无记录显示" ); return; } Vector columnHeads = new Vector(); Vector rows = new Vector(); try { //获取字段的名称 ResultSetMetaData rsmd = rs.getMetaData(); for ( int i = 1; i <= rsmd.getColumnCount(); ++i ) columnHeads.addElement( rsmd.getColumnName( i ) ); //获取记录集 do { rows.addElement( getNextRow( rs, rsmd ) ); } while ( rs.next() ); //在表格中显示查询结果 table = new JTable( rows, columnHeads ); JScrollPane scroller = new JScrollPane( table ); Container c = getContentPane(); c.remove(1); c.add( scroller, BorderLayout.CENTER ); //刷新Table c.validate(); } catch ( SQLException sqlex ) { sqlex.printStackTrace(); } } private Vector getNextRow( ResultSet rs, ResultSetMetaData rsmd ) throws SQLException { Vector currentRow = new Vector(); for ( int i = 1; i <= rsmd.getColumnCount(); ++i ) currentRow.addElement( rs.getString( i ) ); //返回一条记录 return currentRow; } public void shutDown() { try { //断开数据库连接connection.close(); } catch ( SQLException sqlex ) { System.err.println( "Unable to disconnect" ); sqlex.printStackTrace(); } } public static void main( String args[] ) { final Login app = new Login(); app.addWindowListener( new WindowAdapter() { public void windowClosing( WindowEvent e ) { app.shutDown(); System.exit( 0 ); } } ); } } 为什么实现了Serializable接口就具备了被序列化的能力 如何在java api文档中迅速找到某个方法 怎么把从键盘输入的若干的数放如数组(急)?? 如何生成每天的日志文件? 如何得到文件属性,如:文件创建时间,文件大小等 后台处理的问题 谁能告诉我??? 100分求播放.wav文件的播放器源代码(另开题给分)! 请问哪位知道这句话的意思以及要导入哪些包? Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 关于CLASSPATH的问题,急求! 一个关于AudioClip的问题,急求解!! 删掉一个表的问题??
import org.jdesktop.swingx.JXLoginPane;
import org.jdesktop.swingx.auth.JDBCLoginService;String driver = "...."; //database driver class
String url = "..."; // database url
JXLoginPane.Status status = JXLoginPane.showLoginDialog(null,new JDBCLoginService(driver,url));
if(status == JXLoginPane.Status.SUCCEEDED){
........ // 主窗口显示
}
Class.forName("com.mysql.jdbc.Driver")
conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test", "root", "123456");登录一个新的窗口 那就是 判断
if(密码正确)
{
new 新窗口()
就窗口.dispose();}
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class Login extends JFrame {
private Connection connection;
private Statement statement;
private ResultSet resultSet;
private ResultSetMetaData rsMetaData; //GUI变量定义
private JTable table;
private JTextArea inputQuery;
private JButton submitQuery,deleteQuery,insertQuery,alterQuery;public Login()
{
//Form的标题
super( "输入SQL语句,按查询按钮查看结果。" ); String url = "jdbc:mysql://localhost:3306/jdbc";
String username = "root";
String password = "123456";
//加载驱动程序以连接数据库
try {
Class.forName( "com.mysql.jdbc.Driver" );
connection = 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
}
//如果数据库连接成功,则建立GUI
//SQL语句
String test="SELECT * FROM student";
inputQuery = new JTextArea( test, 4, 30 );
submitQuery = new JButton( "查询" );
//Button事件
submitQuery.addActionListener(
new ActionListener() {
public void actionPerformed( ActionEvent e )
{
getTable();
}
}
);
insertQuery = new JButton("插入");
deleteQuery = new JButton("删除");
alterQuery = new JButton("修改");JPanel topPanel = new JPanel();
JPanel buttonPanel = new JPanel();topPanel.setLayout( new BorderLayout() );
//将"输入查询"编辑框布置到 "CENTER"
topPanel.add( new JScrollPane( inputQuery), BorderLayout.CENTER );
//将"提交查询"按钮布置到 "SOUTH"
buttonPanel.setLayout(new GridLayout(1,4));
buttonPanel.add(submitQuery);
insertQuery.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
String str = inputQuery.getText();
boolean flag = false;
try {
// Statement stat = null;
PreparedStatement pstmt = connection.prepareStatement(str);
pstmt.executeUpdate();
flag = true;
pstmt.close();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
if(flag)JOptionPane.showMessageDialog(null, "数据插入成功");
else JOptionPane.showMessageDialog(null, "数据插入失败");
}
});
buttonPanel.add(insertQuery);
deleteQuery.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
String str = inputQuery.getText();
boolean flag = false; try {
// Statement stat = null;
Statement pstmt = connection.createStatement();
pstmt.executeUpdate(str);
pstmt.close();
flag = true;
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
if(flag)JOptionPane.showMessageDialog(null, "数据删除成功");
else JOptionPane.showMessageDialog(null, "数据删除失败");
}
});
buttonPanel.add(deleteQuery);
alterQuery.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
String str = inputQuery.getText();
boolean flag = false;
try {
Statement pstmt = connection.createStatement();
pstmt.executeUpdate(str);
flag = true;
pstmt.close();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
if(flag)JOptionPane.showMessageDialog(null, "数据修改成功");
else JOptionPane.showMessageDialog(null, "数据修改失败");
}
});
buttonPanel.add(alterQuery);topPanel.add( buttonPanel, BorderLayout.SOUTH );
table = new JTable();
Container c = getContentPane();
c.setLayout( new BorderLayout() );
//将"topPanel"编辑框布置到 "NORTH"
c.add( topPanel, BorderLayout.NORTH );
//将"table"编辑框布置到 "CENTER"
c.add( table, BorderLayout.WEST );
getTable();
setSize( 500, 300 );
//显示Form
show();
} private void getTable()
{
try {
//执行SQL语句
String query = inputQuery.getText();
statement = connection.createStatement();
resultSet = statement.executeQuery( query );
//在表格中显示查询结果
displayResultSet( resultSet );
}
catch ( SQLException sqlex ) {
sqlex.printStackTrace();
}
} private void displayResultSet( ResultSet rs )
throws SQLException
{
//定位到达第一条记录
boolean moreRecords = rs.next();
//如果没有记录,则提示一条消息
if ( ! moreRecords ) {
JOptionPane.showMessageDialog( this,
"结果集中无记录" );
setTitle( "无记录显示" );
return;
}
Vector columnHeads = new Vector();
Vector rows = new Vector();
try {
//获取字段的名称
ResultSetMetaData rsmd = rs.getMetaData();
for ( int i = 1; i <= rsmd.getColumnCount(); ++i )
columnHeads.addElement( rsmd.getColumnName( i ) );
//获取记录集
do {
rows.addElement( getNextRow( rs, rsmd ) );
} while ( rs.next() );
//在表格中显示查询结果
table = new JTable( rows, columnHeads );
JScrollPane scroller = new JScrollPane( table );
Container c = getContentPane();
c.remove(1);
c.add( scroller, BorderLayout.CENTER );
//刷新Table
c.validate();
}
catch ( SQLException sqlex ) {
sqlex.printStackTrace();
}
}
private Vector getNextRow( ResultSet rs,
ResultSetMetaData rsmd )
throws SQLException
{
Vector currentRow = new Vector();
for ( int i = 1; i <= rsmd.getColumnCount(); ++i )
currentRow.addElement( rs.getString( i ) );
//返回一条记录
return currentRow;
} public void shutDown()
{
try {
//断开数据库连接
connection.close();
}
catch ( SQLException sqlex ) {
System.err.println( "Unable to disconnect" );
sqlex.printStackTrace();
}
} public static void main( String args[] )
{
final Login app =
new Login();
app.addWindowListener(
new WindowAdapter() {
public void windowClosing( WindowEvent e )
{
app.shutDown();
System.exit( 0 );
}
}
);
}
}