[질문] 전역변수인데 왜 사용을 못하는거죠...?
단화한
창을 닫을때 현재 창을 창들을 저장하고 있는 리스트에서 제거 해야 하는데...public class Chat_Room extends JFrame implements Runnable, ActionListener {
protected JMenuBar menuBar;
protected JMenu mainMenu, subMenu;
protected JMenuItem end_chat, invite;
// 방 이름
String roomName;
String ID;
// 클라이언트의 폼을 구성하는 component
JFrame chatWindow;
JPanel p;
JTextArea talkArea;
JTextField tf;
JScrollPane sp;
// 서버와의 접속을 위한 socket 객체 선언
Socket socket;
Vector chat_List = new Vector();
public Vector roomList;
String chat_user;// 스트림 클래스 선언
private ObjectOutputStream os;//생성자
public Chat_Room(ObjectOutputStream os, String ID, String chat_user, Vector roomList) {
super(ID+의 대화창);
roomName = ID+chat_user;
CreateGUI(roomName);this.os = os;
this.ID = ID;
this.roomList = roomList;
chat_List.add(ID);
chat_List.add(chat_user);addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
roomList.remove(this); // 여기에 문제있음...
dispose();
}
});
}이하 생략...
이렇게 된 코드에서... 아래 roomList의 this객체를 remove하는 부분중 roomList에 빨간밑줄이 들어가거든요?
위에 분명 전역변수(?)로 Vector roomList 라고 선언을 해줬는데...
다른 메소드에 정의된 내부 클래스 안에 있는 비 final roomList 변수를 참조할 수 없습니다.
라고 나오네요...왜 그렇죠? 젤 위에 선언해줬는데도 그렇게 되는 이유를 모르겠어요..
-
희미햬 2024-09-02
아.. inner class에 대해 보니 당연히 사용할 수 없다는 말이 이해가 되네요..
그런데.. final을 붙이면 수정이 불가인데.. remove가 먹을라나..? 함 해볼께요 ^^; -
세이 2024-09-02
inner class의 사용법을 조금더 보셔야 할듯.. final로 지정하시면 될듯 싶네요.
-
레나 2024-09-02
final을 붙이셔야죠...public final Vector roomList;
-
핫와인 2024-09-02
요즘은 자바를 손을 잘대서. Chat_Room.this.roomList.remove(this); 하면 되지 않을까요? 않되면.. 다른분이 도와주세요. 그리고, 당연히 rooList를 사용할수 없죠.
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2700304 | ie8 전용핵 문의 (3) | 여자 | 2025-07-03 |
2700281 | 이런경우 어떻게 코딩해야 표준에 따르는건가요? (6) | 늘솜 | 2025-07-03 |
2700230 | 질문이여 ! | 뿡뿡몬 | 2025-07-03 |
2700205 | 액션스크립트책 좀 추천해주세요. (10) | 화이트캣 | 2025-07-02 |
2700173 | 자바 소스인데 어떤게 에러인지..? (1) | 호빵녀 | 2025-07-02 |
2700142 | 하단이 붙어있는 가변 레이아웃구조 질문드립니다. | 이플 | 2025-07-02 |
2700089 | 이미지를 사다리꼴로 비틀게 하는 액션코드가 있나요? (4) | 여름 | 2025-07-01 |
2700033 | 배경에 그라데이션을 넣으려고 하는데요.. (4) | 화이티 | 2025-07-01 |
2700005 | [질문] TextField 객체의 실제 높이 알아오는 방법 ? | 천사의눈물 | 2025-07-01 |
2699978 | FileReferenceList를 이용하여 업로드시 자꾸 실행속도가 느리다는 팝업이... (10) | 데이비드 | 2025-06-30 |
2699944 | 자바스크립트가 많은 사이트는... (6) | 희나리 | 2025-06-30 |
2699918 | 브라우저마다 다른 input과 텍스트 정렬 (3) | 늘봄 | 2025-06-30 |
2699887 | 동적텍스트를 그래픽으로?? (2) | 족장 | 2025-06-30 |
2699862 | scope넣기 (1) | 아인 | 2025-06-29 |
2699835 | exe로 만드는 방법을....알려주세요.. (5) | 방방 | 2025-06-29 |
2699809 | 롤오버할때 백그라운드 이미지로할때 alt설명은 어떻게해야하죠?..ㅠ (4) | 반혈 | 2025-06-29 |
2699757 | 리스트뷰에 있는 내용을 랜덤으로 추출 | 세실 | 2025-06-28 |
2699725 | JMX 질문입니다. (1) | 시나브로 | 2025-06-28 |
2699695 | 으으아으ㅏ으ㅏ 정말미쳐버리겟네요 | 진달래 | 2025-06-28 |
2699665 | absolute에 대해서 궁금한게 있습니다 (1) | 영빈이 | 2025-06-28 |