1. 넷빈에서 gui 만들려고 함.
-문제: 넷빈gui코드와 intelliJ(이클립스형으로 인코딩된 프로젝트 x-windows-949)연동이 안됨. 한글깨짐
- 해결: 인텔리제이 new project-설정 바꿔줌(x-949)
netbeans new project- 만들어서 eclipse로 export(.zip)
그 후 zip파일을 풀어 인텔리제이 new project안에 넣어준다. (폴더상태로. 인텔리제이 쓰지 않고 외부 디렉토리에서 직접)
2. gui안에 while문 안먹힌다. Thread.sleep()해도 마지막부분만 보이고 중간 변화과정 안보임
-해결법1: repaint() 사용 //안먹힘
-해결법2: Thread사용 //알아보는 중
해결법2: 사용하기 위해 new class해야 하는데, 넷빈에서 한 JFrame위에 만드는 것 말고 외부 클래스(JPanel)만들어서 어떻게 가져오는지 모르겠다. //알아보는중
3. GUI와 코드 연동시키기
껍질뿐인 gui말고 코드를 연동시켜서 사용하려는데, 어떻게 tank와 gui의 tankPanel을 연동시킬까
//class tankPanel extends JPanel 해서 쓰려는데, 이 JPanel을 어떻게 MainFrame에 넣어 사용하는지 모르겠다. //해결법 2와 같은 문제.
https://stackoverflow.com/questions/19812806/how-to-call-the-java-swing-jpanel-from-another-class-method-in-netbeans
====================================================
1. 한명은 eclipse의 Window BUilder로 작업, 나는 Netbean으로 작업
문: 윈도우 빌더로 한 작업을 넷빈으로 못 본다.
코드도 다르다. 어떻게 돌아가는지 감은 알겠는데, 수정은 힘들 것 같다
2.JFrame 안에 다른 JPanel Class 불러와서 이용하기
해결함. 간단했음.
JFrame 에 왼쪽의 JPanel을 드래그해서 불러오자..
그리고 우측클릭해서 encloseIn>panel어쩌구 해서 JFrame안의 패널로 만드는게 있었다. 그걸 눌러서 jFrame에서 얘를 관리할 수 있게 해주ㅝㅆ다.
문) JPAnel 안의 component와 배치 문제
해) Jpanel과 componet사이의 간격이 있다. 더블클릭해보면 뭐 간격조절어쩌구하고 resize해서 체크표시하는 곳이 있는데, 체크표시해두면 다른 프레임에 넣었을 떄 리사이즈 가능하고, 체크 안하면 그 간격은 유지 한 채 jpanel의 크기를 조절 할 수 있다.
3. JFrame 안에 JPanel(안에 button1 포함)과 Jbutton이 있을 떄. 스페이스바 등을 누르면 JPanel이 포커스를 먹어서 jbutton이 안 움직일떄
(jPanel: 2에서 불러온 그 클래스, Jbutton: JFrame에서 직접 생성한 button)
해결) 윈도우 자체(JFrame자체)에 포커스를 준다.
JFrame생성자에 setFocusable(true);을 넣어줌.
그리고 윈도우(JFrame)에 리스너를 달아준다.
리스너 다는 법은 모르겠어서 그냥 jframe 오른쪽클릭-keyPressed넣어줬다. 그리고 이 안에 jbutton의 리스너(?)를 넣어줌
private void formKeyPressed(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
jButton1KeyPressed(evt);
} 요렇게
3. JFrame생성자에서 jButton.setLocation(10,30)하면 그 위치에 버튼이 올라가지 않는다..
그래서 임시로 keyPressed에 넣어줬다. 키를 한번은 눌러줘야 위치가 설정된다..
해결: 생성자 내부에 코드 넣어줌
//1. 우선 setLayout(null)로 안보이게 한 다음.
2. 생성할 좌표를 넣고
3. add해준다.
//jPanel5.setLayout(null);
t = new Tank(356,776);
jPanel5.setLocation(t.getTankX(),t.getTankY());
add(jPanel5);
4. 현재 완료된것
tank클래스
- 처음 탱크 시작지점 설정(생성자)
- 탱크 움직이기(오, 왼) // gui에서 setLocation(t.right)이런식으로 쓴다.
- 탱크로 쏘면 포탄 도착지점 정하기(탱크 위치따라 도착지점 다름)
해야 할 것
포탄이 움직이는 애니메이션..
==========================================================
넷빈 버렸다.
나흘 밤을 찾아봐도 안나오는게 넷빈의 timer클래스 사용법이었따.
영어로 한글로 엥간한건 다찾아봤는데도 못만들었따
넷빈새끼
이클립스를 좋아하지 않지만 윈도우빌더를 쓰기 위해 이클립스를 다시 잡았다.
윈도우빌더..편하더라..
인텔리제이 자체에 있는 form빌더보다 더 편했다.
윈도우빌더 짱짱맨
//=================================================================
http://www.dreamincode.net/forums/topic/266194-rotating-a-jlabel/
rotate관련.
'Study > Tips' 카테고리의 다른 글
블로그에 깔끔하게 코드 올리기: Color Scripter (0) | 2018.07.04 |
---|---|
jar파일 실행가능하게 하기 (0) | 2017.06.14 |
자바 숫자 반올림/버림/내림 (0) | 2017.03.19 |
자바 숫자 표현(BigDecimal) (0) | 2017.03.19 |
자바 준비물 (0) | 2017.03.12 |