Access データベースに接続し、データを保存し、2 つの Jasper レポートを開く 2 つのボタンを含むいくつかのボタンを持つ GUI を作成しました。更新されないことを除いて、正常に動作します。レポートに更新ボタンがあることに気付きましたが、無効になっています。レポートが Access データベースから取得したデータを更新するために、レポートを閉じて再度開く必要のないソリューションが必要です。
毎分実行される自動更新を追加できる方法があれば、それはさらに良いでしょう。
簡単にするために、コードを 1 つのボタンだけに再開しました。フライト クラスには、データベースの接続が含まれています。
public class FlightsGui extends Flights {
JButton departuresReport = new JButton("Departures Report");
public FlightsGui() {
frame();
btnAction();
}
public void frame()
{
f = new JFrame();
f.setSize(700,500);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel p = new JPanel(new GridBagLayout());
f.getContentPane().add(p,BorderLayout.NORTH);
GridBagConstraints c = new GridBagConstraints();
p.add(departuresReport);
}
public void btnAction()
{
departuresReport.addActionListener(new ActionListener()
{ public void actionPerformed(ActionEvent e)
{
try{
String departuresRep = "C:\\Users\\Documents\\NetBeansProjects\\Flights\\src\\Fights\\report1.jrxml\\";
JasperReport jr = JasperCompileManager.compileReport(departuresRep );
JasperPrint jp = JasperFillManager.fillReport(jr,null,con);
JasperViewer.viewReport(jp,false);
}catch(Exception ex){System.out.println(ex);}
}
}
); } }