수정판 ...


[ Follow Ups ] [ Post Followup ] [ 자바 묻고 답하기 ]

Posted by 김덕태 on November 25, 1997 at 03:19:55:

In Reply to: 임의의 컴포넌트에서 한글 입력 받기 (TextField이용하는 방법) posted by 김덕태 on November 25, 1997 at 03:06:46:

약간 문제가 되는 부분이 있으므로, 한줄 추가...



import java.awt.*;
import java.awt.event.*;


class KeyEventTest3
{
public static void main(String[] args)
{
KeyEventTest3 tester = new KeyEventTest3();
Frame f = new Frame();
f.add( tester.display, "Center" );
f.add( tester.input, "West" );
f.setSize(300, 300);
f.setVisible(true);
}


int posX = 0, posY = 0; // 출력 위치
String inputString = ""; // 출력 문자열


TextField input = new TextField()
{ // TextField가 출력되지 않도록 크기를 0으로 만든다.
public Dimension getPreferredSize()
{ return new Dimension(0,0);
}
};


Canvas display = new Canvas()
{
public void paint(Graphics g)
{ g.drawString( inputString, posX, posY );
}
};

KeyEventTest3()
{
display.addMouseListener( ml );
display.addFocusListener( fl );
input.addKeyListener( kl );
}


MouseListener ml = new MouseAdapter()
{ public void mousePressed(MouseEvent ev)
{ inputString = "";
posX = ev.getX();
posY = ev.getY();
input.requestFocus(); // 포커스를 TextField로 전송
}
};


FocusListener fl = new FocusAdapter()
{ public void focusGained(FocusEvent ev)
{ input.requestFocus(); // 포커스를 TextField로 전송
}
};


KeyListener kl = new KeyAdapter()
{ public void keyTyped(KeyEvent ev)
{ inputString += ev.getKeyChar();
// 네이티브 입력기로부터의 한글이 전달된다.
input.setText("");
display.repaint();
}
};
}





Follow Ups:



이어서 글올리기(답하기)

이름:
E-Mail:
제목:
내용:
관련 URL(선택):
URL 제목(선택):
관련 이미지 URL:


[ Follow Ups ] [ Post Followup ] [ 자바 묻고 답하기 ]