package jdepend.client.ui.dialog; 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 java.net.URL; import javax.swing.JButton; import javax.swing.JComponent; import javax.swing.JDialog; import javax.swing.JEditorPane; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.text.html.HTMLEditorKit; import jdepend.framework.util.BundleUtil; import jdepend.client.ui.JDependCooper; import jdepend.client.ui.util.ClassPathURLStreamHandler; public final class ScoreAndMetricsDialog extends JDialog { public ScoreAndMetricsDialog(JDependCooper frame) { super(frame); setTitle("分数和指标体系"); setResizable(false); getContentPane().setLayout(new BorderLayout()); setSize(JDependCooper.IntroducePopDialogWidth, JDependCooper.IntroducePopDialogHeight); this.setLocationRelativeTo(null);// 窗口在屏幕中间显示 addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { dispose(); } }); JPanel panel = new JPanel(); panel.setLayout(new BorderLayout()); JButton closeButton = createButton(BundleUtil.getString(BundleUtil.Command_Close)); JPanel buttonBar = new JPanel(new FlowLayout()); buttonBar.add(closeButton); panel.add(BorderLayout.CENTER, this.getIntroduce()); panel.add(BorderLayout.SOUTH, buttonBar); getContentPane().add(BorderLayout.CENTER, panel); } private JComponent getIntroduce() { JEditorPane text = new JEditorPane(); text.setContentType("text/html;charset=utf-8"); text.setEditable(false); try { HTMLEditorKit kit = new HTMLEditorKit(); text.setEditorKit(kit); text.setPage(new URL(null,"classpath:/introduce/Cooper的分数和指标体系.htm", new ClassPathURLStreamHandler())); text.setCaretPosition(0); } catch (Exception e) { e.printStackTrace(); } return new JScrollPane(text); } private JButton createButton(String label) { JButton button = new JButton(label); button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { dispose(); } }); return button; } }