package jdepend.client.ui.componentconf; import java.awt.BorderLayout; import java.awt.Component; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JDialog; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.table.DefaultTableModel; import jdepend.framework.ui.component.TableSorter; import jdepend.framework.util.BundleUtil; import jdepend.metadata.Candidate; import jdepend.metadata.JavaClass; /** * 显示执行Package下的类列表 * * @author wangdg * */ public class ClassListInThePackageDialog extends JDialog { public ClassListInThePackageDialog(Candidate candidate) { this.setTitle(candidate.getName() + " 类列表"); this.setLayout(new BorderLayout()); setSize(400, 250); this.setLocationRelativeTo(null);// 窗口在屏幕中间显示 JPanel content = new JPanel(new BorderLayout()); content.add(BorderLayout.CENTER, new JScrollPane(this.createClassList(candidate))); JPanel buttonBar = new JPanel(new FlowLayout()); buttonBar.add(createCloseButton()); this.add(BorderLayout.CENTER, content); this.add(BorderLayout.SOUTH, buttonBar); } private JTable createClassList(Candidate candidate) { DefaultTableModel listModel = new DefaultTableModel(); TableSorter sorter = new TableSorter(listModel); JTable listTable = new JTable(sorter); sorter.setTableHeader(listTable.getTableHeader()); listModel.addColumn("类名"); Object[] row; for (JavaClass javaClass : candidate.getClasses()) { row = new Object[1]; row[0] = javaClass.getName(); listModel.addRow(row); } return listTable; } protected Component createCloseButton() { JButton button = new JButton(BundleUtil.getString(BundleUtil.Command_Close)); button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { ClassListInThePackageDialog.this.dispose(); } }); return button; } }