Eingabemaske Komponenten aktivieren, funktionert nicht (sehr kurios)

badboy81

Neues Mitglied
Hallo,
ich habe ein etwas verwirrendes Problem und weiss nicht weiter. Ich habe auch die Suche im Forum in anspruch genommen jedoch ohne Erfolg.
Das Problem ist eingentlich sehr banal. Ich habe eine Eingabemaske mit diversen Eingabefeldern. Es soll möglich sein zu jeder Person ein Bild hochladen zukönnen. Dies soll aber erst dann möglich sein nach dem der User angelegt worden ist.
Mein Problem jedoch ist das nach dem Anlegen eines Users mein Button und mein jeweiliger Text nicht angezeigt wird.
Funktionieren tut alles wenn ich in dem Table einen anderen Eintrag wähle.
Ich bin mit dem Debugger einzeln jede Zeile durch gegangen und konnte keinen Fehler entdecken.
Bekomme auch auf der Konsole keine Fehlermeldungen.
Komischerweise funktioniert der gleiche Code im Programm wo anders überall, fehlerfrei.

Das ist die ValueChanged Methode die aufgerufen wird wenn man im Table einen Eintrag anklickt.

Java:
	@Override
	public void valueChanged(ListSelectionEvent e)
	{
		super.valueChanged(e);
		
		if(table.getSelectedRow() > -1)
		{
			System.out.println("Welche zeileeeee" + table.getSelectedRow());
			persondetails = model.getRow(table.convertRowIndexToModel(((DefaultListSelectionModel)e.getSource()).getMinSelectionIndex()));
			tempId = persondetails.getPerson().getPersonid();

			enablebuttonDetails(true);
			updatePanel();
//			enableLogo(panelLogo);

			System.out.println("BTN DETAILS   _: : : _ " + btnDetails.isEnabled());
		}
		else
			enablebuttonDetails(false);		
	}


Die Methode um den Button zu aktivieren.
Java:
	public void enablebuttonDetails(boolean isEnabled)
	{
//		btnDetails.setEnabled(isEnabled);
		
		if(persondetails != null)
		{
			if(BasicLoginService.RIGHTS2.getOrgunitGrant(29, BasicLoginService.ORGUNIT_ID) > Right.NONE)
			{
//				btnDetails.setVisible(true);
				if(persondetails != null && persondetails.getPerson().getPersonid() > 0)
					btnDetails.setEnabled(isEnabled);
				else
					btnDetails.setEnabled(false);
			}
			else
				btnDetails.setEnabled(false);
		}
	}

Methode zum aktivieren des Logos/Bildes bzw. des TExtes.

Java:
	private JPanel enableLogo(JPanel panel)
	{
		if(tempId !=0)
		{
			if(BasicProperties.getShowLogo() && BasicProperties.SERVICE.downloadBalPersonPicturebyPersonid(tempId) != null)
			{
				picComp.setImage(BasicProperties.SERVICE.downloadBalPersonPicturebyPersonid(persondetails.getPerson().getPersonid()));
				picComp.repaint();
				panel.add(picComp ,"1,0,1,2");
				picComp.setVisible(true);
				btnDetails.setEnabled(true);
				tempId = 0;
			}
			else
			{
				picComp.removeImage();
				panel.add(picComp ,"1,0,1,2");
				picComp.repaint();
				picComp.setVisible(true);
				btnDetails.setEnabled(true);
				tempId = 0;
			}
		}
		else
		{
			if(tempChange)
			{
				picComp.removeImage();
				picComp.repaint();
				panel.add(picComp ,"1,0,1,2");
				picComp.setVisible(true);
				btnDetails.setEnabled(true);
				tempId = 0;
			}
			else
			{
				picComp.setVisible(false);
				btnDetails.setEnabled(false);
			}
			
		}
//		enablebuttonDetails(false);
		return panel;
	}

Hoffe es kann mir jemand helfen !????:L


hier noch mal ein Screenshot:

hilfescreenshot.th.jpg
[/URL][/IMG]
 

fastjack

Top Contributor
Also enableLogo ist momentan auskommentiert. Vielleicht arbeitet updatePanel() nicht richtig. Probier doch mal nen repaint auf den Button, wenn der enabled wird.
 

badboy81

Neues Mitglied
Achsoo ja. Habe vergessen die Methode updatePanel zu posten. In updatePanel rufe ich die Methode enablePanel stumpf auf.

Java:
	public void updatePanel()
	{
		panelLogo = enableLogo(panelLogo);
	}

Das mit dem repaint auf dem Button hat nicht funktioniert. Habs wie im code zusehen ist gemacht.

Java:
public void enablebuttonDetails(boolean isEnabled)
	{
		btnDetails.setEnabled(isEnabled);
		btnDetails.repaint();
		
		if(persondetails != null)
		{
			if(BasicLoginService.RIGHTS2.getOrgunitGrant(29, BasicLoginService.ORGUNIT_ID) > Right.NONE)
			{
//				btnDetails.setVisible(true);
				if(persondetails != null && persondetails.getPerson().getPersonid() > 0)
				{
					btnDetails.setEnabled(isEnabled);
					btnDetails.repaint();
				}
				else
				{
					btnDetails.setEnabled(false);
					btnDetails.repaint();
				}
			}
			else
			{
				btnDetails.setEnabled(false);
				btnDetails.repaint();
			}
		}
	}

Habe einpaar Kontrollausgaben eingebaut und die geben mir jedesmal die richtigen Infos, von wegen in welcher Zeile ich im "Table" bin und ob der Button auf "true" oder "false" gesetzt ist.
Verstehe ich nicht.???:L

Wie gesagt jedesmal wenn ich User speicher werden die Komponenten nicht eingeblendet bzw. aktiviert. Erst nach dem ich in der Table auf einen Eintrag klicke werden sie eingeblendet.
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
perlenfischer1984 Mehrere Komponenten erstellen Allgemeine Java-Themen 3
M Monitoring JMX-Komponenten Allgemeine Java-Themen 0
Fab1 Komponenten eines zweiten Java Programms auslesen Allgemeine Java-Themen 8
P Komponenten kommunikation Allgemeine Java-Themen 7
S Applet nicht signierte Komponenten feststellen Allgemeine Java-Themen 6
J Java Komponenten / Framework Allgemeine Java-Themen 5
N Gridbaglayout - Abstände zwischen Komponenten einstellen Allgemeine Java-Themen 2
C Komponenten einer WebSeite Allgemeine Java-Themen 4
T JXPanel mit seinen Komponenten auf PDF mit iText ausgeben Allgemeine Java-Themen 15
J Modul/Komponenten/Addon-Programmierung Allgemeine Java-Themen 3
sliwalker Designfrage: Dateninhalte in Komponenten variabel halten Allgemeine Java-Themen 4
G SWT Komponenten ausdrucken ? Allgemeine Java-Themen 3
MQue Komponenten einem JPanel hinzufügen Allgemeine Java-Themen 9
MQue Fokus von Komponenten/JFrame Allgemeine Java-Themen 3
Z variabel Komponenten erstellen oder Compie Allgemeine Java-Themen 4
A Komponenten binär in Datei schreiben Allgemeine Java-Themen 11
G Panel mit vielen Komponenten verbraucht viel Speicher Allgemeine Java-Themen 3
R Umstieg von Delphi (Komponenten) Allgemeine Java-Themen 4
S Swing - Problem mit Fenster-/Komponenten-Größe Allgemeine Java-Themen 3
B Grafische Oberfläche - Welche Komponenten? Allgemeine Java-Themen 5
M JVM: Client Software Logging und Profiling aktivieren Allgemeine Java-Themen 1
F Webstart zwei Java Versionen / aktivieren bzw deaktivieren Allgemeine Java-Themen 2
M Java Versionen über Skript aktivieren/deaktivieren? Allgemeine Java-Themen 2
N externe Anwendung aktivieren (nicht starten!) Allgemeine Java-Themen 3
W Fenster (EXCEL) aktivieren Allgemeine Java-Themen 6

Ähnliche Java Themen

Neue Themen


Oben