📄 commoneditor.java
字号:
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import edu.njust.cs.*;
public abstract class CommonEditor extends JDialog implements ActionListener{
Insets insets=new Insets(2,2,2,2);
int actionCode=EditorAction.CANCEL;
JButton btnPre=new JButton("上一个");
JButton btnNext=new JButton("下一个");
JButton btnOk=new JButton("确定");
JButton btnCancel=new JButton("取消");
JTable table=null;
public CommonEditor(MainApp f,String title,boolean b,JTable t){
super(f,title,b);
table=t;
//注册事件侦听器
btnOk.addActionListener(this);
btnCancel.addActionListener(this);
btnPre.addActionListener(this);
btnNext.addActionListener(this);
btnOk.setIcon(new ImageIcon("image/ok20.gif"));
btnCancel.setIcon(new ImageIcon("image/cancel20.gif"));
btnPre.setIcon(new ImageIcon("image/pre20.gif"));
btnNext.setIcon(new ImageIcon("image/next20.gif"));
btnNext.setHorizontalTextPosition(SwingConstants.LEFT);
this.getRootPane().setDefaultButton(btnOk);
//面板ap中显示4个按钮
JPanel ap=new JPanel();
ap.setLayout(new GridBagLayout());
LayoutUtil.add(ap,GridBagConstraints.NONE,
GridBagConstraints.CENTER,0,0,0,0,1,1,this.btnPre,insets);
LayoutUtil.add(ap,GridBagConstraints.NONE,
GridBagConstraints.CENTER,0,0,1,0,1,1,this.btnNext,insets);
LayoutUtil.add(ap,GridBagConstraints.HORIZONTAL,
GridBagConstraints.CENTER,100,0,2,0,1,1,new JLabel(),insets);
LayoutUtil.add(ap,GridBagConstraints.NONE,
GridBagConstraints.CENTER,0,0,3,0,1,1,this.btnOk,insets);
LayoutUtil.add(ap,GridBagConstraints.NONE,
GridBagConstraints.CENTER,0,0,4,0,1,1,this.btnCancel,insets);
getContentPane().add(ap,BorderLayout.SOUTH);
this.setResizable(false);
this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
actionCode=EditorAction.CLOSE;
}
});
}
public void setPreNextButton(String s){
//在增加模式下前后移动按钮置为不可用
//编辑模式下,可以将前后移动按钮置为可用
if(s.equals("新增")) {
btnPre.setEnabled(false);
btnNext.setEnabled(false);
}
else initEditor();
}
public abstract void initEditor();
public abstract void okClicked();
public void actionPerformed(ActionEvent e){
Object s=e.getSource();
if(s==this.btnCancel){
this.actionCode=EditorAction.CANCEL;
this.setVisible(false);
}
else if(s==this.btnOk) okClicked();
else if(s==this.btnPre){
int selected=table.getSelectedRow();
selected--;
if(selected>=0&&selected<table.getModel().getRowCount()){
table.changeSelection(selected,0,false,false);
initEditor();
}
}
else if(s==this.btnNext){
int selected=table.getSelectedRow();
selected++;
if(selected>=0&&selected<table.getModel().getRowCount()){
table.changeSelection(selected,0,false,false);
initEditor();
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -