package jdepend.client.report.ui; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextField; import jdepend.framework.util.BundleUtil; public class ClassListOperationPanel extends JPanel { private ClassListPanel classListPanel; private JLabel tipLabel; private JTextField nameFilter; private JTextField callerFilter; private JTextField calleeFilter; public ClassListOperationPanel(ClassListPanel classListPanel1) { this.setLayout(new BorderLayout()); this.add(BorderLayout.NORTH, this.createSearchPanel()); this.classListPanel = classListPanel1; this.add(this.classListPanel); new Thread() { @Override public void run() { int classCount = classListPanel.showAllClassList(); tipLabel.setText("共" + classCount + "个类"); } }.start(); } private JPanel createSearchPanel() { JPanel searchPanel = new JPanel(); searchPanel.setLayout(new FlowLayout(FlowLayout.LEFT)); JLabel titleLabel = new JLabel(BundleUtil.getString(BundleUtil.Metrics_Name) + ":"); searchPanel.add(titleLabel); nameFilter = new JTextField(); nameFilter.setPreferredSize(new Dimension(250, 20)); nameFilter.addKeyListener(new KeyAdapter() { @Override public void keyReleased(KeyEvent e) { int classCount = classListPanel.filterClassList(nameFilter.getText(), callerFilter.getText(), calleeFilter.getText()); tipLabel.setText("共" + classCount + "个类"); } }); searchPanel.add(nameFilter); tipLabel = new JLabel(); searchPanel.add(tipLabel); JLabel callerLabel = new JLabel(BundleUtil.getString(BundleUtil.ClientWin_ClassListDialog_Caller) + ":"); searchPanel.add(callerLabel); callerFilter = new JTextField(); callerFilter.setPreferredSize(new Dimension(250, 20)); callerFilter.addKeyListener(new KeyAdapter() { @Override public void keyReleased(KeyEvent e) { int classCount = classListPanel.filterClassList(nameFilter.getText(), callerFilter.getText(), calleeFilter.getText()); tipLabel.setText("共" + classCount + "个类"); } }); searchPanel.add(callerFilter); JLabel calleeLabel = new JLabel(BundleUtil.getString(BundleUtil.ClientWin_ClassListDialog_Callee) + ":"); searchPanel.add(calleeLabel); calleeFilter = new JTextField(); calleeFilter.setPreferredSize(new Dimension(250, 20)); calleeFilter.addKeyListener(new KeyAdapter() { @Override public void keyReleased(KeyEvent e) { int classCount = classListPanel.filterClassList(nameFilter.getText(), callerFilter.getText(), calleeFilter.getText()); tipLabel.setText("共" + classCount + "个类"); } }); searchPanel.add(calleeFilter); return searchPanel; } }