JTabbedPane + ChangeListener

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • JTabbedPane + ChangeListener

    Hallo,

    ich steh grad vor einem Problem das den ChangeListener angeht.
    Ich hab in meine JFrame drei Tabs zwischen denen man wechseln kann.
    Ganz unten am Fenster soll eine Ausgabe erfolgen welcher der 3 Tabs momentan gewählt wurde

    Ich hab mir schon eins zwei ChangeListener Beispiele angeschaut, doch schlau wurde ich daraus nicht
    Hier ist mal mein Code:

    Quellcode

    1. private void setGui() {
    2. // Panels for Tabs
    3. JPanel Tab1 = new JPanel();
    4. JPanel Tab2 = new JPanel();
    5. JPanel Tab3 = new JPanel();
    6. mBottomText = new JLabel("Selected Tab No.:");
    7. Tab1.add(new JLabel("erstes Panel"));
    8. Tab2.add(new JLabel("zweites Panel"));
    9. Tab3.add(new JLabel("drittes Panel"));
    10. JTabbedPane tp = new JTabbedPane();
    11. getContentPane().add(tp,BorderLayout.NORTH);
    12. getContentPane().add(mBottomText,BorderLayout.SOUTH);
    13. tp.addTab("Tab1", Tab1);
    14. tp.addTab("Tab2", Tab2);
    15. tp.addTab("Tab3", Tab3);
    16. tp.addChangeListener(this);
    17. add(tp);
    18. }
    19. public void stateChanged(ChangeEvent _Event) {
    20. }
    Alles anzeigen


    Ich weis nun nicht wie ich mein mButtonText in Abhängigkeit von meinen tb im ChangeListener implementieren soll
    "Irren ist menschlich. Aber wer richtigen Mist bauen will, braucht einen Computer."
  • Über das ChangeEvent kommst du an die geänderte JTabbedPane Source und kannst die aktuelle Position (fängt bei 0 an, deswegen +1) abrufen.

    Quellcode

    1. tp.addChangeListener(new ChangeListener() {
    2. @Override
    3. public void stateChanged(ChangeEvent e) {
    4. JTabbedPane pane = (JTabbedPane)e.getSource();
    5. mBottomText.setText("Selected Tab No.: " + Integer.valueOf(pane.getSelectedIndex() + 1));
    6. }
    7. });