1. 程式人生 > >檔案讀寫工具簡單實現(一)之java的UI介面視覺化畫圖/製作

檔案讀寫工具簡單實現(一)之java的UI介面視覺化畫圖/製作

現在和大家介紹下,我們簡單的介面工具開發,使用者選擇檔案,讀出部分想要檔案內容,滑鼠在大輸入框點選某一行就會顯示在其他輸入框中,然後在其他輸入框修改後內容,點寫入按鈕即可修改並顯示到大輸入框中,且原檔案對應剛剛選的改行內容;

大概的介面如下,網路現在原因不能上傳圖片:

選擇檔案按鈕   ------------ D:\\某檔案\xxxx.txt-----------------------

名稱:-------輸入框1-------------

型別:-------輸入框2-------------

引數:-------輸入框3-------------

------------------------------------------------

-------此處為大輸入框------------------

-------可以顯示內容---------------------

------------------------------------------------

讀取按鈕     寫入按鈕    重置按鈕


第一步,今天來講講如何做介面,java有視覺化介面開發工具,大家下載該外掛即可;

然後新建檔案後就可以畫出自己想要的介面,我隨便畫的,大家自己動手畫(畫出來的介面自己生成的程式碼,程式碼不用自己寫):

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.Point;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.InputStream;
import java.io.PrintWriter;
import java.io.RandomAccessFile;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.Reader;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;

import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.JList;
import javax.swing.JTextArea;
import javax.swing.event.CaretEvent;
import javax.swing.event.CaretListener;
import javax.swing.filechooser.FileFilter;
import javax.swing.table.TableColumnModel;
import javax.swing.table.TableModel;

import sun.security.util.Length;


public class ReadRFFile {
	JPanel container;
	private JFrame frame;
	private JTextArea textArea;
	private JTextField textField_RF;
	private JTextField textField_number;
	private JTextField textField_name;
	private static Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
	private static JButton btn_Button_xuanzefile=null;
	private JTextField jTextField;
	private static JButton btn_Button_xieru;
	private String mTotalContent;//檔案內容
	private File mDestFile;//目標檔案
	int ROM;//滑鼠指定行數
	String sum;//原來的行內容
	
	/**
	 * 啟動應用程式main
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					ReadRFFile window = new ReadRFFile();
					window.frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * 初始化框架的內容。
	 */
	public ReadRFFile() {
		initialize();
	}

	/**
	 * 初始化框架的內容。
	 */
	private void initialize() {
		frame = new JFrame("射頻檔案讀寫工具---測試科自動化開發");
		frame.setBounds(100, 100, 450, 490);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.getContentPane().setLayout(null);
		
		//選擇按鈕
		JButton btn_Button_xuanzefile = new JButton("選擇檔案");
		btn_Button_xuanzefile.setBounds(10, 32, 86, 23);
		frame.getContentPane().add(btn_Button_xuanzefile);
		//檔案路徑顯示框
		jTextField = new JTextField();
		jTextField.setBounds(113, 33, 285, 21);
		frame.getContentPane().add(jTextField);
		jTextField.setColumns(10);
		
		//名稱
		JLabel lblNewLabel = new JLabel("名稱");
		lblNewLabel.setBounds(10, 83, 54, 15);
		frame.getContentPane().add(lblNewLabel);
		//RF1
		JLabel lblNewLabel_1 = new JLabel("RF");
		lblNewLabel_1.setBounds(10, 119, 54, 15);
		frame.getContentPane().add(lblNewLabel_1);
		//引數
		JLabel lblNewLabel_2 = new JLabel("引數");
		lblNewLabel_2.setBounds(10, 154, 54, 15);
		frame.getContentPane().add(lblNewLabel_2);
		//名稱框
		textField_RF = new JTextField();
		textField_RF.setBounds(74, 116, 138, 21);
		frame.getContentPane().add(textField_RF);
		textField_RF.setColumns(10);
		//引數框,寫入可以修改
		textField_number = new JTextField();
		textField_number.setColumns(10);
		textField_number.setBounds(74, 151, 138, 21);
		frame.getContentPane().add(textField_number);
		//名稱輸入框,不允許寫入
		textField_name = new JTextField();
		textField_name.setColumns(10);
		textField_name.setBounds(74, 80, 138, 21);
		frame.getContentPane().add(textField_name);
		//大輸入框(帶滾動條)
		textArea = new JTextArea();
		JScrollPane scroll = new JScrollPane(textArea);
		scroll.setBounds(10, 193, 414, 193);
		scroll.setVerticalScrollBarPolicy( JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
		scroll.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
		frame.getContentPane().add(scroll);
                //讀取按鈕
		final JButton btn_Button_readFile = new JButton("讀取");
		btn_Button_readFile.setBounds(40, 406, 93, 23);
		frame.getContentPane().add(btn_Button_readFile);
                //寫入按鈕
		final JButton btn_Button_xieru = new JButton("寫入");
		btn_Button_xieru.setBounds(170, 406, 93, 23);
		frame.getContentPane().add(btn_Button_xieru);
                //重置按鈕
		JButton btn_Button_zhongzhi = new JButton("重置");
		btn_Button_zhongzhi.setBounds(300, 406, 93, 23);
		frame.getContentPane().add(btn_Button_zhongzhi);
}


---------------------------------完,不明白的給我留言·······················