Swing Componenten ersetzen

Status
Nicht offen für weitere Antworten.

lumo

Top Contributor
hallo,

habe ein panel das dynamisch mit labeln gefüllt wird,
nun soll der inhalt über eine funktion gesteuert werden,
die funktion generiert eine liste an labeln die dann auf das panel gelegt werden.
da ich in letzter zeit nicht viel mit swing gemacht habe (RPC mit SWT und jetzt eben ein applet mit swing)
in swt würde ich das mit dispose() & isdisposed machen...
in swing hab ichs so versucht (hier ein kleines beispielprogramm...)

Java:
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class Frame {

	private JFrame frame;
	JLabel label1;
	JLabel label2;
	JLabel label3;
	JPanel panel;

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					Frame window = new Frame();
					window.frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the application.
	 */
	public Frame() {
		initialize();
	}

	/**
	 * Initialize the contents of the frame.
	 */
	private void initialize() {
		frame = new JFrame();
		frame.setBounds(100, 100, 450, 300);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.getContentPane().setLayout(new BorderLayout(0, 0));
		{
			panel = new JPanel();
			panel.setBackground(new Color(255, 0, 0));
			panel.setLayout(new BorderLayout(0, 0));
			frame.getContentPane().add(panel, BorderLayout.CENTER);
			{
				label1 = new JLabel("1");
				panel.add(label1, BorderLayout.NORTH);
			}
			{
				label2 = new JLabel("2");
				panel.add(label2, BorderLayout.CENTER);
			}
			{
				label3 = new JLabel("3");
				panel.add(label3, BorderLayout.SOUTH);
			}

		}
		{
			JButton button = new JButton("New button");
			button.addActionListener(new ActionListener() {
				public void actionPerformed(ActionEvent arg0) {
					frame.getContentPane().remove(panel);
					panel = new JPanel();
					panel.setBackground(new Color(0, 255, 0));
					frame.getContentPane().add(panel);
					panel.setLayout(new BorderLayout(0, 0));
					{
						label1 = new JLabel("4");
						panel.add(label1, BorderLayout.NORTH);
					}
					{
						label2 = new JLabel("5");
						panel.add(label2, BorderLayout.CENTER);
					}
					{
						label3 = new JLabel("6");
						panel.add(label3, BorderLayout.SOUTH);
					}
					frame.getContentPane().add(panel, BorderLayout.CENTER);
					frame.repaint();
					panel.repaint();
				}
			});
			frame.getContentPane().add(button, BorderLayout.NORTH);
		}
	}
}

im button click wird das gemacht, was später in meiner resizePanel() function drin ist.
also wird 'einfach' der alte panel entfernt und ein neuer auf die alte variable gelegt
 
G

Gast2

Gast
1.frame.getContentPane(). brauchst du seit java5 nicht mehr...
reicht auch einfach frame.add()...
2.die ganzen repaint sind auch unnötig einfach in deiner actionsPerformed am Ende
Java:
                    panel.revalidate();
                    frame.add(panel, BorderLayout.CENTER);

3. ich seh kein dynamisches befüllen ;)
 

lumo

Top Contributor
habs grade gefunden:
Java:
frame.validate();

@SirWayne
ad 1) gut, das wusste ich noch nicht
ad 2) dachte eigentlich dass das repaint mir das update macht, darum waren die drin ;)
ad 3) da ist auch nix dynamisches, da es ein BEISPIEL ist, mein code wäre zu viel um ihn hier zu posten...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Swing Componenten werden nach Änderung des display modes verzerrt dargestellt AWT, Swing, JavaFX & SWT 8
kaoZ Frage zum einfügen von Componenten AWT, Swing, JavaFX & SWT 14
L Componenten im JFrame an genaue stelle verschieben. AWT, Swing, JavaFX & SWT 2
V Swing Componenten Array AWT, Swing, JavaFX & SWT 3
B Swing JMenu zwischen anderen Componenten AWT, Swing, JavaFX & SWT 4
J Swing Componenten übereinander platzieren. AWT, Swing, JavaFX & SWT 17
M SWT SWT Componenten auf GLCanvas zeichnen AWT, Swing, JavaFX & SWT 3
earlgrey_tea GridBagLayout Componenten proportional vergößern AWT, Swing, JavaFX & SWT 12
L LayoutManager Componenten über verfügbaren Platz strecken AWT, Swing, JavaFX & SWT 7
L Swing Serverbrowser, aber welche componenten? AWT, Swing, JavaFX & SWT 2
H Mit for-schleife die Componenten eines Frames verändern AWT, Swing, JavaFX & SWT 5
H SWT Breite von componenten zu bestimmen AWT, Swing, JavaFX & SWT 2
T JFrame Componenten Problem AWT, Swing, JavaFX & SWT 17
T Swing JSplitPane Componenten ausrichten AWT, Swing, JavaFX & SWT 4
L Swing Kommunikation zwischen JMenuBar und anderen Componenten AWT, Swing, JavaFX & SWT 2
E Im Frame alle Componenten abrufen AWT, Swing, JavaFX & SWT 2
R Wie kann ich programmatisch Clicks auf Componenten ausfuehren? AWT, Swing, JavaFX & SWT 26
S Standpunkt von Componenten frei bestimmen AWT, Swing, JavaFX & SWT 10
R Thumbpanel bzw. Layout das Componenten in einem Grid anordnet ..? AWT, Swing, JavaFX & SWT 13
D verschieden große Componenten in einem JPanel? AWT, Swing, JavaFX & SWT 2
A Swing: Componenten in einem deaktivierten JPanel AWT, Swing, JavaFX & SWT 2
R HTML Hintergrund für Swing - Componenten AWT, Swing, JavaFX & SWT 2
G Suche 2 Componenten: Splitpane ausblenden / Stecknadel AWT, Swing, JavaFX & SWT 2
G SystemTray BubbleInfo an anderen Componenten anzeigen AWT, Swing, JavaFX & SWT 6
J durchsichtige componenten AWT, Swing, JavaFX & SWT 3
S Componenten werden nicht angezeigt AWT, Swing, JavaFX & SWT 3
R Componenten eines JFrames updaten AWT, Swing, JavaFX & SWT 11
thE_29 TableRenderer und JPanel => Abfrage auf Componenten Posit AWT, Swing, JavaFX & SWT 2
S Mehere Componenten setEnabled(false) in JToolBar AWT, Swing, JavaFX & SWT 4
M componenten im jframe erst nach fensterveränderung sichtbar AWT, Swing, JavaFX & SWT 2
S verhindern von drag-n-drop von swing componenten AWT, Swing, JavaFX & SWT 2
T Objektorientierung bei Componenten häh? AWT, Swing, JavaFX & SWT 5
D Componenten Problem - aktualisieren nach hinzufügen AWT, Swing, JavaFX & SWT 2
V JTable mit mehreren Componenten in einer Spalte ? AWT, Swing, JavaFX & SWT 6
T VerifyListener - Ersetzen einer 0 AWT, Swing, JavaFX & SWT 5
I AWT java.awt.FileDialog - "coffee cup"-Icon lässt sich nicht ersetzen AWT, Swing, JavaFX & SWT 14
Monokuma 2D-Grafik Imageimport durch eine gezeichnete Form ersetzen AWT, Swing, JavaFX & SWT 16
K JTable komplett durch andere ersetzen AWT, Swing, JavaFX & SWT 4
M AWT Farben in Bild ersetzen AWT, Swing, JavaFX & SWT 11
S Swing JPanel in View ersetzen AWT, Swing, JavaFX & SWT 10
H Image Icon ersetzen AWT, Swing, JavaFX & SWT 8
A JComboBox-Inhalt durch neues Array ersetzen AWT, Swing, JavaFX & SWT 2
E JPanel mit anderem JPanel ersetzen AWT, Swing, JavaFX & SWT 5
L SWT Text SelectionText ersetzen durch anderen String AWT, Swing, JavaFX & SWT 6
F JPanel aus sich selbst heraus ersetzen. AWT, Swing, JavaFX & SWT 9
C Anführungszeichen in JTextArea für Datenbank ersetzen AWT, Swing, JavaFX & SWT 3
B Swing Windows Shortcuts ersetzen AWT, Swing, JavaFX & SWT 9
S SWT: Widgets ersetzen AWT, Swing, JavaFX & SWT 6
J JPanel ersetzen AWT, Swing, JavaFX & SWT 2
B Bild ersetzen AWT, Swing, JavaFX & SWT 6
B JWidget/ Bild ersetzen AWT, Swing, JavaFX & SWT 3
J Im JLabel Bild durch anderes ersetzen, ohne dass es 'blinkt' AWT, Swing, JavaFX & SWT 12
S Buttons ersetzen AWT, Swing, JavaFX & SWT 5
S Update des fensters beim Ersetzen von JPanels AWT, Swing, JavaFX & SWT 9
B Tabsetpanel durch JPanel ersetzen! AWT, Swing, JavaFX & SWT 4
G JTextArea & JTextField Selection Problem (ersetzen) AWT, Swing, JavaFX & SWT 2
W Elemente aus JPanel bzw. GridBag löschen und ersetzen AWT, Swing, JavaFX & SWT 18
D Widget/Control während Laufzeit durch ein anderes ersetzen AWT, Swing, JavaFX & SWT 3
S JComponent ersetzen AWT, Swing, JavaFX & SWT 13
T JTextPane - ;-) gegen Smylies ersetzen AWT, Swing, JavaFX & SWT 2
F Das Standardbild beim JEditorPane ersetzen? AWT, Swing, JavaFX & SWT 8
M Panel durch ein anderes Panel ersetzen AWT, Swing, JavaFX & SWT 4
A JTable "ersetzen" AWT, Swing, JavaFX & SWT 2
L Java-Logo in Java-Applikation durch eignes ersetzen AWT, Swing, JavaFX & SWT 12
S AWT: Panel durch anderes Panel ersetzen. Neuzeichnen-Problem AWT, Swing, JavaFX & SWT 4
S Komponente auf einem JPanel ersetzen AWT, Swing, JavaFX & SWT 4
P Text aus JTextField auslesen und Buchstaben ersetzen AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben