-1

i have used following code to make application but the card backgroung is not showing white although i have set it. can anybody tell what is missing?

package hospitalinfo;

import java.awt.CardLayout;
import javax.swing.ImageIcon;

public class PatientInfo extends javax.swing.JFrame {

/**
 * Creates new form PatientInfo
 */
public PatientInfo() {
    initComponents();
}

/**
 * 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">//GENBEGIN:initComponents
private void initComponents() {

    defaultUiPanel = new javax.swing.JPanel();
    addPatient = new javax.swing.JButton();
    addDoctor = new javax.swing.JButton();
    cardsPanel = new javax.swing.JPanel();
    patientCard = new javax.swing.JDesktopPane();
    crlabel = new javax.swing.JLabel();
    crvalue = new javax.swing.JLabel();
    jLabel1 = new javax.swing.JLabel();
    patientName = new javax.swing.JTextField();
    relationSpecifier = new javax.swing.JComboBox();
    relativeName = new javax.swing.JTextField();
    agelabel = new javax.swing.JLabel();
    doblabel = new javax.swing.JLabel();
    jDateChooser1 = new com.toedter.calendar.JDateChooser();
    doctorCard = new javax.swing.JDesktopPane();
    jLabel2 = new javax.swing.JLabel();

    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
    setTitle("Hospital Information System");
    setBackground(new java.awt.Color(255, 255, 255));
    setExtendedState(MAXIMIZED_BOTH);
    setIconImage(new ImageIcon(getClass().getResource("/resources/hospital-icon.png")).getImage());
    getContentPane().setLayout(new javax.swing.BoxLayout(getContentPane(), javax.swing.BoxLayout.X_AXIS));

    defaultUiPanel.setBackground(new java.awt.Color(87, 196, 243));
    defaultUiPanel.setPreferredSize(new java.awt.Dimension(400, 100));

    addPatient.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/user-icon.png"))); // NOI18N
    addPatient.setText("Add Patient");
    addPatient.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            addPatientActionPerformed(evt);
        }
    });

    addDoctor.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/People-Doctor-Male-icon.png"))); // NOI18N
    addDoctor.setText("Add Doctor");
    addDoctor.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            addDoctorActionPerformed(evt);
        }
    });

    javax.swing.GroupLayout defaultUiPanelLayout = new javax.swing.GroupLayout(defaultUiPanel);
    defaultUiPanel.setLayout(defaultUiPanelLayout);
    defaultUiPanelLayout.setHorizontalGroup(
        defaultUiPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(defaultUiPanelLayout.createSequentialGroup()
            .addContainerGap()
            .addGroup(defaultUiPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                .addComponent(addPatient, javax.swing.GroupLayout.DEFAULT_SIZE, 160, Short.MAX_VALUE)
                .addComponent(addDoctor, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
            .addContainerGap(214, Short.MAX_VALUE))
    );
    defaultUiPanelLayout.setVerticalGroup(
        defaultUiPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(defaultUiPanelLayout.createSequentialGroup()
            .addContainerGap()
            .addComponent(addPatient)
            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
            .addComponent(addDoctor)
            .addContainerGap(182, Short.MAX_VALUE))
    );

    getContentPane().add(defaultUiPanel);

    cardsPanel.setBackground(new java.awt.Color(255, 255, 255));
    cardsPanel.setLayout(new java.awt.CardLayout());

    patientCard.setBackground(new java.awt.Color(255, 255, 255));
    patientCard.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Patient", javax.swing.border.TitledBorder.CENTER, javax.swing.border.TitledBorder.TOP, new java.awt.Font("Times New Roman", 0, 24), java.awt.Color.black)); // NOI18N

    crlabel.setText("CR No");
    patientCard.add(crlabel);
    crlabel.setBounds(16, 41, 30, 14);

    crvalue.setText("fd");
    patientCard.add(crvalue);
    crvalue.setBounds(69, 41, 14, 14);

    jLabel1.setText("Name");
    patientCard.add(jLabel1);
    jLabel1.setBounds(16, 64, 27, 14);
    patientCard.add(patientName);
    patientName.setBounds(69, 61, 114, 20);

    relationSpecifier.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "S/o", "D/o", "W/o", "M/o", "F/o", "C/o" }));
    relationSpecifier.setSelectedIndex(1);
    patientCard.add(relationSpecifier);
    relationSpecifier.setBounds(16, 87, 35, 20);

    relativeName.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            relativeNameActionPerformed(evt);
        }
    });
    patientCard.add(relativeName);
    relativeName.setBounds(69, 87, 114, 20);

    agelabel.setText("Age");
    patientCard.add(agelabel);
    agelabel.setBounds(164, 119, 19, 14);

    doblabel.setText("D.O.B");
    patientCard.add(doblabel);
    doblabel.setBounds(16, 119, 29, 14);
    patientCard.add(jDateChooser1);
    jDateChooser1.setBounds(69, 113, 91, 20);

    cardsPanel.add(patientCard, "patientcard");

    doctorCard.setBackground(new java.awt.Color(255, 255, 255));
    doctorCard.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Doctor ", javax.swing.border.TitledBorder.CENTER, javax.swing.border.TitledBorder.TOP, new java.awt.Font("Times New Roman", 0, 24), new java.awt.Color(0, 0, 0))); // NOI18N

    jLabel2.setText("hello doctor");

    javax.swing.GroupLayout doctorCardLayout = new javax.swing.GroupLayout(doctorCard);
    doctorCard.setLayout(doctorCardLayout);
    doctorCardLayout.setHorizontalGroup(
        doctorCardLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(doctorCardLayout.createSequentialGroup()
            .addGap(29, 29, 29)
            .addComponent(jLabel2)
            .addContainerGap(31, Short.MAX_VALUE))
    );
    doctorCardLayout.setVerticalGroup(
        doctorCardLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(doctorCardLayout.createSequentialGroup()
            .addContainerGap()
            .addComponent(jLabel2)
            .addContainerGap(224, Short.MAX_VALUE))
    );
    doctorCard.setLayer(jLabel2, javax.swing.JLayeredPane.DEFAULT_LAYER);

    cardsPanel.add(doctorCard, "doctorcard");

    getContentPane().add(cardsPanel);

    pack();
}// </editor-fold>//GEN-END:initComponents

private void addPatientActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_addPatientActionPerformed
    // TODO add your handling code here:
    ((CardLayout)(cardsPanel.getLayout())).show(cardsPanel, "patientcard");
}//GEN-LAST:event_addPatientActionPerformed

private void addDoctorActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_addDoctorActionPerformed
    // TODO add your handling code here:
    ((CardLayout)(cardsPanel.getLayout())).show(cardsPanel, "doctorcard");

}//GEN-LAST:event_addDoctorActionPerformed

private void relativeNameActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_relativeNameActionPerformed
    // TODO add your handling code here:
}//GEN-LAST:event_relativeNameActionPerformed

/**
 * @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 http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
     */
    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(PatientInfo.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (InstantiationException ex) {
        java.util.logging.Logger.getLogger(PatientInfo.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (IllegalAccessException ex) {
        java.util.logging.Logger.getLogger(PatientInfo.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (javax.swing.UnsupportedLookAndFeelException ex) {
        java.util.logging.Logger.getLogger(PatientInfo.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    }
    //</editor-fold>

    /* Create and display the form */
    java.awt.EventQueue.invokeLater(new Runnable() {
        @Override
        public void run() {
            new PatientInfo().setVisible(true);
        }
    });
}

// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton addDoctor;
private javax.swing.JButton addPatient;
private javax.swing.JLabel agelabel;
private javax.swing.JPanel cardsPanel;
private javax.swing.JLabel crlabel;
private javax.swing.JLabel crvalue;
private javax.swing.JPanel defaultUiPanel;
private javax.swing.JLabel doblabel;
private javax.swing.JDesktopPane doctorCard;
private com.toedter.calendar.JDateChooser jDateChooser1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JDesktopPane patientCard;
private javax.swing.JTextField patientName;
private javax.swing.JComboBox relationSpecifier;
private javax.swing.JTextField relativeName;
// End of variables declaration//GEN-END:variables
}
Madhawa Priyashantha
  • 9,633
  • 7
  • 33
  • 60
  • *"can anybody tell what is missing?"* Upper case letters in your question text? An [MCVE](http://stackoverflow.com/help/mcve) (Minimal Complete Verifiable Example) or [SSCCE](http://www.sscce.org/) (Short, Self Contained, Correct Example)? – Andrew Thompson Jun 02 '15 at 03:30
  • I faced the same issue as well, and I sorted that by setting up the background with a white Image, but you can try with following property- bodyStyle : 'background-color:white' if that works for you. – Chetan Verma Jun 02 '15 at 03:30

1 Answers1

0

You're using .setBackground on a JDekstopPane which will not work. In your situation I think patientCard and doctorCard default panel color is overlapping the cardsPanel so you won't see the white background of the cardsPanel.

You can see the answer here if you want to know how to change the background color of a JDesktopPane.

Community
  • 1
  • 1
James S
  • 308
  • 1
  • 7