상세 컨텐츠

본문 제목

자바로 메모장 만들기 단어 찾기 부분만단어

관리X 과거글

by 까먹기전에 2015. 1. 25. 22:41

본문

반응형
현재 메모장에서 쓴 글중 원하는 단어 찾기

=====메인=====


import java.awt.*;


class zzz{

public static void main(String[] args) {

StartForm sf = new StartForm("메모장");

sf.setBounds(200,200,200,200);

sf.setLayout(new FlowLayout());

sf.addCMP();

sf.eve();

sf.pack();

sf.setVisible(true);

}

}



=====시작 폼======


import java.awt.FlowLayout;

import java.awt.Frame;

import java.awt.Menu;

import java.awt.MenuBar;

import java.awt.MenuItem;

import java.awt.TextArea;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;


public class StartForm extends Frame implements ActionListener {

MenuBar mb;

Menu m;

MenuItem mi1;

TextArea ta;


StartForm(String title) {

super(title);

ta = new TextArea();

mb = new MenuBar();

m = new Menu("편집");

mi1 = new MenuItem("찾기");

}


void addCMP() { // 컴포넌트추가

m.add(mi1); // 메뉴에 메뉴아이템 추가

mb.add(m); // 메뉴바에 메뉴 추가

setMenuBar(mb); // 프레임에 메뉴바 추가

add(ta);

}


void eve() {

mi1.addActionListener(this);

}


@Override

public void actionPerformed(ActionEvent e) {

System.out.println("이벤트발동테스트");


MemoForm mf = new MemoForm("단어찾기",ta.getText(),this);

mf.setBounds(200, 200, 400, 100);

mf.setLayout(new FlowLayout());

mf.addCMP();

mf.eve();

mf.setVisible(true);


}


}


======= 단어 찾기 폼 =======


import java.awt.Button;

import java.awt.Frame;

import java.awt.TextField;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;


public class MemoForm extends Frame implements ActionListener{

Button b1,b2;

TextField tf;

String text;

StartForm sf;

FindAction fa;

public MemoForm(String title, String text, StartForm sf) {

super(title);

this.text=text;

this.sf=sf;

tf=new TextField(20);

b1=new Button("찾기");

b2=new Button("다음찾기");


}

void addCMP(){

add(tf);

add(b1);

add(b2);

}

void eve(){

b1.addActionListener(this);

}


@Override

public void actionPerformed(ActionEvent e) {

if(e.getSource()==b1){

fa = new FindAction(text,sf,tf.getText(),this);

}

}

}


========단어 찾기 액션========


public class FindAction {

int first;

int last;


public FindAction(String text, StartForm sf, String findword, MemoForm mf) {

first = text.indexOf(findword);

last = first + findword.length();

System.out.println(first);

System.out.println(last);

block(first, last, sf);// 79Ribgael79

}


void block(int first, int last, StartForm sf) {

sf.ta.requestFocus();

sf.ta.select(first, last);

}


}




편집 - 찾기 -> 찾고픈 단어 입력후 찾기 입력하면 저렇게 블록이 쳐진다.


관련글 더보기