2014-06-20 2 views
1

나는 자바 스윙 컴포넌트를 사용하는 법을 배우려하고있다. 나는 팝업창과 같은 것을 만들어 내려고 노력해왔다. 친구를 선택할 때 facebook처럼 창이 열린다. 친구 목록이있다. 사용자가 친구 목록에서 자신의 친구 중 하나를 선택하면 팝업 창을 만들고 싶습니다. 문제는이 코드를 실행할 때마다 두 개의 내부 프레임이 나타납니다. 문제를 해결하지 못했습니다. 여기 있습니다. 코드 스 니펫. 미리 감사드립니다. 내 자바 코드에서 두 개의 내부 프레임이 생성되는 이유는 무엇입니까?

private void list2ValueChanged(javax.swing.event.ListSelectionEvent evt) { 

    JInternalFrame f = new JInternalFrame((String)list2.getSelectedValue(), 
      false,true,false,true); 
    f.setSize(150,150); 
    f.setVisible(true); 
    desk.add(f,BorderLayout.SOUTH); 

} 

여기서 desk는 JDesktopPane의 변수 이름입니다.

답변

1

ListSelectionListener는 선택 항목이 변경 될 때마다 여러 이벤트를 생성합니다.

당신은 확실히 선택이 Thanks..it 근무

if (!event.getValueIsAdjusting()) 
    // create your internal frame. 
+0

조정 완료 확인하기 위해 ListSelectionEvent.getValueIsAdjusting()을 확인해야합니다. – user3430220