JTabbedPane (Bei klicken auf tab -->Aktion?)

Mal ein kleines Beispiel, vielleicht wird es dann klarer:
Code:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
/*
 * NewJFrame.java
 *
 * Created on 15. Februar 2008, 16:21
 */

/**
 *
 * @author  jweckbach
 */
public class NewJFrame extends javax.swing.JFrame {
    
    /** Creates new form NewJFrame */
    public NewJFrame() {
        initComponents();
        JPanel pnlExample = new JPanel();
        pnlExample.add(new JLabel("Klick mich"));
        pnlExample.addMouseListener(new MouseListener(){
            public void mouseClicked(MouseEvent mouseEvent) {
                System.out.println("auf mich wurde geklickt");
                jTabbedPane1.setSelectedIndex(1);
            }

            public void mousePressed(MouseEvent mouseEvent) {
            }

            public void mouseReleased(MouseEvent mouseEvent) {
            }

            public void mouseEntered(MouseEvent mouseEvent) {
            }

            public void mouseExited(MouseEvent mouseEvent) {
            }
            
        });
        JButton btnExample = new JButton("press me");
        btnExample.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent actionEvent) {
                System.out.println("Ich wurde geklickt");
            }
            
        });
        jTabbedPane1.setTabComponentAt(0,btnExample);
        jTabbedPane1.setTabComponentAt(1,pnlExample);
    }
    
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    // <editor-fold defaultstate="collapsed" desc=" Generated Code ">
    private void initComponents() {
        jTabbedPane1 = new javax.swing.JTabbedPane();
        jPanel1 = new javax.swing.JPanel();
        jButton1 = new javax.swing.JButton();
        jPanel2 = new javax.swing.JPanel();
        jButton2 = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        jButton1.setText("exit");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });

        org.jdesktop.layout.GroupLayout jPanel1Layout = new org.jdesktop.layout.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(jPanel1Layout.createSequentialGroup()
                .add(126, 126, 126)
                .add(jButton1)
                .addContainerGap(139, Short.MAX_VALUE))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel1Layout.createSequentialGroup()
                .addContainerGap(98, Short.MAX_VALUE)
                .add(jButton1)
                .add(95, 95, 95))
        );
        jTabbedPane1.addTab("tab1", jPanel1);

        jButton2.setText("exit");
        jButton2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton2ActionPerformed(evt);
            }
        });

        org.jdesktop.layout.GroupLayout jPanel2Layout = new org.jdesktop.layout.GroupLayout(jPanel2);
        jPanel2.setLayout(jPanel2Layout);
        jPanel2Layout.setHorizontalGroup(
            jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(jPanel2Layout.createSequentialGroup()
                .add(130, 130, 130)
                .add(jButton2)
                .addContainerGap(135, Short.MAX_VALUE))
        );
        jPanel2Layout.setVerticalGroup(
            jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(jPanel2Layout.createSequentialGroup()
                .add(95, 95, 95)
                .add(jButton2)
                .addContainerGap(98, Short.MAX_VALUE))
        );
        jTabbedPane1.addTab("tab2", jPanel2);

        org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(layout.createSequentialGroup()
                .add(38, 38, 38)
                .add(jTabbedPane1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 323, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(39, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(layout.createSequentialGroup()
                .add(27, 27, 27)
                .add(jTabbedPane1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 241, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(32, Short.MAX_VALUE))
        );
        pack();
    }// </editor-fold>

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
        System.exit(0);
    }

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
        System.exit(0);
    }
    
    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new NewJFrame().setVisible(true);
            }
        });
    }
    
    // Variables declaration - do not modify
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JTabbedPane jTabbedPane1;
    // End of variables declaration
    
}
 
Ich finde es erstaunlich wie viel Geduld Ihr aufbringt um den User (Fastkiller) seine Antwort die Ihr im schon gegeben habt noch verständlicher zu machen.

@ Fastkiller:
Bedank dich zumindest bei den Helferlein im Tutorials.de/Java Forum!
 
Hey Super danke @MeinerEier jetzt hab ichs gecheckt =) :)

@Stigma: Ich hatte wirklich keinen Plan wo ich anfangen / ansetzen soll, deshalb find ich es ja so toll das ihr mir so entgegenkommt ,)

Als Anfänger in Java hat mans nicht so leicht :suspekt:
 
Wenn es das dann war, darfst du auch gerne den Thread als erledigt markieren ;)

*grüssle*
MeinerEiner
 
Ich wollte dich nur darauf aufmerksam machen wie toll dieses Forum ist. Zum einen sind sehr hilfsbereite User unterwegs und zu anderem gibt es hilfreiche Funktionen wie Beitrag erledigt oder sich bei einem User zu bedanken.
Ich selber bin von Tutorials.de fasziniert.
 
Hallo und Halli,
sorry dass ich da nochmal was nachfrage...
ich habe gesehen, dass die Funktion JTabbedPane.setTabComponentAt() offenbar eine Java 6 Erweiterung ist. Wie hat man dies eigetnlich vor Java 6 gelöst?

mit neugierigen Grüßen

Takidoso
 
Zurück