JAVA
JAVA GUI 프로그래밍_3
;세미콜론;
2020. 1. 18. 17:08
반응형
키 어댑터
package eample;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class java extends JFrame
{
public java()
{
setTitle("키 어댑터");
JLabel l = new JLabel (""+JLabel.CENTER);
JTextField t = new JTextField(10);
l.setText(" ");
add("North",t);
add("Center",l);
t.addKeyListener(new KeyListener() {
@Override
public void keyReleased(KeyEvent e) {
}
@Override
public void keyPressed(KeyEvent e) {
if (e.getKeyCode()==KeyEvent.VK_ENTER)
l.setText("입력한 문자열 : "+ t.getText());
}
@Override
public void keyTyped(KeyEvent e) {
}
});
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(300,120);
setVisible(true);
}
public static void main(String[] args) {
new java();
}
}
실행결과
마우스 이동 어댑터
package eample;
import java.awt.Color;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionAdapter;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class java extends JFrame{
java()
{
setTitle("마우스 이동 어댑터");
JLabel label = new JLabel("움직이는 레이블");
label.setForeground(Color.RED);
add(label);
addMouseMotionListener(new MyMouseMotion(label));
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(300,120);
setVisible(true);
}
public static void main(String[] args) {
new java();
}
}
class MyMouseMotion extends MouseMotionAdapter
{
JLabel label;
public MyMouseMotion (JLabel label)
{
this.label = label;
}
@Override
public void mouseMoved(MouseEvent e) {
label.setLocation(e.getX(),e.getY()-50);
}
}
실행결과
키 이벤트와 키 리스너
package eample;
import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class java extends JFrame{
private JLabel [] keyMessage;
public java()
{
setTitle ("KeyListener 예제");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container c = getContentPane();
c.setLayout(new FlowLayout());
c.addKeyListener(new MyKeyListener());
keyMessage = new JLabel[3];
keyMessage[0] = new JLabel(" getKeyCode() ");
keyMessage[1] = new JLabel(" getKeyChar() ");
keyMessage[2] = new JLabel(" getKeyText() ");
for (int i =0 ; i<keyMessage.length; i++)
{
c.add(keyMessage[i]);
keyMessage[i].setOpaque(true);//바탕색이 보이기 위해 불투명하게 지정
keyMessage[i].setBackground(Color.YELLOW);
}
setSize(300,150);
setVisible(true);
c.setFocusable(true);
c.requestFocus();
}
class MyKeyListener extends KeyAdapter
{
@Override
public void keyPressed(KeyEvent e) {
int keyCode = e.getKeyCode();
char keyChar = e.getKeyChar();
keyMessage[0].setText(Integer.toString(keyCode));
keyMessage[1].setText(Character.toString(keyChar));
keyMessage[2].setText(e.getKeyText(keyCode));
}
}
public static void main(String[] args) {
new java();
}
}
반응형