Java 85. Cách sử dụng JTextArea để hiển thị và nhập dữ liệu văn bản trên nhiều



    Bản quyền thuộc về TITV.vn, 
    vui lòng không đăng tải lại nội dung từ trang này.

    Video giải thích chi tiết

    https://docs.oracle.com/javase/8/docs/api/javax/swing/JTextArea.html


    Ví dụ về tìm kiếm văn bản.


     Code chi tiết 


    package model;
    
    public class TimKiemModel {
    	private String vanBan;
    	private String tuKhoa;
    	private String ketQua;
    	
    	public TimKiemModel() {
    		this.vanBan = "";
    		this.tuKhoa = "";
    		this.ketQua = "";
    	}
    
    	public String getVanBan() {
    		return vanBan;
    	}
    
    	public void setVanBan(String vanBan) {
    		this.vanBan = vanBan;
    	}
    
    	public String getTuKhoa() {
    		return tuKhoa;
    	}
    
    	public void setTuKhoa(String tuKhoa) {
    		this.tuKhoa = tuKhoa;
    	}
    
    	public String getKetQua() {
    		return ketQua;
    	}
    
    	public void setKetQua(String ketQua) {
    		this.ketQua = ketQua;
    	}
    	
    	public void timKiem() {
    		int dem = 0;
    		int viTri = 0;
    		while(true) {
    			int i = this.vanBan.indexOf(this.tuKhoa, viTri);
    			if (i==-1) {
    				// Tình huống không tìm thấy
    				break;
    			}else {
    				dem++;
    				viTri = i+1;
    			}
    		}
    		this.ketQua = "Kết quả: có "+ dem + " "+this.tuKhoa;
    		System.out.println(ketQua);
    	}
    }
    
    
    
    package view;
    
    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.FlowLayout;
    import java.awt.Font;
    import java.awt.GridLayout;
    import java.awt.HeadlessException;
    
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JTextArea;
    import javax.swing.JTextField;
    
    import controller.TimKiemListener;
    import model.TimKiemModel;
    
    public class TimKiemView extends JFrame{
    	private TimKiemModel timKiemModel;
    	private JTextArea jTextArea_vanBan;
    	private JTextField jTextField_tuKoa;
    	private JLabel jLabel_ketQua;
    
    	public TimKiemView() throws HeadlessException {
    		this.timKiemModel = new TimKiemModel();
    		this.init();
    	}
    
    	private void init() {
    		this.setTitle("Tìm Kiếm");
    		this.setSize(800, 600);
    		this.setLocationRelativeTo(null);
    		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		
    		Font font = new Font("Arial", Font.BOLD, 40);
    		
    		//Center
    		JLabel jLabel_vanBan = new JLabel("Văn bản");
    		jLabel_vanBan.setFont(font);
    		jTextArea_vanBan = new JTextArea(100, 100);
    		jTextArea_vanBan.setFont(font);
    	
    		
    		
    		// Footer
    		TimKiemListener timKiemListener = new TimKiemListener(this);
    		
    		JLabel jLabel_tuKhoa = new JLabel("Từ khóa");
    		jLabel_tuKhoa.setFont(font);
    		jTextField_tuKoa = new JTextField();
    		jTextField_tuKoa.setFont(font);
    		
    		JButton jButton_thongKe = new JButton("Thống kê");
    		jButton_thongKe.setFont(font);
    		jButton_thongKe.addActionListener(timKiemListener);
    		jButton_thongKe.setBackground(Color.BLUE);
    		jButton_thongKe.setBorderPainted(false);
    		jButton_thongKe.setOpaque(true);
    		
    		jLabel_ketQua = new JLabel();
    		jLabel_ketQua.setBackground(Color.YELLOW);
    		jLabel_ketQua.setFont(font);
    		jLabel_ketQua.setOpaque(true);
    		
    		JPanel jPanel_footer = new JPanel();
    		jPanel_footer.setLayout(new GridLayout(2,2, 20, 20));
    		jPanel_footer.add(jLabel_tuKhoa);
    		jPanel_footer.add(jTextField_tuKoa);
    		jPanel_footer.add(jButton_thongKe);
    		jPanel_footer.add(jLabel_ketQua);
    		
    	
    		this.setLayout(new BorderLayout());
    		this.add(jLabel_vanBan, BorderLayout.NORTH);
    		this.add(jTextArea_vanBan, BorderLayout.CENTER);
    		this.add(jPanel_footer, BorderLayout.SOUTH);
    		this.setVisible(true);
    	}
    	
    	public void timKiem() {
    		this.timKiemModel.setVanBan(jTextArea_vanBan.getText());
    		this.timKiemModel.setTuKhoa(jTextField_tuKoa.getText());
    		this.timKiemModel.timKiem();
    		this.jLabel_ketQua.setText(this.timKiemModel.getKetQua());
    	}
    	
    }
    
    
    
    package controller;
    
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    
    import view.TimKiemView;
    
    public class TimKiemListener implements ActionListener{
    	private TimKiemView timKiemView;
    	
    	
    	
    	public TimKiemListener(TimKiemView timKiemView) {
    		this.timKiemView = timKiemView;
    	}
    
    
    
    	@Override
    	public void actionPerformed(ActionEvent e) {
    		this.timKiemView.timKiem();
    	}
    
    }
    
    
    
    package test;
    
    import javax.swing.UIManager;
    
    import view.TimKiemView;
    
    public class Test {
    	public static void main(String[] args) {
    		try {
    			UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    			new TimKiemView();
    		} catch (Exception ex) {
    			ex.printStackTrace();
    		}	
    	}
    }
    
    

    Không có nhận xét nào:

    Đăng nhận xét