myframe.java

来自「用Java编写的一个简单代码行数统计器」· Java 代码 · 共 81 行

JAVA
81
字号
package Soft.pengfei.FileOperation;

import java.awt.*;
import java.awt.event.*;
import java.io.File;
import javax.swing.*;

public class MyFrame {
	
	JFrame jf = new JFrame("Java源代码行数统计器");
	JPanel jp1 = new JPanel();
	JPanel jp2 = new JPanel();
	JTextArea jta = new JTextArea();
	JScrollPane jsp = new JScrollPane(jta);
	JTextField jtf = new JTextField("",30);
	JTextField jtf2 = new JTextField("*.java",10);
	JLabel jl = new JLabel("源代码所在目录:");
	JLabel jl1 = new JLabel("统计的文件类型:");
	JButton jb = new JButton("选择目录");
	JButton jb1 = new JButton("统计");
	JFileChooser jfc = new JFileChooser();
	Image ima = (new ImageIcon("")).getImage();
	
	public MyFrame(){
		jf.setSize(900,800);
		jfc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
		jta.setFont(new Font("宋体",Font.PLAIN,24));
		jtf.setEditable(false);
		jta.setEditable(false);
		jta.setBackground(Color.pink);
		jsp.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
		jsp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS );
		jp2.add(jl);
		jp2.add(jtf);
		jp2.add(jb);
		jp2.add(jl1);
		jp2.add(jtf2);
		jp2.add(jb1);
		jp1.setLayout(new GridLayout(1,1));
		jf.add(jp1);
		jf.add(jp2,BorderLayout.SOUTH);
		
		jp1.add(jsp,BorderLayout.CENTER);
		jf.setVisible(true);
		jf.setDefaultCloseOperation(jf.EXIT_ON_CLOSE);
		
		jb.addActionListener(new ActionListener(){

			@Override
			public void actionPerformed(ActionEvent e) {
				// TODO Auto-generated method stub
				jfc.showDialog(jf,"浏览文件");
				File f = jfc.getSelectedFile();
				String s = f.getAbsolutePath();
				jtf.setText(s);
			}
			
		});
		
		jb1.addActionListener(new ActionListener(){

			@Override
			public void actionPerformed(ActionEvent e) {
				// TODO Auto-generated method stub
				jta.setText("");
				JavaList.sumCount = 0;
				JavaList.fileCount = 0;
				String path =jtf.getText();
				JavaList.sumCountLine(path,jta);
				jta.append("总计:" +"共"+JavaList.fileCount+"个Java文件               "+ JavaList.sumCount + "行" + "\n" + "\n" + "OK,完毕。");
				System.out.println(jta.getLineCount());
			}
			
		});
		
	}
	public static void main(String[] args) {
		new MyFrame();
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?