Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- componentDidUpdate
- windows-build-tools
- 누마 누마
- 상단 메뉴 없애기
- startingDirectory
- tailwindcss
- 응답없음
- 다이얼로그 복사
- MySQL
- mysql 응답없음
- useEffect
- MSB8020
- error MSB8020
- Pivotal
- 디렉터리 파일 검색
- 머신 러닝
- vue config
- Vuetify
- Visual Studio
- explore.exe
- Linux
- mysql -u root -p
- Before start of result set
- default path
- MFC
- Numa Numa
- default profile
- error
- window terminal
- DIR함수
Archives
- Today
- Total
갓토리
Java, Swing] getOwner 이용 부모프레임 조정 본문
질문
-------------------
제가 자바로 프로그램을 만드는데요...
대충 어떤 프로그램인지 설명드릴께요
처음 컴파일 하면 입력이란 버튼이 하나있는 awt 창이 뜹니다
그리고 그 입력버튼을 클릭하면 새로운 아이디와 패스워드를 입력하는 다이어로그 창이 뜹니다
그래서 아이디랑 패스워드를 입력 해서 확인을 누르면 다이어로그 창이 사라지며
처음 awt(입력버튼이 있는창) 에 아이디와 비밀번호가 가운데 나타나게 하는 프로그램입니다
여기서 아이디와 비밀번호를 치고 확인을 눌럿을때 그 정보를 어떻게 첫 awt 창으로 옮기는 지 몰라요 ㅠㅠㅠ
미치겟습니다 ㅠㅠㅠㅠㅠ 살려주세요 ㅠㅠ
답변
---------------
Swing으로 작성했습니다,
AWT로 바꿔도 똑같이 동작 할겁니다.
이런 식의 코드를 원하셨는지는 잘 모르겠네요..
코드
-----------------
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Login extends JFrame implements ActionListener {
public JLabel L_id, L_password;
private JButton BT_input;
public Login() {
setLayout(new BorderLayout());
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 아이디/패스워드
L_id = new JLabel(" ");
L_password = new JLabel(" ");
JPanel P_input = new JPanel(new GridLayout(2, 1));
P_input.setBorder(BorderFactory.createEmptyBorder(10, 20, 10, 20));
P_input.add(L_id);
P_input.add(L_password);
add(P_input, BorderLayout.CENTER);
// 입력
BT_input = new JButton("입력");
BT_input.addActionListener(this);
add(BT_input, BorderLayout.SOUTH);
pack();
setLocationRelativeTo(getParent());
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
new Input(this).setVisible(true);
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
new Login().setVisible(true);
}
}
class Input extends JDialog implements ActionListener {
private JTextField TF_id, TF_password;
private JButton BT_ok;
public Input(JFrame owner) {
super(owner);
setModal(true);
setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
setLayout(new GridLayout(3, 1));
// 아이디
TF_id = new JTextField(20);
JPanel P_id = new JPanel(new BorderLayout());
P_id.setBorder(BorderFactory.createEmptyBorder(10, 20, 5, 20));
P_id.add(new JLabel("아이디 : "), BorderLayout.WEST);
P_id.add(TF_id, BorderLayout.CENTER);
add(P_id);
// 패스워드
TF_password = new JTextField(20);
JPanel P_password = new JPanel(new BorderLayout());
P_password.setBorder(BorderFactory.createEmptyBorder(5, 20, 10, 20));
P_password.add(new JLabel("비밀번호 : "), BorderLayout.WEST);
P_password.add(TF_password, BorderLayout.CENTER);
add(P_password);
// 버튼
BT_ok = new JButton("확인");
BT_ok.addActionListener(this);
add(BT_ok);
pack();
setLocationRelativeTo(getOwner());
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if (getOwner() instanceof Login)
if (e.getSource() == BT_ok) {
Login login = (Login) getOwner();
// Login의 텍스트 변경
login.L_id.setText(TF_id.getText());
login.L_password.setText(TF_password.getText());
// 창 닫기
dispose();
}
}
}
'IT > 프로그래밍' 카테고리의 다른 글
안드로이드] SQLite (0) | 2015.09.24 |
---|---|
안드로이드] HttpClient Gradle 오류해결 (1) | 2015.09.16 |
MFC] 마우스 이벤트 중복 예약 방지 (0) | 2015.06.11 |
MFC] Dialog 전체화면 만들기 (0) | 2015.06.10 |
MFC] 상단 메뉴 없애기 (0) | 2015.06.07 |
Comments