📄 gotodlg.java
字号:
package notepad;
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
public class GoToDlg extends JDialog implements ActionListener,DocumentListener{
JLabel label;
JTextField tfLine;
JButton btnOK,btnCancel;
JPanel panel1,panel2;
NotePad notePad;
int line;
public GoToDlg(NotePad initNotePad){
setTitle("转到下列行");
notePad = initNotePad;
panel1 = new JPanel();
panel2 = new JPanel();
tfLine = new JTextField(20);
tfLine.getDocument().addDocumentListener(this);
label = new JLabel("请输入行数(L):");
btnOK = new JButton("确定");
btnOK.setEnabled(false);
btnCancel = new JButton("取消");
btnOK.addActionListener(this);
btnCancel.addActionListener(this);
panel1.add(label);
panel1.add(tfLine);
panel2.add(btnOK);
panel2.add(btnCancel);
add(panel1,BorderLayout.CENTER);
add(panel2,BorderLayout.SOUTH);
setSize(350,100);
setVisible(false);
}
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getSource() == btnOK){
try{
line = Integer.parseInt(tfLine.getText());
}catch(Exception ee){
JOptionPane.showMessageDialog(null, "您必须键入一个整数 !!");
return;
}
if(!notePad.goTo(line)){
JOptionPane.showMessageDialog(null, "行数超过限制 !!");
return;
}
this.setVisible(false);
this.dispose();
}
else if(e.getSource() == btnCancel){
this.setVisible(false);
this.dispose();
}
}
public void changedUpdate(DocumentEvent e) {
// TODO Auto-generated method stub
}
public void insertUpdate(DocumentEvent e) {
// TODO Auto-generated method stub
int length = tfLine.getText().length();
if (length > 0) {
btnOK.setEnabled(true);
} else {
btnOK.setEnabled(false);
}
try{
line = Integer.parseInt(tfLine.getText());
}catch(Exception ee){
JOptionPane.showMessageDialog(null, "您必须键入一个整数 !!");
}
}
public void removeUpdate(DocumentEvent e) {
// TODO Auto-generated method stub
int length = tfLine.getText().length();
if (length > 0) {
btnOK.setEnabled(true);
} else {
btnOK.setEnabled(false);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -