앞의 강의에서 equals에 대해서 확인하였습니다. 그렇다면 다음 예제를 통하여 equals에 대해서 알아보도록 하겠습니다.
import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener;
import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextField;
public class T3 extends JFrame implements ActionListener {
JPanel p1 = new JPanel(); JButton b1 = new JButton("123"); JButton b2 = new JButton("1234"); String str=new String("123"); JLabel l1 = new JLabel(str); JTextField t1 = new JTextField();
public T3() { p1.setLayout(new GridLayout(2, 2)); add(p1); p1.add(l1); p1.add(t1);
b1.addActionListener(this); b2.addActionListener(this);
p1.add(b1); p1.add(b2);
// ------------------------------------------------ setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 프레임의 x버튼을 활성화하여 닫기버튼이 실행가능해짐 setSize(500, 500); // 프레임 사이즈 지정 setVisible(true); // 프레임을 보이게 함 setLocationRelativeTo(null); // 프레임 실행시 위치 중앙 }
@Override public void actionPerformed(ActionEvent e) { String a = e.getActionCommand();
if (a.equals(l1.getText())) { t1.setText("같음"); } else
t1.setText("다름"); }
public static void main(String args[]) { T3 test = new T3(); } } |
<결과물>
123버튼과 l1 123의 비교 |
1234버튼과 l1 1234의 비교 |
만약, addActionListener의 클래스안에 equals가 아니라 ==연산자를 사용하면 어떻게 될까요?
import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener;
import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextField;
public class T3 extends JFrame implements ActionListener {
JPanel p1 = new JPanel(); JButton b1 = new JButton("123"); JButton b2 = new JButton("1234"); String str=new String("123"); JLabel l1 = new JLabel(str); JTextField t1 = new JTextField();
public T3() { p1.setLayout(new GridLayout(2, 2)); add(p1); p1.add(l1); p1.add(t1);
b1.addActionListener(this); b2.addActionListener(this);
p1.add(b1); p1.add(b2);
// ------------------------------------------------ setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 프레임의 x버튼을 활성화하여 닫기버튼이 실행가능해짐 setSize(500, 500); // 프레임 사이즈 지정 setVisible(true); // 프레임을 보이게 함 setLocationRelativeTo(null); // 프레임 실행시 위치 중앙 }
@Override public void actionPerformed(ActionEvent e) { String a = e.getActionCommand();
if (a==l1.getText()) { t1.setText("같음"); } else
t1.setText("다름"); }
public static void main(String args[]) { T3 test = new T3(); } } |
<결과물>
123버튼과 l1 123의 비교
|
1234버튼과 l1 1234의 비교 |
자료가 마음에 드셨다면 자주 찾아주세요^^ 글 올리는데 힘이됩니다.
'JAVA-클래스의 중요메소드 > Object클래스' 카테고리의 다른 글
JAVA-중요02-toString(예제) (0) | 2018.06.21 |
---|---|
JAVA-중요02-toString (0) | 2018.06.21 |
JAVA-중요01-equals (0) | 2018.06.21 |