KeyEvent설정
채팅프로그램만들기
import java.awt.BorderLayout;
import java.awt.Font;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class KeyEventTest extends JFrame implements KeyListener{
JPanel pane = new JPanel();
JTextArea ta = new JTextArea();
JScrollPane sp = new JScrollPane(ta);
JButton btn = new JButton("보내기");
JTextField tf = new JTextField(20);
Font fnt = new Font("궁서체", Font.BOLD, 20);
public KeyEventTest() {
super("Key이벤트");
add(sp);
add(BorderLayout.SOUTH, pane);
pane.add(tf);
pane.add(btn);
//ta에 폰트객체 설정
ta.setFont(fnt);
//이벤트 등록
tf.addKeyListener(this);
//다른클래스에서 이벤트처리
btn.addActionListener(new SendButton(ta,tf));
setSize(400,500);
setVisible(true);
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
}
//오버라이딩
public void keyPressed(KeyEvent ke) {//키를 누른상태일때
}
public void keyReleased(KeyEvent ke) {//키를 누른후 놓으면
//이벤트가 발생한 키 정보얻어오기
char evtChar = ke.getKeyChar();
int evtInt = ke.getKeyCode();
System.out.println(evtChar+ " -> " + evtInt);
if(evtInt == KeyEvent.VK_ENTER) {
ta.append(tf.getText() + "\n");
tf.setText("");
}else if(evtInt == KeyEvent.VK_ESCAPE) {
System.exit(0);//종료
}
}
public void keyTyped(KeyEvent ke) {//키를 눌렀다가 놓으면
}
public static void main(String[] args) {
new KeyEventTest();
}
}
다른클래스에서 "보내기" 버튼을 실행하기위해 클래스를 다시만든것
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class SendButton implements ActionListener{
JTextArea ta;
JTextField tf;
//Key 이벤트에서 버튼으로 보내기(버튼)을 위한 클레스
public SendButton() {
}
public SendButton(JTextArea ta, JTextField tf) {
this.ta = ta;
this.tf = tf;
}
public void actionPerformed(ActionEvent ae) {
ta.append(" ->>> "+tf.getText() + "\n");
tf.setText("");
}
}
'language > java이론' 카테고리의 다른 글
[java,자바] 콘솔에서 실행되는 도서관리프로그램 (0) | 2021.01.17 |
---|---|
[java,자바] java.io, InputStream메소드 정리 (0) | 2021.01.16 |
[java,자바] hashMap,TreeMap 이론및 정리 (0) | 2021.01.10 |
[자바,java] TreeSet 이론 및 실습 (0) | 2021.01.09 |
[java,자바] HashSet이론 및 실습 (0) | 2021.01.09 |
최근댓글