package husacct.analyse.presentation; import husacct.ServiceProvider; import husacct.analyse.presentation.decompositionview.ApplicationStructurePanel; import husacct.analyse.presentation.usageview.DependencyPanel; import husacct.analyse.task.AnalyseTaskControl; import husacct.common.help.presentation.HelpableJInternalFrame; import husacct.common.services.IServiceListener; import java.awt.BorderLayout; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JPanel; import javax.swing.JTabbedPane; import javax.swing.SwingConstants; import javax.swing.UIManager; public class AnalyseInternalFrame extends HelpableJInternalFrame implements ActionListener, IServiceListener { private AnalyseTaskControl analyseTaskControl; private static final long serialVersionUID = 1L; private ApplicationStructurePanel applicationStructurePanel; private DependencyPanel dependencyPanel; private JTabbedPane tabPanel; private AnalyseUIController controller; private JPanel cancelPanel; private JButton cancelButton; private JButton exportDependenciesButton; public AnalyseInternalFrame(AnalyseTaskControl atc) { analyseTaskControl = atc; this.controller = new AnalyseUIController(analyseTaskControl); registerLocaleChangeListener(); tabPanel = new JTabbedPane(SwingConstants.TOP); tabPanel.setBackground(UIManager.getColor("Panel.background")); getContentPane().add(tabPanel, BorderLayout.CENTER); applicationStructurePanel = new ApplicationStructurePanel(analyseTaskControl); dependencyPanel = new DependencyPanel(analyseTaskControl); tabPanel.addTab(controller.translate("SourceOverview"), null, applicationStructurePanel, null); tabPanel.addTab(controller.translate("DependencyOverview"), null, dependencyPanel, null); cancelPanel = new JPanel(); getContentPane().add(cancelPanel, BorderLayout.SOUTH); cancelPanel.setLayout(new FlowLayout(FlowLayout.RIGHT, 5, 5)); exportDependenciesButton = new JButton(controller.translate("ExportDependencies")); exportDependenciesButton.addActionListener(this); cancelPanel.add(exportDependenciesButton); cancelButton = new JButton(controller.translate("Cancel")); cancelPanel.add(cancelButton); cancelButton.addActionListener(this); reloadText(); } private void registerLocaleChangeListener() { ServiceProvider.getInstance().getLocaleService().addServiceListener(this); } public void reloadText() { this.setTitle(controller.translate("AnalysedWindowTitle")); tabPanel.setTitleAt(0, controller.translate("SourceOverview")); tabPanel.setTitleAt(1, controller.translate("DependencyOverview")); cancelButton.setText(controller.translate("Cancel")); exportDependenciesButton.setText(controller.translate("ExportDependencies")); exportDependenciesButton.repaint(); cancelButton.repaint(); dependencyPanel.reload(); applicationStructurePanel.reload(); tabPanel.repaint(); this.invalidate(); this.revalidate(); this.repaint(); } @Override public void actionPerformed(ActionEvent clickEvent) { if (clickEvent.getSource() == cancelButton) { this.dispose(); } else if (clickEvent.getSource() == exportDependenciesButton) { new ExportDependenciesDialog(controller); } } @Override public void update() { reloadText(); } }