sichtbarkeiten bei jcombobox

nieselfriem

Bekanntes Mitglied
Hallo!

Ich habe eine JComboBox die erst sichtbar wird, wenn jCheckbox aktiv wird. Dazu ist folgendes getan worden

im Kontruktor:
Java:
jAnsprechDlgCbBx.setVisible(false);

bei Auswahl der entsürechenden Checkbox:
Java:
 private void jEditVVAnsprechpChsActionPerformed(java.awt.event.ActionEvent evt) {                                                    
        // TODO add your handling code here:
        if (jEditVVAnsprechpChs.isSelected()) {
            jAnsprechDlgCbBx.setVisible(true);
            ansprPCbBxLBL.setVisible(true);


        } else {
            jAnsprechDlgCbBx.setVisible(false);
            ansprPCbBxLBL.setVisible(false);
            //muss noch für Anprechparnter geändert werden
            this.ansprpId = ansprIdtmp;
        }
    }

Nun möchte ich jedoch das diese JCombobox auch in Abhängigkeit einer Aktivität einer anderen JCombobox (jAgDlgSchnCbBx) sichtbar wird. Dazu habe ich folgendes probiert:
Java:
    private void jAgDlgSchnCbBxActionPerformed(java.awt.event.ActionEvent evt) {                                               
        // TODO add your handling code here:
        jAnsprechDlgCbBx.setVisible(true);
        AGSchnDlg item = null;
        try {
            System.out.println("geSelecetd123" + jAgDlgSchnCbBx.getSelectedItem().getClass());
            item = (AGSchnDlg) jAgDlgSchnCbBx.getSelectedItem();//

            System.out.println(item.getId() + " : " + item.toString());
            if (item.getId() != 0) {
                agId = item.getId();
            }
        } catch (java.lang.ClassCastException cl) {
            cl.printStackTrace();
        }
    }

Wenn ich dieses jedoch mache, ist ddie JComboBox sofort sichtbar und nicht erst bei Auswahl der JComboBox jAgDlgSchnCbBx.

Was läuft da falsch?

Gruß niesel
 
Kann es sein dass du von Brain**** umgestiegen bist? Oder hast du deinen Source vor dem Posten erstmal durch einen Obfuscator gejagt? Sorry, gegen Konventionen verstoßen ist das eine, aber was du da machst ist ja mutwillige Zerstörung von Source Code. Ändere doch bitte die Namen zu irgendwas aussagekräfitgem, das man auch versteht ohne entsprechende Zuordnungstabelle neben der Tastatur..
 
Kann es sein dass du von Brain**** umgestiegen bist? Oder hast du deinen Source vor dem Posten erstmal durch einen Obfuscator gejagt? Sorry, gegen Konventionen verstoßen ist das eine, aber was du da machst ist ja mutwillige Zerstörung von Source Code. Ändere doch bitte die Namen zu irgendwas aussagekräfitgem, das man auch versteht ohne entsprechende Zuordnungstabelle neben der Tastatur..

ICh verstehe die Abkürzungen der Namen meiner Variablen. Diese sind nicht ohne Grund so und wurden aus der Tatsache ihrer Funktion her so abgeleitet und nicht weil ich es schön finde sie so zu benennen.

Danke! 😉
 
Mag sein, dass DU sie verstehst. Aber WIR sollen dir jetzt helfen. Und die Lust dazu ist nicht sehr groß bei deinem Code.. Du kannst die Funktion der Widgets auch in deren Namen implizieren ohne jedes Teilwort mit nur einem Buchstaben abzukürzen. Lieber ein etwas längerer Name als einer, von dem kein Mensch sich vorstellen kann was er bedeuten soll. Im Übrigen stellt sich die Frage, bis zu welchem Grad der Komplexität du selbst überhaupt noch was mit den Namen anfangen kannst, bevor du anfängst alles zu verwechseln.
 
OK, das Argument kann ich verstehen. Demnach werde ich in Zukunft die Vaiablen für das Forum etwas umschreiben, so dass sie verständlicher sind.

Nun habe ich folgendes mal ausprobiert:

Java:
    private void jArbeitgeberDialogSchnellComboBoxItemStateChanged(java.awt.event.ItemEvent evt) {                                                
        // TODO add your handling code here:
        if (evt.getStateChange() == java.awt.event.ItemEvent.SELECTED) {
            jAnsprechpartnerDialogComboBox.setVisible(true);
          
        }else {
             jAnsprechpartnerDialogComboBox.setVisible(false);
        }
    }

Jedoch mit dem gleichen Problem. Die jAnsprechpartnerDialogComboBoxist sofort bei sichtbarwerden des Dialogs sichtbar und nicht erst wenn ich ein Element aus der jArbeitgeberDialogSchnellComboBox gewählt habe.

Gruß
 
Zuletzt bearbeitet:
versuch mal auf
Java:
evt.getItem()!=null
zu prüfen und dann halt dein setVisible(true|false)
 
keine Ahnung, was du da machst...ohne Code wirst du höchstwahrscheinlich keine Lösung dafür finden.

hier mal ein kleines Bsp wie eine JCombobox nach Auswahl einer anderen sichtbar wird...
KSKB macht vieles leichter...

Java:
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;

import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class MyFrame extends JFrame {
	String[] petStrings = { "", "Bird", "Cat", "Dog", "Rabbit", "Pig" };
	JComboBox jb1 = new JComboBox(petStrings);
	JComboBox jb2 = new JComboBox(petStrings);

	public MyFrame() {
		setSize(500, 300);
		setLocationRelativeTo(null);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setLayout(new GridLayout(1, 2));
		JPanel p1 = new JPanel();
		p1.add(jb1);
		p1.setBackground(Color.red);
		final JPanel p2 = new JPanel();
		p2.add(jb2);
		jb2.setVisible(false);
		p2.setBackground(Color.black);
		add(p1);
		add(p2);
		jb1.addItemListener(new ItemListener() {

			@Override
			public void itemStateChanged(ItemEvent e) {
				jb2.setVisible(true);
			}
		});
		setVisible(true);
	}

	public static void main(String[] args) {
		new MyFrame();

	}

}
 

Neue Themen


Zurück
Oben