⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gotodialog.java

📁 用java写的记事本 基本功能与windows自带的相同
💻 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 + -