dynamische jlabels

Status
Nicht offen für weitere Antworten.

Kaladial

Bekanntes Mitglied
hallo

ich versuche gerade ein programm zu schreiben welches dynamisch labels und textfelder anlegt

also heist ich hab nen eingabefeld und einen button und wenn ich nun den button drück sollen soviel jlabels erzeugt werden wie in dem eingabefeld steht

also ich hatte mir das so gedacht:

Code:
			jButtonWeiter1.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					if(jTextFieldAnzParameter.getText().matches("[0-9]+")){
						jScrollPaneEigendschaften.setVisible(true);
						for(int i=0; i<Integer.parseInt(jTextFieldAnzParameter.getText()); i++){
							JLabel test=new JLabel();
							test.setText("hallo:"+i);
							jScrollPaneEigendschaften.add(test);
						}
					}
				}
			});

aber er zeigt mir nichts an

cu Kaladial
 
S

SlaterB

Gast
was ist jScrollPaneEigendschaften?

evtl. fehlt nur validate() auf das JFrame am Ende

-----------

Tipp:

> for(int i=0; i<Integer.parseInt(jTextFieldAnzParameter.getText()); i++){

hier wird wohl in jedem Schleifendurchlauf die Anzahl neu als String geparst,
mal das lieber nur EINMAL vor der Schleife
 
S

SlaterB

Gast
schaffst du es denn, auf normalen Wege mehrere JLabel in ein JScrollPane einzufügen?
wieso versuchst du so ein Neuland erst in einem komplizierten Button?

hab's grad nicht getestest, nehme aber mal an, dass das nicht geht ;)
GUI-Komponenten fügt man in ein JPanel oder so ein,
bei einem JScrollPane kann man einen ViewPoint setzen, das wars aber auch schon
 

Kaladial

Bekanntes Mitglied
hmmm naja ich dachte scroll hört sich gut an weil ich weis ja net wieviel ich erzeugen will und wenn ich das auf nen scroll pannel pack kommen dann scrollbars wenn es über die eigentlich sichtbare größe des pannels hinaus gehn ob bin ich da irgendwie falsch?
 

Kaladial

Bekanntes Mitglied
so hab das jetzt umgebaut weil auf dem scrollpane das wirklich net ging...
nur anzeigen tut er mir trotzdem nix

Code:
			jButtonWeiter1.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					if(jTextFieldAnzParameter.getText().matches("[0-9]+")){
						int anz=Integer.parseInt(jTextFieldAnzParameter.getText());
						for(int i=0; i<anz; i++){
							JLabel test=new JLabel(); 
		                     test.setText("hallo:"+i); 
		                     jPanelEigenschaften.add(test); 
						}
					}
				}
			});
		}

jPanelEigenschaften = JPanel
 
S

SlaterB

Gast
SlaterB hat gesagt.:
evtl. fehlt nur validate() auf das JFrame am Ende

weiterhin kann ich noch Ausgaben a la
System.out.println("Label i eingefügt");
empfehlen, um zu beweisen, dass der Code überhaupt ausgeführt wird,

mehr fällt mir persönlich nicht ein, dann müsstest du mehr Code, am besten ein komplettes lauffähiges Beispiel posten
 
S

SlaterB

Gast
die Operation validate() auf das JFrame-Objekt aufrufen,
damit nach neueingefügten Komponenten gesucht wird
 

Kaladial

Bekanntes Mitglied
Code:
			jButtonWeiter1.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					if(jTextFieldAnzParameter.getText().matches("[0-9]+")){
						int anz=Integer.parseInt(jTextFieldAnzParameter.getText());
						for(int i=0; i<anz; i++){
							JLabel test=new JLabel(); 
		                    test.setText("hallo:"+i); 
		                    jPanelEigenschaften.add(test); 
		                    
						}
						jPanelEigenschaften.validate();
					}
				}
			});

^^ sowas da?
 
S

SlaterB

Gast
die Operation validate() auf das ---------->JFrame-Objekt<--------- aufrufen

vielleicht gehts ja auch mit JPanel, kann ich nicht sagen,

und antworte als nächstes nicht mit 'hab ich, geht nich, was nun?'.
hab schon geschrieben was ansonsten zu tun ist ;)
 

Kaladial

Bekanntes Mitglied
ok dann hier mein quellcode in kurzform:

aufrufende datei:

Code:
import javax.swing.SwingUtilities;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JButton;

import java.awt.Rectangle;
import java.awt.Dimension;

public class TestApp1 extends JFrame {

	private static final long serialVersionUID = 1L;
	private JPanel jContentPane = null;
	private JButton jButton = null;

	/**
	 * This method initializes jButton	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getJButton() {
		if (jButton == null) {
			jButton = new JButton();
			jButton.setBounds(new Rectangle(118, 18, 99, 69));
			jButton.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					showDlg();
				}
			});
		}
		return jButton;
	}

	private void showDlg(){
    	DlgTest dlg = new DlgTest(this); 
    	dlg.setModal(true);
    	dlg.setSize(new Dimension(332, 172));
    	dlg.setVisible(true);
	}
	
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		SwingUtilities.invokeLater(new Runnable() {
			public void run() {
				TestApp1 thisClass = new TestApp1();
				thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
				thisClass.setVisible(true);
			}
		});
	}

	/**
	 * This is the default constructor
	 */
	public TestApp1() {
		super();
		initialize();
	}

	/**
	 * This method initializes this
	 * 
	 * @return void
	 */
	private void initialize() {
		this.setSize(300, 200);
		this.setContentPane(getJContentPane());
		this.setTitle("JFrame");
	}

	/**
	 * This method initializes jContentPane
	 * 
	 * @return javax.swing.JPanel
	 */
	private JPanel getJContentPane() {
		if (jContentPane == null) {
			jContentPane = new JPanel();
			jContentPane.add(getJButton(), null);
		}
		return jContentPane;
	}

}

Dialog wo man in das eingabefeld ne zahl einträgt und per button eigentlich die labels erstellt werden sollen

Code:
import javax.swing.JPanel;
import java.awt.Frame;
import java.awt.BorderLayout;
import javax.swing.JDialog;
import javax.swing.JButton;
import javax.swing.JLabel;

import java.awt.Rectangle;
import javax.swing.JTextField;
import java.awt.Dimension;
import java.awt.GridBagLayout;

public class DlgTest extends JDialog {

	private static final long serialVersionUID = 1L;
	private JPanel jContentPane = null;
	private JButton jButton = null;
	private JTextField jTextField = null;
	private JPanel jPanel = null;

	/**
	 * @param owner
	 */
	public DlgTest(Frame owner) {
		super(owner);
		initialize();
	}

	/**
	 * This method initializes this
	 * 
	 * @return void
	 */
	private void initialize() {
		this.setSize(444, 382);
		this.setContentPane(getJContentPane());
	}

	/**
	 * This method initializes jContentPane
	 * 
	 * @return javax.swing.JPanel
	 */
	private JPanel getJContentPane() {
		if (jContentPane == null) {
			jContentPane = new JPanel();
			jContentPane.setLayout(null);
			jContentPane.add(getJButton(), null);
			jContentPane.add(getJTextField(), null);
			jContentPane.add(getJPanel(), null);
		}
		return jContentPane;
	}

	/**
	 * This method initializes jButton	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getJButton() {
		if (jButton == null) {
			jButton = new JButton();
			jButton.setBounds(new Rectangle(33, 25, 84, 27));
			jButton.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					if(jTextField.getText().matches("[0-9]+")){
						int anz=Integer.parseInt(jTextField.getText());
						for(int i=0; i<anz; i++){
							System.out.println("test");
							JLabel test=new JLabel(); 
		                    test.setText("hallo:"+i); 
		                    jPanel.add(test); 
		                    
						}
					}		
				}
			});
		}
		return jButton;
	}

	/**
	 * This method initializes jTextField	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getJTextField() {
		if (jTextField == null) {
			jTextField = new JTextField();
			jTextField.setBounds(new Rectangle(170, 18, 92, 43));
		}
		return jTextField;
	}

	/**
	 * This method initializes jPanel	
	 * 	
	 * @return javax.swing.JPanel	
	 */
	private JPanel getJPanel() {
		if (jPanel == null) {
			jPanel = new JPanel();
			jPanel.setLayout(null);
			jPanel.setBounds(new Rectangle(58, 124, 196, 193));
		}
		return jPanel;
	}

}  //  @jve:decl-index=0:visual-constraint="10,10"
 
S

SlaterB

Gast
tolles Testprogramm, mit Layout, Dialog und wer weiß nicht alles,


jPanel.setLayout(null);
->
//jPanel.setLayout(null);

+ das validate() natürlich, reicht auch auf jPanel, nicht unbedingt auf dem JFrame/ Dialog
 

Kaladial

Bekanntes Mitglied
jPanel.setLayout(null);
->
//jPanel.setLayout(null);

^^ nee nee für das testprog is das ok

und du hast dloch geschrieben das du nen lauffähiges testprog haben wolltest... also hab ich im editor fix was zusammen gebaut... ging halt am schnellsten...

und da wo ich es brauch (also das aufrufen) das geschieht nunmal in nem dialog... also hab ich dir das auch mit rein gebastelt...

und ka was du mit +validate() meinst sorry aber die antwort von eben hilft 0
 
S

SlaterB

Gast
..
ersetze
jPanel.setLayout(null);
durch
//jPanel.setLayout(null);

+

ersetze
jPanel.add(test);
durch
jPanel.add(test);
jPanel.validate();

bzw. das validate() besser hinter die Schleife
 

Kaladial

Bekanntes Mitglied
ok geht

so und wenns jetzt net zu viel is pls noch ne erklärung was das layout damit zutun hat?
also wenn ich //jPanel.setLayout(null); net mach geht es auch net...

was hat das miteinander zu tun?
 

Kaladial

Bekanntes Mitglied
na wenn ich nen null layouit hab kann ich nen meine objecte dierekt positionieren über x y höhe breite
 
S

SlaterB

Gast
und wenn du das nicht tust, wie bei deinen JLabels, dann sind sie eben nicht zu sehen
 

Kaladial

Bekanntes Mitglied
Code:
test.setText("Parameter["+i+"]:"); 
test.setBounds(new Rectangle(15, 15, 100, 25));

das geht aber leider net... also wie dann?
 
S

SlaterB

Gast
ich wollt schon wieder meckern, etwa weil du
jPanel.add(test);
statt
jPanel.add(test,null); (wie überall sonst bei null-Layout) verwendest
oder das validate() nicht benutzt,

aber es ist doch wieder was anderes ;)

validate() hilft anscheindend nur bei normalen Layouts,
fürs null-Layout hilft
jPanel.repaint();
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Dynamische ListView-Größe, die bei Fenstergrößenänderung sich anpasst AWT, Swing, JavaFX & SWT 19
M Dynamische Zellengröße und Zeilenumbruch AWT, Swing, JavaFX & SWT 7
M Java FX dynamische Diagramme AWT, Swing, JavaFX & SWT 0
Q-bert Dynamische Komponente erzeugen AWT, Swing, JavaFX & SWT 6
4a61766120617274697374 dynamische Tree View AWT, Swing, JavaFX & SWT 2
P JavaFX Dynamische TableView AWT, Swing, JavaFX & SWT 14
G Dynamische ComboBox AWT, Swing, JavaFX & SWT 3
B Swing Dynamische JList mit Bildern AWT, Swing, JavaFX & SWT 4
S Jtable dynamische Spaltenbreite AWT, Swing, JavaFX & SWT 5
B SWT Dynamische GUI (Layoutmanager?) AWT, Swing, JavaFX & SWT 2
P Dynamische Seite zum basteln für den User AWT, Swing, JavaFX & SWT 8
B SWT TreeViewer dynamische Anzeige von Icons AWT, Swing, JavaFX & SWT 3
J Java - dynamische Anpassung an Fenstergröße? AWT, Swing, JavaFX & SWT 4
B Swing Dynamische JMenuBar AWT, Swing, JavaFX & SWT 2
C Swing Dynamische JComboBox (Filter) AWT, Swing, JavaFX & SWT 28
W "Dynamische JComboBoxes" AWT, Swing, JavaFX & SWT 5
N Swing Dynamische Controls AWT, Swing, JavaFX & SWT 5
C JTable dynamische erweitern AWT, Swing, JavaFX & SWT 2
T 2D-Grafik Statisches Hintergrundbild, dynamische Bilder drüber AWT, Swing, JavaFX & SWT 2
N Dynamische JFreechart updated UI nicht AWT, Swing, JavaFX & SWT 5
G Große dynamische ContextMenus erzeugen (Eclipse RCP) AWT, Swing, JavaFX & SWT 4
F Swing Dynamische Größenanpassung AWT, Swing, JavaFX & SWT 4
trash Dynamische JTable (SQL) AWT, Swing, JavaFX & SWT 5
L Dynamische Textgröße bei Buttons AWT, Swing, JavaFX & SWT 3
lordcarlos Dynamische und interaktive grafik AWT, Swing, JavaFX & SWT 5
T Swing JTable dynamische Zeilenhöhe AWT, Swing, JavaFX & SWT 5
U Dynamische Panel hinzufügen AWT, Swing, JavaFX & SWT 6
N Swing Dynamische JRadioButtons und Visual Editor AWT, Swing, JavaFX & SWT 4
Q Dynamische Zahl und Positionierung von Objekten AWT, Swing, JavaFX & SWT 5
S Swing Dynamische JPanels: Vertikales Strecken verhindern AWT, Swing, JavaFX & SWT 4
hdi dynamische Iteration über Components AWT, Swing, JavaFX & SWT 3
E Dynamische JComboBox AWT, Swing, JavaFX & SWT 3
F dynamische Ausgabe eines extenen Programms umleiten AWT, Swing, JavaFX & SWT 6
F Dynamische Swing Elemente AWT, Swing, JavaFX & SWT 10
G Dynamische JMenuBar AWT, Swing, JavaFX & SWT 2
T Dynamische Anpassung einer jCheckBox AWT, Swing, JavaFX & SWT 11
O Bindings, dynamische Verbindung (Vorbau mit Netbeans) AWT, Swing, JavaFX & SWT 10
G Dynamische Menüs mit Liste von MRU Dateien AWT, Swing, JavaFX & SWT 2
X Dynamische linien (Position und Länge) AWT, Swing, JavaFX & SWT 4
L Dynamische Buttons erstellt, aber wie ein Event zuweisen? AWT, Swing, JavaFX & SWT 11
T dynamische anzeige? AWT, Swing, JavaFX & SWT 4
S Dynamische Ausgabe im JTextField AWT, Swing, JavaFX & SWT 7
M dynamische Grafik in JFrame einbetten AWT, Swing, JavaFX & SWT 2
G JTable dynamische Darstellung der ankommenden Daten AWT, Swing, JavaFX & SWT 19
G JTextField & Dynamische Grössenänderung? AWT, Swing, JavaFX & SWT 8
K TableLayout - dynamische Elemente zu spät ge-updated AWT, Swing, JavaFX & SWT 3
O Dynamische Checkboxen AWT, Swing, JavaFX & SWT 21
T Dynamische GUI's AWT, Swing, JavaFX & SWT 10
T Dynamische Look&Feels AWT, Swing, JavaFX & SWT 4
K dynamische Bilder laden AWT, Swing, JavaFX & SWT 5
P Swing Mehrere JLabels mit ImageIcon in JPanel lesen AWT, Swing, JavaFX & SWT 1
VPChief Icons in 2 Jlabels Director nebeneinander anzeigen AWT, Swing, JavaFX & SWT 26
kilopack15 JLabels im Array erzeugen AWT, Swing, JavaFX & SWT 2
E Swing Miserable Performance beim Ändern der Hintergrundfarbe von JLabels AWT, Swing, JavaFX & SWT 3
A Swing JLabels in einer ForEach Schleife an den JPanel anheften (UNO Netzwerkspiel) AWT, Swing, JavaFX & SWT 1
B Swing HTML in JLabels AWT, Swing, JavaFX & SWT 6
D Event Handling Aus einer anderen Klasse heraus einen Text des JLabels ändern. AWT, Swing, JavaFX & SWT 12
C Swing BufferedImage zeichnen und JLabels setzen. AWT, Swing, JavaFX & SWT 17
J Swing Frage zur Vorgehensweise (JTable?, JLabels?) AWT, Swing, JavaFX & SWT 8
I Jlabels Addieren AWT, Swing, JavaFX & SWT 3
X Swing ListDialog von Oracle mit JLabels AWT, Swing, JavaFX & SWT 2
T Swing Drag and Drop - JLabels tauschen statt überschreiben AWT, Swing, JavaFX & SWT 11
M Position eines JLabels mit getX() auslesen AWT, Swing, JavaFX & SWT 2
M Position eines JLabels speichern? AWT, Swing, JavaFX & SWT 3
S Swing Größe von JLabels verändern sich in einem Panel unterschiedlich AWT, Swing, JavaFX & SWT 6
N Meine JLabels werden nicht angezeigt AWT, Swing, JavaFX & SWT 6
L Name des JLabels auslesen bei Mouseclick AWT, Swing, JavaFX & SWT 2
C Swing JLabels entfernen und neue einfügen AWT, Swing, JavaFX & SWT 6
S Textfelder JLabels AWT, Swing, JavaFX & SWT 3
J JLabels repainten AWT, Swing, JavaFX & SWT 4
D Swing JLabels in einer Schleife aktualisieren AWT, Swing, JavaFX & SWT 2
Balbes Swing Mehrere JLabels vereinen AWT, Swing, JavaFX & SWT 2
M In Jlist auf Änderungen von mehreren JLabels reagieren AWT, Swing, JavaFX & SWT 3
bugmenot Dynamisch erzeugte jLabels werden nicht angezeigt. AWT, Swing, JavaFX & SWT 5
S Probleme beim Neuzeichnen eines JLabels AWT, Swing, JavaFX & SWT 6
B Problem bei Textänderung eines JLabels AWT, Swing, JavaFX & SWT 5
J JLabels usw. dynamisch anlegen AWT, Swing, JavaFX & SWT 8
B Erneuern der Informationen in der GUI und JTable und JLabels AWT, Swing, JavaFX & SWT 2
B zwei JLabels überlappen lassen AWT, Swing, JavaFX & SWT 5
I JScrollPane, wenn JLabels x Pixel erreichen AWT, Swing, JavaFX & SWT 3
F Farbiger Text in JLabels AWT, Swing, JavaFX & SWT 9
L Hinzufügen eines JLabels AWT, Swing, JavaFX & SWT 4
U Bilder, JLabels, JButtons voreinander AWT, Swing, JavaFX & SWT 7
loadbrain 3 JLabels untereinander ohne Abstand AWT, Swing, JavaFX & SWT 4
J jlabels überlappen / vorder-hintergrund AWT, Swing, JavaFX & SWT 2
X Focusproblem beim Refresh eines jLabels AWT, Swing, JavaFX & SWT 4
B Update von JLabels AWT, Swing, JavaFX & SWT 2
J GridBagLayout JLabels links ausrichten + vertikaler Freiraum AWT, Swing, JavaFX & SWT 4
G JLabels mehrmals erstellen AWT, Swing, JavaFX & SWT 7
G der sinn von labels/jlabels ? AWT, Swing, JavaFX & SWT 3
V Probleme mit JLabels AWT, Swing, JavaFX & SWT 4
D Font eines JLabels verändern, JLabel mit LookAndFeel-Format AWT, Swing, JavaFX & SWT 2
J Farbverlauf als Hintergrund eines JLabels AWT, Swing, JavaFX & SWT 4
L Größe eines JLabels an enthaltenen Text anpassen AWT, Swing, JavaFX & SWT 2
B Problem mit JLabels und deren Inhalt AWT, Swing, JavaFX & SWT 2
T Größe und Position eines JLabels ermitteln AWT, Swing, JavaFX & SWT 3
P JLabels übereinander legen AWT, Swing, JavaFX & SWT 8

Ähnliche Java Themen

Neue Themen


Oben