Entfernen von Textfeldern

Status
Nicht offen für weitere Antworten.

ru49

Mitglied
Ich habe eine Panel programmiert, dass auf Knopfdruck eine neues Panel erzeugt und hinzufügt oder löscht!
Das Hinzufügen klappt wunderbar, aber beim Löschen wird das letzte MitgliederPanel zwar gelöscht, aber man sieht die Textfelder weiter, nur halb hinter dem ersten versteckt, obwahl ich alles neuzeichnen lasse.
Wie kann ich dies beheben?
Hier ist meine Methode actionPerformed:
abfrage ist ein JPanel. MitgliederPanel beschreibt ein vorgefertigtes Jpanel.
Code:
public void actionPerformed(ActionEvent e){
		if(e.getSource()==addYear){
			MitgliederPanel a=new MitgliederPanel(numAlters);
			abfrage.add(a);
			numData++;
			revalidate();
		}
		if(e.getSource()==delYear){
			if(abfrage.getComponentCount()>1){
				abfrage.remove(abfrage.getComponentCount()-1);
				numData=Math.max(1,numData-1);
				revalidate();
			}
		}
	}
[/code]
 

ru49

Mitglied
Ich will was dynmisches haben! Ich will Mitgliederzahlen von Altersgruppen eines Sportvereins über mehrere Jahre!
Ich will dem Benutzer aber offen lassen, wie viel Jahre er eingeben will Deshalb ist bei Start des Programmes erst mal eine Altersgruppe vorhanden!
Es gibt aber zwei Button "Jahr hinzufügen" und "Jahr löschen" an dem Button ist ein ActionListener. Ich will also in dem JPanel bleiben nur es sollen ein paar Komponenten hinzugefügt oder entfernt werden.
Hier mal der komplette Code:

Code:
public class AbfragePanel2 extends JPanel implements ActionListener{
//	Button um ein Jahr hinzu zu fügen
	JButton addYear;
	//Button um ein Jahr zu löschen
	JButton delYear;
	//Panel, welches die Button enthält
	JPanel buttonPanel;
	//Panel, welches die GrenzPanel enthält
	JPanel abfrage;
	JScrollPane scroll;
	int numData=2;
	int numAlters;
	public AbfragePanel2(int numAlters){
		this.numAlters=numAlters;
		//Setzen des Layoutmanagers
		setLayout(new BorderLayout());
		//Initialisieren von buttonPanel
		buttonPanel=new JPanel();
		buttonPanel.setLayout(new FlowLayout());
		//Initialisieren und Setzen der Button
		addYear=new JButton("Jahr hinzufügen");
		addYear.addActionListener(this);
		buttonPanel.add(addYear);
		delYear=new JButton("Jahr löschen");
		delYear.addActionListener(this);
		buttonPanel.add(BorderLayout.NORTH,delYear);
		//hinzufügen von buttonPanel in den oberen Teil des AbfragePanels
		add(BorderLayout.NORTH,buttonPanel);
		//Initialisieren von abfrage
		abfrage=new JPanel();
		abfrage.setLayout(new FlowLayout());
		//hinzufügen des ersten MitgliederPanels
		abfrage.add(new MitgliederPanel(numAlters));
		//Initialisieren und hinzufügen von scroll
		scroll =new JScrollPane(abfrage);
		scroll.createHorizontalScrollBar();
		add(BorderLayout.CENTER,scroll);
	}
	//Methode, die bestimmt, was gemacht wird, wenn ich einen Button drücke 
	public void actionPerformed(ActionEvent e){
		//Wenn der Knopf addAlters gedrückt wurde, füge ich ein neues GrenzPanel hinzu
		if(e.getSource()==addYear){
			MitgliederPanel a=new MitgliederPanel(numAlters);
			abfrage.add(a);
			numData++;
			revalidate();
		}
		//Wenn der Knopf delAlters gedrückt wurde, lösch das letzte GrenzPanel
		//Das erste GrenzPanel darf nicht gelöscht werden,
		//da es mindestens eine Altersgruppe geben muss
		if(e.getSource()==delYear){
			if(abfrage.getComponentCount()>1){
				abfrage.remove(abfrage.getComponentCount()-1);
				System.out.println(abfrage.getComponentCount());
				numData=Math.max(1,numData-1);
				revalidate();
			}
		}
	}
	
	public static void main(String[] args){
		JFrame frame = new JFrame("Golftool");
		AbfragePanel2 panel = new AbfragePanel2(3);
		
		
		frame.setForeground(Color.black);
		frame.setBackground(Color.lightGray);
		frame.addWindowListener(new WindowCloser());
		frame.getContentPane().add(panel,"Center");
		frame.setSize(500,500);
		frame.show();
		}
}
public class MitgliederPanel extends JPanel{
	//Array von Textfeldern,
	//mit denen ich für jede Altersgruppe die Mitgliederzahlen für ein Jahr einlese
	JTextField[]alters;
	//Text feld zum Einlesen des Jahres
	JTextField jahr;
	
	public MitgliederPanel(int numAlters){
		//Setzen des Layoutmangers
		GridLayout layout=new GridLayout(0,1);
		setLayout(layout);
		//Initialisieren und Hinzufügen von jahr 
		jahr=new JTextField("",4);
		add(jahr);
		//Label als Abstandshalter
		add(new JLabel(""));
		//Initialisieren und Hinzufügen von alters
		alters=new JTextField[numAlters];
		for(int i=0;i<numAlters;i++){
			alters[i]=new JTextField("",5);
			add(alters[i]);
		}
	}
}
[/code]
 

ru49

Mitglied
Das Problem ist beim Löschen des Jahres
Die Komponente ist zwar nicht mehr da, aber sie ist optisch nicht ganz verschwunden. Optisch ist sie nur verschoben. Sie schiebt sich halb hinter der Komponente, die links von ihr ist!
Ich hab keine Ahnung voran das liegt!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Rxiiz Objekt aus ComboBox entfernen Java Basics - Anfänger-Themen 4
L Buchstaben entfernen zipZap Java Basics - Anfänger-Themen 8
padde479 Zeile entfernen TableModel Java Basics - Anfänger-Themen 11
M Queue-Datenstruktur: nach dem Elementen entfernen, das Ergebnis ist immer noch nicht optimal. Java Basics - Anfänger-Themen 3
E Elemente aus Liste entfernen und hinzufügen Java Basics - Anfänger-Themen 3
B Objekt aus generalisierter Liste entfernen Java Basics - Anfänger-Themen 11
G Bei dynamischer Arrayliste nach jeder Auswahl Zahl entfernen Java Basics - Anfänger-Themen 3
A JTextArea entfernen und durch neuen Text ersetzen Java Basics - Anfänger-Themen 8
Lion.King Dupklikationen entfernen Java Basics - Anfänger-Themen 4
HolyFUT Input/Output Leerzeichen aus String entfernen - klappt nicht! Java Basics - Anfänger-Themen 13
bluetrix Hash Set hälfte entfernen Java Basics - Anfänger-Themen 7
S Variablen Letzte Zeile eines Strings entfernen Java Basics - Anfänger-Themen 1
A Jedes zweite Element eines Arrays entfernen Java Basics - Anfänger-Themen 30
T Leerzeichen im String entfernen Java Basics - Anfänger-Themen 6
EchtKeineAhnungManchmal Controller aus FXML Datei entfernen Java Basics - Anfänger-Themen 49
Bademeister007 Elemente aus zwei verschiedenen Arrays miteinander vergleichen und gegeben falls entfernen Java Basics - Anfänger-Themen 14
R Mehrere Buchstaben aus einem String entfernen Java Basics - Anfänger-Themen 1
Y Knoten an einem gegebenen Index aus einer Liste entfernen. Java Basics - Anfänger-Themen 6
J String aus einem Array entfernen Java Basics - Anfänger-Themen 10
X Erste Schritte String: Alle doppelten Leerzeilen entfernen Java Basics - Anfänger-Themen 21
M Untersuchen ob ein Graph nach entfernen einer Kante immer noch zusammenhängend ist Java Basics - Anfänger-Themen 70
J erstes Vorkommen eines Chars aus einem String entfernen Java Basics - Anfänger-Themen 3
J erstes Vorkommen eines chars entfernen Java Basics - Anfänger-Themen 1
E Nullen aus Nachkommastellen entfernen Java Basics - Anfänger-Themen 2
L Jede zweite Ziffer entfernen (rekursiv) Java Basics - Anfänger-Themen 6
D JList ListSelectionEvent entfernen? Java Basics - Anfänger-Themen 13
O Methode um Vokale zu entfernen UNSCHOEN! Java Basics - Anfänger-Themen 8
S spezielle Wörter aus Liste entfernen Java Basics - Anfänger-Themen 2
G Teil(e) eines Strings entfernen wenn spezifische Zeichen (< & >) vorkommen Java Basics - Anfänger-Themen 5
F Problem beim entfernen von mehreren Listenelementen auf einmal (Programmierung des Spiels Arschloch) Java Basics - Anfänger-Themen 1
Dimax Leerzeilen aus einem String entfernen Java Basics - Anfänger-Themen 61
ReinerCoder Vererbung von JFrame in einer Klasse entfernen Java Basics - Anfänger-Themen 5
C Zeichen im String bis zu bestimmter Stelle entfernen Java Basics - Anfänger-Themen 6
C Entfernen des ersten String-Elements Java Basics - Anfänger-Themen 6
T Klassen Doppelte Elemente aus Container entfernen Java Basics - Anfänger-Themen 6
R Buchstabe aus String entfernen Java Basics - Anfänger-Themen 13
D Leerzeichen entfernen Java Basics - Anfänger-Themen 4
J Objekt aus Liste entfernen Java Basics - Anfänger-Themen 20
A Folgende Nullen einer Kommazahl aus String entfernen Java Basics - Anfänger-Themen 3
H Gerade Zahlen aus Array entfernen Java Basics - Anfänger-Themen 8
S Zeile entfernen aus JTable Java Basics - Anfänger-Themen 15
H Erste Schritte String Vokale entfernen Java Basics - Anfänger-Themen 11
D Java doppelte Zahlen auch über 10 in einem String entfernen Java Basics - Anfänger-Themen 2
D Java doppelte Zahl/Zeichen in einem String entfernen Java Basics - Anfänger-Themen 6
A altes JPanel entfernen und neues öffnen Java Basics - Anfänger-Themen 5
O JTextPane / JtextArea Zeilenabstand entfernen Java Basics - Anfänger-Themen 1
P Java Leerzeichen in der Ausgabe entfernen Java Basics - Anfänger-Themen 3
I in listFiles() oder JList Dateiendungen entfernen Java Basics - Anfänger-Themen 14
S Leerzeichen zwischen zwei Zeichen im String entfernen Java Basics - Anfänger-Themen 19
N Probleme beim entfernen eines JPanels Java Basics - Anfänger-Themen 4
S Logging Code komplett von Compiler entfernen lassen..? Java Basics - Anfänger-Themen 5
B Doppelte Werte aus Array entfernen ohne Import - Algorithmus Java Basics - Anfänger-Themen 5
R Best Practice Elemente aus ArrayList entfernen (performant) Java Basics - Anfänger-Themen 6
J Alle Leerzeichen aus String entfernen Java Basics - Anfänger-Themen 13
C Doppelte Einträge aus String [] Array entfernen. Java Basics - Anfänger-Themen 5
S String aus String entfernen Java Basics - Anfänger-Themen 2
Q Kommastellen hinter double wert entfernen Java Basics - Anfänger-Themen 5
B Wie kann man auf das JFrame einer anderen Klasse zugreifen, etwas hinzufügen und entfernen?? Java Basics - Anfänger-Themen 3
M bestimmten Teil eines Strings entfernen Java Basics - Anfänger-Themen 4
G Multiple Leerzeichen entfernen Java Basics - Anfänger-Themen 13
H Redundante Elemente aus ArrayList entfernen Java Basics - Anfänger-Themen 3
S Umlaute aus Dateisystem entfernen Java Basics - Anfänger-Themen 5
L 0 nach Komma entfernen Java Basics - Anfänger-Themen 9
S NumberFormat Tausender Zeichen entfernen? Java Basics - Anfänger-Themen 4
A ; entfernen Java Basics - Anfänger-Themen 3
R Vokale aus String entfernen Java Basics - Anfänger-Themen 11
A Elemente aus Liste entfernen Java Basics - Anfänger-Themen 5
G Long oder int Vorzeichen entfernen Java Basics - Anfänger-Themen 3
J Duplikate aus Liste entfernen Java Basics - Anfänger-Themen 16
A Threads Zur Laufzeit hinzufügen/entfernen Java Basics - Anfänger-Themen 10
C Variablen array element hinzufügen/entfernen Java Basics - Anfänger-Themen 10
S Collections Aus Set<Object> bestimmte Typen entfernen Java Basics - Anfänger-Themen 3
E JButton Hintergrund / Rahmen entfernen? Java Basics - Anfänger-Themen 4
H Eintrag aus ArrayList entfernen Java Basics - Anfänger-Themen 7
H Listener und Events entfernen Java Basics - Anfänger-Themen 2
S Entfernen aus einer Liste Java Basics - Anfänger-Themen 2
M zeichen aus string entfernen Java Basics - Anfänger-Themen 2
B Element aus Array entfernen Java Basics - Anfänger-Themen 13
M Anführungszeichen entfernen Java Basics - Anfänger-Themen 9
T Elemente aus einem ArrayList entfernen Java Basics - Anfänger-Themen 12
C leerstellen entfernen Java Basics - Anfänger-Themen 12
J Menüleiste Kaffe-Icon entfernen wie? Java Basics - Anfänger-Themen 8
K OOP Aus Collection Objekte bestimmter Subklassen entfernen Java Basics - Anfänger-Themen 7
Benji0815 HTML <div> Tags entfernen Java Basics - Anfänger-Themen 6
TheKing Programm-Icon entfernen Java Basics - Anfänger-Themen 3
N Panel entfernen Java Basics - Anfänger-Themen 2
Povlsen84 String - Zeichen am Anfang entfernen Java Basics - Anfänger-Themen 11
R Zeichnung entfernen und neue Zeichnen lassen Java Basics - Anfänger-Themen 20
J Stapel oberstes Element entfernen Java Basics - Anfänger-Themen 5
T HTML Kommentare mit regulären Ausdrücken entfernen Java Basics - Anfänger-Themen 4
S Regulärer Ausdruck - alles was keine Zahl ist entfernen Java Basics - Anfänger-Themen 2
C Abhängigkeiten zwischen Projekten entfernen Java Basics - Anfänger-Themen 6
M Array List Objekt Entfernen Java Basics - Anfänger-Themen 15
F Umlaute eines Strings entfernen (Verwendung von this?) Java Basics - Anfänger-Themen 2
-horn- Doppelte Einträge entfernen, aus Array, List oder sonstwas Java Basics - Anfänger-Themen 9
J Doppelte Integer aus einem Array entfernen - seltsames Prob. Java Basics - Anfänger-Themen 5
B Dopplete aus Vector entfernen Java Basics - Anfänger-Themen 8
G HTML Zeichen aus String entfernen? Java Basics - Anfänger-Themen 5
R aus Text Kommentare entfernen Java Basics - Anfänger-Themen 12
G Zyklen entfernen Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben