如何从空单元格

时间:2016-05-25 04:14:19

标签: java mysql swing jtable

我有来自mysql的jtable和数据。 在mysql中,我有一个允许null的列(它叫做'fil')。 当我将数据检索到jtable时,没关系。 然后,我想填充jtextarea并通过单击jtable行,如果'fil'不为null,则启用按钮。 这是我的代码:

private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
int row = jTable1.getSelectedRow();
String num = jTable1.getValueAt(row, 0).toString();
String sub = jTable1.getValueAt(row, 1).toString();
String desc = jTable1.getValueAt(row, 2).toString();
String start = jTable1.getValueAt(row, 3).toString();
String end = jTable1.getValueAt(row, 4).toString();
String sta = jTable1.getValueAt(row, 5).toString();
String fil = jTable1.getValueAt(row, 6).toString();
if (fil != "") {
  jButton1.setEnabled(true);
  jButton1.setToolTipText(fil);
} else {
  jButton1.setEnabled(false);
  jButton1.setToolTipText("");
}
jTextArea1.setText("Subject: " + sub + "\n" + "Description: " + "\n" + desc + "\n" + "From " + start + " to " + end + "\n" + "Status: " + sta);

jLabel3.setText(num);

问题是当我点击带有'fil'的行时,程序会给出错误:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException

1 个答案:

答案 0 :(得分:2)

if (fil != "") {

应该是:

if (fil != null) {

编辑:

String fil = jTable1.getValueAt(row, 6).toString();

您无法在null对象上调用toString(),因此您需要以下内容:

Object filObject = jTable1.getValueAt(row, 6);
String fil = (filObject == null) ? "" : filObject.toString();

然后你会使用原来的测试:

If (fil != "")