【问题标题】:call in a method from another class when jbutton is clicked单击 jbutton 时从另一个类调用方法
【发布时间】:2018-03-22 14:25:07
【问题描述】:

我打算在一个类中编写一个公共方法,并在另一个 JFrame 中单击按钮时使该方法起作用。具有该方法的类如下:

package Pack.billing;

import Pack.First_Term_Arrears;
import Pack.myKIDS;
import java.sql.*;
import javax.swing.*;
import net.proteanit.sql.DbUtils;
public class Arrears {

    Connection conn = null;
    PreparedStatement pst = null;
    ResultSet rs = null;

 public Arrears(){
 conn = myKIDS.connectKids();
 }  

  public void display_all_Arrears(){
    First_Term_Arrears ta = new First_Term_Arrears();
    try{    
    String sql ="select ID,NAME,SURNAME,CLASS,OLD_ARREARS,FEES,PAID,NEW_ARREARS,DATE,CONTACT from All_Arrears";
    pst=conn.prepareStatement(sql);
    rs=pst.executeQuery();
    ta.ArrearsTable.setModel(DbUtils.resultSetToTableModel(rs));
    }catch(Exception e){
    JOptionPane.showMessageDialog(null, e);
    }
     } 

这是我想使用的方法:

  public void display_all_Arrears(){
    First_Term_Arrears ta = new First_Term_Arrears();
    try{    
    String sql ="select ID,NAME,SURNAME,CLASS,OLD_ARREARS,FEES,PAID,NEW_ARREARS,DATE,CONTACT from All_Arrears";
    pst=conn.prepareStatement(sql);
    rs=pst.executeQuery();
    ta.ArrearsTable.setModel(DbUtils.resultSetToTableModel(rs));
    }catch(Exception e){
    JOptionPane.showMessageDialog(null, e);
    }
     }

我希望它执行此操作的另一个 jframe 上的按钮如下:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    Arrears ar = new Arrears(); ar.first_term_arrears();        // TODO add your handling code here:
    }

但没有任何效果。请问我做错了什么。谢谢

【问题讨论】:

  • 哦...可以请为我写一个这样的示例代码@Prabin_Paudel

标签: java sql sqlite


【解决方案1】:

您是否调用了正确的方法?你说你想在按钮事件处理程序中创建的 Arrears 实例上调用 display_all_Arrears() ,但它调用的是 first_term_arrears()不是该类的现有方法。试试

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    Arrears ar = new Arrears(); 
    ar.display_all_Arrears();        
}

【讨论】:

  • 这可能是它破坏的第一个地方,但可能不是唯一一个。
  • first_term_arrears是要显示记录的jtable所在的jframe的名称。
  • 那么请更新您的问题,因为这并不明显。您不能将 JFrame 的名称用作欠款实例的方法
猜你喜欢
  • 1970-01-01
  • 2013-10-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-07
相关资源
最近更新 更多