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 MethodListOperationPanel extends JPanel {
private MethodListPanel methodListPanel;
private JLabel tipLabel;
private JTextField classNameFilter;
private JTextField nameFilter;
private JTextField callerFilter;
public MethodListOperationPanel(MethodListPanel methodListPanel1) {
this.setLayout(new BorderLayout());
this.add(BorderLayout.NORTH, this.createSearchPanel());
this.methodListPanel = methodListPanel1;
this.add(this.methodListPanel);
new Thread() {
@Override
public void run() {
int methodCount = methodListPanel.loadMethodList();
tipLabel.setText("共" + methodCount + "个方法");
}
}.start();
}
private JPanel createSearchPanel() {
JPanel searchPanel = new JPanel();
searchPanel.setLayout(new FlowLayout(FlowLayout.LEFT));
JLabel titleLabel = new JLabel(BundleUtil.getString(BundleUtil.TableHead_ClassName) + ":");
searchPanel.add(titleLabel);
classNameFilter = new JTextField();
classNameFilter.setPreferredSize(new Dimension(250, 20));
classNameFilter.addKeyListener(new KeyAdapter() {
@Override
public void keyReleased(KeyEvent e) {
int methodCount = methodListPanel.filterMehtodList(classNameFilter.getText(), nameFilter.getText(),
callerFilter.getText());
tipLabel.setText("共" + methodCount + "个方法");
}
});
searchPanel.add(classNameFilter);
tipLabel = new JLabel();
searchPanel.add(tipLabel);
JLabel methodNameLabel = new JLabel(BundleUtil.getString(BundleUtil.ClientWin_MethodListDialog_Name) + ":");
searchPanel.add(methodNameLabel);
nameFilter = new JTextField();
nameFilter.setPreferredSize(new Dimension(250, 20));
nameFilter.addKeyListener(new KeyAdapter() {
@Override
public void keyReleased(KeyEvent e) {
int methodCount = methodListPanel.filterMehtodList(classNameFilter.getText(), nameFilter.getText(),
callerFilter.getText());
tipLabel.setText("共" + methodCount + "个方法");
}
});
searchPanel.add(nameFilter);
JLabel callerNameLabel = new JLabel(BundleUtil.getString(BundleUtil.ClientWin_ClassListDialog_Caller) + ":");
searchPanel.add(callerNameLabel);
callerFilter = new JTextField();
callerFilter.setPreferredSize(new Dimension(250, 20));
callerFilter.addKeyListener(new KeyAdapter() {
@Override
public void keyReleased(KeyEvent e) {
int methodCount = methodListPanel.filterMehtodList(classNameFilter.getText(), nameFilter.getText(),
callerFilter.getText());
tipLabel.setText("共" + methodCount + "个方法");
}
});
searchPanel.add(callerFilter);
return searchPanel;
}
}