Java - 全局变量在鼠标事件函数中不起作用
Java - global variables not working in mouse event functions
我正在 java 中创建小型社交网络。我在使用一个应该关闭程序并从 sql table 中删除他们的记录的函数时遇到了问题。我试图从我常用的全局变量中传递他们的用户名,但它输出为 null?
public class Wall extends javax.swing.JFrame {
public static String _Username = "example";
private void buttonExitMouseClicked(java.awt.event.MouseEvent evt) {
if(_Username != null)
{
String sql = "DELETE FROM UsersOnline WHERE username = '" + (Wall._Username)+"';";
System.out.println(sql);
System.out.println(Wall._Username);
try
{
pst = conn.prepareStatement(sql);
pst.execute();
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null, e);
}
System.exit(0);
}
else
{
System.out.println("SQL update cannot be performed: _Username == null");
}
}
Output:
DELETE FROM UsersOnline WHERE username = 'null';
null
这个问题特别烦人,因为 sql 对 null 仍然有效,它只是什么都不做。任何帮助将不胜感激!
只需检查这是否有效。
public static final String _Username = "example";
如果是,则意味着代码中的某处 _Username 在 class 加载之后鼠标事件发生之前已更改。
我正在 java 中创建小型社交网络。我在使用一个应该关闭程序并从 sql table 中删除他们的记录的函数时遇到了问题。我试图从我常用的全局变量中传递他们的用户名,但它输出为 null?
public class Wall extends javax.swing.JFrame {
public static String _Username = "example";
private void buttonExitMouseClicked(java.awt.event.MouseEvent evt) {
if(_Username != null)
{
String sql = "DELETE FROM UsersOnline WHERE username = '" + (Wall._Username)+"';";
System.out.println(sql);
System.out.println(Wall._Username);
try
{
pst = conn.prepareStatement(sql);
pst.execute();
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null, e);
}
System.exit(0);
}
else
{
System.out.println("SQL update cannot be performed: _Username == null");
}
}
Output:
DELETE FROM UsersOnline WHERE username = 'null';
null
这个问题特别烦人,因为 sql 对 null 仍然有效,它只是什么都不做。任何帮助将不胜感激!
只需检查这是否有效。
public static final String _Username = "example";
如果是,则意味着代码中的某处 _Username 在 class 加载之后鼠标事件发生之前已更改。