📄 gotodialog.java
字号:
package notebook;
import java.awt.Frame;
import javax.swing.*;
import com.borland.jbcl.layout.*;
import java.awt.Button;
import javax.swing.JTextField;
import java.awt.Label;
import java.awt.Dimension;
import java.awt.SystemColor;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2006</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
public class GotoDialog extends JDialog implements ActionListener {
JPanel panel1 = new JPanel();
XYLayout xYLayout1 = new XYLayout();
Button btnOk = new Button();
JTextField jtxtRowNum = new JTextField();
Label label1 = new Label();
Button btnCancel = new Button();
NoteBook mainFrame = null;
public GotoDialog(Frame owner, String title, boolean modal) {
super(owner, title, modal);
try {
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
jbInit();
pack();
} catch (Exception exception) {
exception.printStackTrace();
}
}
public GotoDialog(Frame parent) {
super(parent);
try {
mainFrame = (NoteBook)parent;
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
jbInit();
} catch (Exception exception) {
exception.printStackTrace();
}
}
public GotoDialog() {
this(new Frame(), "MainFrame_GoToBox", false);
}
private void jbInit() throws Exception {
panel1.setLayout(xYLayout1);
this.setTitle("转到下列行");
btnOk.setLabel("确定");
label1.setText("行数(L):");
panel1.setMinimumSize(new Dimension(200, 120));
panel1.setPreferredSize(new Dimension(300, 90));
btnCancel.setLabel("取消");
panel1.add(label1, new XYConstraints(27, 18, -1, -1));
panel1.add(btnOk, new XYConstraints(14, 55, 93, -1));
panel1.add(btnCancel, new XYConstraints(149, 55, 93, -1));
panel1.add(jtxtRowNum, new XYConstraints(94, 15, 105, -1));
panel1.setBackground(SystemColor.control);
this.getContentPane().add(panel1, java.awt.BorderLayout.NORTH);
btnCancel.addActionListener(this);
btnOk.addActionListener(this);
}
public void actionPerformed(ActionEvent e) {
if(e.getSource()==btnCancel)
{
this.dispose();
}else if(e.getSource() == btnOk)
{
int totalLine = mainFrame.textArea.getLineCount();
int[] lineNumber = new int[totalLine + 1];
String s = mainFrame.textArea.getText();
int pos = 0, t = 0;
while (true)
{
pos = s.indexOf('\12', pos);
if (pos == -1)
break;
lineNumber[t++] = pos++;
}
int gt = 1;
try
{
gt = Integer.parseInt(this.jtxtRowNum.getText());
} catch (NumberFormatException efx) {
JOptionPane.showMessageDialog(null, "请输入一个整数.", "输入", 1);
}
if (gt < 2 || gt >= totalLine)
{
if (gt < 2)
mainFrame.textArea.setCaretPosition(0);
else
mainFrame.textArea.setCaretPosition(s.length());
}
else
mainFrame.textArea.setCaretPosition(lineNumber[gt - 2] + 1);
this.dispose();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -