0
패널에는 3 개의 탭 (JTabbedPane 사용)이 있습니다. 사용자는 Tab1 또는 Tab2에서 원하는 것을 모두 할 수 있지만 Tab3으로 전환하면 Tab2 또는 Tab1에서 그가 한 결과를 보길 원합니다.자바에서 탭을 클릭 할 때 특정 기능을 호출하는 방법은 무엇입니까?
어떻게하면됩니까? 사용자가 Tab3을 클릭 할 때 함수를 호출해야한다고 생각합니까?
패널에는 3 개의 탭 (JTabbedPane 사용)이 있습니다. 사용자는 Tab1 또는 Tab2에서 원하는 것을 모두 할 수 있지만 Tab3으로 전환하면 Tab2 또는 Tab1에서 그가 한 결과를 보길 원합니다.자바에서 탭을 클릭 할 때 특정 기능을 호출하는 방법은 무엇입니까?
어떻게하면됩니까? 사용자가 Tab3을 클릭 할 때 함수를 호출해야한다고 생각합니까?
TabbedPane에 ChangeListener를 추가 할 수 있습니다. 이 스 니펫은 수신기를 추가하는 방법과 어떤 탭이 활성 상태인지 나타내는 방법을 보여줍니다.
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
public class TestTabbedPane {
static JTabbedPane p;
static JFrame f;
public static void main(String[] args) {
f = new JFrame();
f.setSize(800,600);
f.setLocationRelativeTo(null);
p = new JTabbedPane();
p.addTab("T1", new JPanel());
p.addTab("T2", new JPanel());
p.addTab("T3", new JPanel());
p.addChangeListener(new ChangeListener() { //add the Listener
public void stateChanged(ChangeEvent e) {
System.out.println(""+p.getSelectedIndex());
if(p.getSelectedIndex()==2) //Index starts at 0, so Index 2 = Tab3
{
//do your stuff on Tab 3
}
}
});
f.add(p);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
}
탭 전환 처리 방법에 대한 코드를 게시하십시오. – span
1) 사용자가 탭 2 또는 1을 변경하자마자 '탭 3'을 업데이트하지 않는 이유는 무엇입니까? 2) 패널의 구성 요소에 'ComponentListener' 또는'AncestorListener'가 필요합니다. 3) 더 빨리 도움을 받으려면 [SSCCE] (http://sscce.org/)를 게시하십시오. –