[JAVA] 간단한 AWT파일을 이용해서 만든 로그인입니다. 문의사항있습니다.
소아
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Login extends JFrame implements ActionListener {
//스윙을 써서 JFrame을 상속받고 이벤트를 구현하기 위해서 ActionListener을 인터페이스 하였습니다.
private JPanel contentPane, jp, jp1, jp2;
private JTextField jp_id, jp_pass;
private JLabel lb1, lb2;
private JButton jb1, jb2;
public Login() {
super(Java Project);
contentPane = (JPanel)getContentPane();
JPanel jp = new JPanel();
JPanel jp1 = new JPanel();
JTextField jp_id = new JTextField(10);
JTextField jp_pass = new JTextField(10);
JLabel lb1 = new JLabel(I D :);
JLabel lb2 = new JLabel(PASS :);
JButton jb1 = new JButton(확인 (o));
JButton jb2 = new JButton(종료 (x));
contentPane.setLayout(new FlowLayout());
contentPane.add(jp);
jp.add(lb1);
jp.add(jp_id);
jp.add(lb2);
jp.add(jp_pass);
contentPane.add(jp1);
jp1.add(jb1);
jp1.add(jb2);
jb1.addActionListener(this);
jb2.addActionListener(this);
}
public void actionPerformed(ActionEvent e) {
//확인버튼 이벤트
if(e.getSource() == jb1) {
String Id, Pass;
Id = jp_id.getText();
Pass = jp_pass.getText();
if(Id.equals(kim) && Pass.equals(2002)) {
ok();
} else {
jb1.setText(Try Again);
}
} else if(e.getSource() == jb2) {
System.exit(0);
}
}
public void ok() {
//아이디, 패스워드 일치시 새 프레임 보이기
Login lg = new Login();
lg.setSize(600,600);
lg.setVisible(ture);
}
public static void main(String[] args) {
Login lg = new Login();
lg.pack();
lg.setSize(450,130);
lg.setVisible(true);
}
}어제 올린 자료에서 이벤트 버튼이 지정안되있다고 지적해주셔서 다시 만들어 보았습니다.
프로그램 자체는 돌아가서 창에 로그인 표시까지 다 보입니다.
그런데도 버튼을 누르면 아무런 반응이 오지 않는데 고수님들 어떻게 해야할지 보고 지적해주십시오.
ok메서드 부문은 임시로 만들어 놓은 부분입니다.
-
튼동
아~ 중복이 되었군요... 감사드립니다.
-
권애교
private JButton jb1, jb2; // 생성자 밖
JButton jb1 = new JButton(\확인 (o)\);
JButton jb2 = new JButton(\종료 (x)\); // 생성자 안
이렇게 중복으로 선언되어 있네요~..
액션이 일어나면.. 액션퍼폼드 메쏘드에서 아무런 객체도 참조 하지 않는
private JButton jb1, jb2 에 대해서 비교를 하기 때문에 아무 일도 일어나지 않는것 같아요..
저의 -
별하
오옷... 감사드립니다..
제가 한거랑 순서 바꾼거 차이인듯 보이는데...(제 짧은 지식으로는..)
왜 이렇게 실행이 되고 안되고의 차이가 발생할까요? -
설화
public Login() {
super(\Java Project\);
contentPane = (JPanel)getContentPane();
contentPane.setLayout(new FlowLayout());
jp = new JPanel();
jp1 = new JPanel();
lb1 = new JLabel(\I D :\);
lb2 = new JLabel(\PASS :\);
jp_id = new JTex