package jdepend.client.ui.result.panel; import java.awt.BorderLayout; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JButton; import javax.swing.JDialog; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextArea; import jdepend.framework.log.BusiLogUtil; import jdepend.framework.log.Operation; import jdepend.framework.util.BundleUtil; import jdepend.client.report.history.ReportHistory; import jdepend.client.ui.result.framework.ReportCreator; public class ReportHistorySaveDialog extends JDialog { private JTextArea tip; private String title; private ReportCreator reportCreator; public ReportHistorySaveDialog(ReportCreator reportCreator, String title) { setTitle("Tip"); setResizable(false); this.reportCreator = reportCreator; this.title = title; getContentPane().setLayout(new BorderLayout()); setSize(400, 200); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { dispose(); } }); JPanel panel = new JPanel(); panel.setLayout(new BorderLayout()); tip = new JTextArea(); tip.setText(title); JScrollPane pane = new JScrollPane(tip); JPanel buttonBar = new JPanel(new FlowLayout()); buttonBar.add(createSaveButton()); buttonBar.add(createCloseButton()); panel.add(BorderLayout.CENTER, pane); panel.add(BorderLayout.SOUTH, buttonBar); getContentPane().add(BorderLayout.CENTER, panel); } private JButton createCloseButton() { JButton button = new JButton(BundleUtil.getString(BundleUtil.Command_Close)); button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { dispose(); } }); return button; } private JButton createSaveButton() { JButton button = new JButton(BundleUtil.getString(BundleUtil.Command_Save)); button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { try { ReportHistory rh = new ReportHistory(reportCreator.getGroup()); rh.save(reportCreator.getCommand(), reportCreator.getReportText(title), tip.getText()); reportCreator.onReportHistorySave(); // 记录日志 BusiLogUtil.getInstance().businessLog(Operation.saveTextReport); JOptionPane.showMessageDialog((java.awt.Component) e.getSource(), "保存成功", "alert", JOptionPane.INFORMATION_MESSAGE); dispose(); } catch (Exception ex) { ex.printStackTrace(); java.awt.Component source = (java.awt.Component) e.getSource(); JOptionPane.showMessageDialog(source, ex.getMessage(), "alert", JOptionPane.ERROR_MESSAGE); } } }); return button; } }