Netbeans - jTabbedPane Hintergrundfarbe ändern

IndeedPete

Mitglied
Hallo!

Mich bringt mal wieder ein völlig banales Problem zum verzweifeln. Und zwar möchte ich die Hintergrundfarbe eines Tabs vom hässlichen standard-Blau auf Weiss ändern.
Seit einer Stunde bin ich am googlen und probieren, wie ein Bekloppter aber ich bekomme den blauen Hintergrund einfach nicht weg. -.- Die Farbe als Property einstellen bringt nichts (beim Tab selbst geht es komischerweise aber nicht beim Pane???) und einige Befehle habe ich auch schon ohne Erfolg ausprobiert.
Ich benutze Netbeans 7.0.1.



Ich bin sehr dankbar für jede Hilfe!
 
setBackground(Color.WHITE);
oder
myJTabbedPane.setBackgroundAt(nrDesTabs,Color.WHITE);
Bei solchen Problemen hilft anstatt googlen wie ein irrer oft ein blick in die javadoc. Lohnt sich imo sehr sich mal mit der javadoc zu beschäftigen, auch weil man die ganze Struktur der ganzen Java Klassen dabei kennenlernt.
 
Genau das habe ich probiert, aber er meckert immer "cannot find symbol". Wo muss der Code denn hin? Ich habe es wie folgt versucht.
Auszug aus dem Source Code des gesamten Frames:
Java:
public mainFrame() {
        initComponents();
        this.getContentPane().setBackground(Color.WHITE); // Hintergrundfarbe auf weiss ändern
        veranstaltungenTabPane.setBackround(Color.WHITE);
    }
Aber, auch in der main-Methode gibt er nur Fehler aus...
 
Du must setBackground natürlich bei dem Panel aufrufen, bei dem du den weißen hintergrund haben willst.
Und anscheinend hast du meinen Post nicht ganz gelesen, sonst hättest du
Java:
veranstaltungenTabPane.setBackroundAt(0,Color.WHITE);
ausprobiert.

Wenn du ein Panel - nennen wir es myJPanel - in deinem TabPane hast, musst du natürlich myJPanel.setBackground(Color.WHITE); ausführen
 
Hm, habe das gerade noch einmal probiert, aber er gibt mir immer noch "cannot find symbol".
Egal ob ich
Java:
veranstaltungenTabPane.setBackroundAt(0,Color.WHITE);
oder
Java:
veranstaltungenTab.setBackroundAt(0,Color.WHITE);
oder
Java:
this.veranstaltungenTab.setBackroundAt(0,Color.WHITE);
oder sonstwas probiere. Habe nun sämtliche Möglichkeiten durch aber er gibt immer denselben Fehler aus. ???:L
 
und welches Symbol findet er nicht? Einzelne Zeilen zu posten hilft da nicht viel, mit einem KSKB und einer vollständigen Fehlermeldung "wärst du viel leichter geholfen".
 
Er kann laut Fehlermeldung die Methode "setBackround()" nicht finden, obwohl Objekte der Klasse JTabbedPane der Dokumentation nach die Methode haben.
Zur Zeit steht der Befehl im Konstruktor des Frames, muss das eventuell woanders ausgeführt werden? Ich kann auch das Netbeans Projekt hochladen, wenn das hilft.
 
Java:
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * mainFrame.java
 *
 * Created on 06.09.2011, 19:40:22
 */
/**
 *
 * @author Bender
 */
import java.awt.color; // Bibliothek, um die Hintergrundfarbe zu ändern

public class mainFrame extends javax.swing.JFrame {

    /** Creates new form mainFrame */
    public mainFrame() {
        initComponents();
        this.getContentPane().setBackground(Color.WHITE); // Hintergrundfarbe auf weiss ändern
        bestellungenTabPane.setBackroundAt(0, Color.WHITE);
    }

    /** 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.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        jSeparator1 = new javax.swing.JSeparator();
        statusLabel = new javax.swing.JLabel();
        versionLabel = new javax.swing.JLabel();
        veranstaltungenTab = new javax.swing.JTabbedPane();
        bestellungenTabPane = new javax.swing.JTabbedPane();
        kundenTabPane = new javax.swing.JTabbedPane();
        veranstaltungenTabPane = new javax.swing.JTabbedPane();
        menuBar = new javax.swing.JMenuBar();
        fileMenu = new javax.swing.JMenu();
        endMenuButton = new javax.swing.JMenuItem();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("Filmtheater");
        setBackground(new java.awt.Color(255, 255, 255));

        statusLabel.setText("<dummy>");
        statusLabel.setName("statusLabel"); // NOI18N

        versionLabel.setText("Version 0.0");

        veranstaltungenTab.setBackground(new java.awt.Color(255, 86, 106));
        veranstaltungenTab.setForeground(new java.awt.Color(255, 255, 255));

        bestellungenTabPane.setBackground(new java.awt.Color(255, 255, 255));
        veranstaltungenTab.addTab("Bestellungen", bestellungenTabPane);
        veranstaltungenTab.addTab("Kunden", kundenTabPane);
        veranstaltungenTab.addTab("Veranstaltungen", veranstaltungenTabPane);

        menuBar.setBackground(new java.awt.Color(255, 86, 106));

        fileMenu.setBackground(new java.awt.Color(255, 255, 255));
        fileMenu.setForeground(new java.awt.Color(255, 255, 255));
        fileMenu.setText("Datei");

        endMenuButton.setBackground(new java.awt.Color(255, 255, 255));
        endMenuButton.setText("Beenden");
        endMenuButton.setName("endMenuButton"); // NOI18N
        endMenuButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                endMenuButtonActionPerformed(evt);
            }
        });
        fileMenu.add(endMenuButton);
        endMenuButton.getAccessibleContext().setAccessibleName("");

        menuBar.add(fileMenu);

        setJMenuBar(menuBar);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jSeparator1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 840, Short.MAX_VALUE)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(statusLabel)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 716, Short.MAX_VALUE)
                .addComponent(versionLabel)
                .addContainerGap())
            .addComponent(veranstaltungenTab, javax.swing.GroupLayout.DEFAULT_SIZE, 840, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addComponent(veranstaltungenTab, javax.swing.GroupLayout.DEFAULT_SIZE, 519, Short.MAX_VALUE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(statusLabel)
                    .addComponent(versionLabel))
                .addContainerGap())
        );

        statusLabel.getAccessibleContext().setAccessibleName("");

        pack();
    }// </editor-fold>                        

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

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see [url=http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html]How to Set the Look and Feel (The Java™ Tutorials > Creating a GUI With JFC/Swing > Modifying the Look and Feel)[/url] 
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(mainFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(mainFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(mainFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(mainFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>
        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {

            public void run() {
                new mainFrame().setVisible(true);
            }
        });
    }
    // Variables declaration - do not modify                     
    private javax.swing.JTabbedPane bestellungenTabPane;
    private javax.swing.JMenuItem endMenuButton;
    private javax.swing.JMenu fileMenu;
    private javax.swing.JSeparator jSeparator1;
    private javax.swing.JTabbedPane kundenTabPane;
    private javax.swing.JMenuBar menuBar;
    private javax.swing.JLabel statusLabel;
    private javax.swing.JTabbedPane veranstaltungenTab;
    private javax.swing.JTabbedPane veranstaltungenTabPane;
    private javax.swing.JLabel versionLabel;
    // End of variables declaration                   
}
Der Fehler tritt in Zeile 23 auf.
 
Ich habs. Ich Dummkopf habe 3 JTabbedPane nebeneinander platziert, weil ich dachte, das würde so funktionieren. Naja, geht scheinbar auch anders. Jetzt ist es schön weiss und läuft. 🙂
 
Du brauchst glaub ich auch nur eine TabPane. Die ganzen Tabs die du zu deinem TabPane hinzufügst sind normalerweise JPanels.
 

Zurück
Oben