View Full Version : creare piu label con ciclo for
salve ragazzi, ho un problema serio per me e sicuramente una sciocchezza per voi..
allora vi spiego uso eclipse kepler e vorrei creare una piu label con il ciclo for, meglio ancora... per farvi capire
ho un button, ho una text e una label, cosa voglio fare quando inserisco il nome all'interno della text lui mi stampa quel nome per poi scriverne un altro... io la fatto cosi
Button btnNewButton = new Button(finestra, SWT.NONE);
btnNewButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
for (int i =0; i<5;i++)
{
:muro: label.setText(text.getText());
}
}
});
l'unica cosa negativa che fa che lui stampa per 5 volte lo stesso nome e non mi fa stampare gli altri nomi in sequenza spero di essere stato chiaro e spero che potete aiutarmi vi ringrazio ancora distinti saluti.
[Kendall]
22-10-2013, 08:15
salve ragazzi, ho un problema serio per me e sicuramente una sciocchezza per voi..
allora vi spiego uso eclipse kepler e vorrei creare una piu label con il ciclo for, meglio ancora... per farvi capire
ho un button, ho una text e una label, cosa voglio fare quando inserisco il nome all'interno della text lui mi stampa quel nome per poi scriverne un altro... io la fatto cosi
Button btnNewButton = new Button(finestra, SWT.NONE);
btnNewButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
for (int i =0; i<5;i++)
{
:muro: label.setText(text.getText());
}
}
});
l'unica cosa negativa che fa che lui stampa per 5 volte lo stesso nome e non mi fa stampare gli altri nomi in sequenza spero di essere stato chiaro e spero che potete aiutarmi vi ringrazio ancora distinti saluti.
In quel ciclo for è proprio quello che gli chiedi di fare: impostare per cinque volte di seguito la label con l'attuale testo del textbox.
Se dopo ogni label.setText(text.getText()); non fai nulla per cambiare il testo dentro text, è normale che abbia quel comportamento.
Se postassi un pò più di codice e spiegassi un pò meglio il problema potremmo aiutarti.
Un dubbio che per esempio ho è:
Dici di voler creare più label, una per ognuno dei nomi inseriti, ma per far questo devi creare, ogni volta che hai inserito un nome, una nuova label, mentre lì vedo che setti sempre la stessa.
esatto, e quello che non riesco a creare piu label,
senti ho provato a creare un array all'interno del ciclo for
in questo modo
Label[] labels = new Label[100];
labels[i]=label;
labels[i].setText(text.getText()+" "+(i+1));
:muro: text.setText("");
e per cancellare all'interno della text ho usato questo codice
pero non stampa nulla
ragazzi vi prego c'e qualcuno che può aiutarmi???
ripeto uso eclipse kepler sto cercando di imparare java,
vorrei creare un programmino semplice per voi ma difficilissimo per me...
vi rispiego tutto da capo,
ho un button e una text, il programma cosa deve fare quando inserisco il nome lui deve stamparmi il nome sulla frame pero lo deve fare con il ciclo for...
ho creato una label all'interno del for e lui mi stampa solo il primo nome.
ora la domanda è questa : come devo fare per far si che stampa gli altri nomi?
ho importato i seguenti pakeage
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
import org.eclipse.swt.widgets.Label;
all'interno del for ho inserito
Button btnNewButton = new Button(finestra, SWT.NONE);
btnNewButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
for (int i=0;i<5;i++)
{
Label label = new Label(finestra,SWT.NONE);
label.setText(text.getText()+" "+(i+1));
label.setBounds(10,100, 123 ,20);;
text.setText("");
}
}
});
quello che non riesco a fare, o meglio non riesco a digitare e il codice di nuova creazione della label
vi prego c'e qualche anima buona che sa aiutarmi...
vi ringrazio in anticipo
[Kendall]
25-10-2013, 16:11
Qui mancano dei concetti fondamentali però, tanto che ti consiglierei di dare una bella letta a qualche tutorial riguardo ad SWT.
I problemi legati al tuo discorso sono questi:
Il primo è logico, e nel caso specifico è il seguente: per quale motivo generi le label all'interno del ciclo for?
Fare questo, nella maniera indicata da te (andando cioè a settare il valore della label in base al valore attuale del campo di testo) non fa altro che generare 5 label tutte uguale! (dato che ognuna viene impostata con il medesimo valore).
Ora, a meno che questo non sia voluto (e non credo sia il tuo caso), il ciclo for per la creazione della label non ha alcun senso di esistere. Piuttosto, dentro all'evento click del pulsante dovrai andare a generare una singola label e aggiungerla al frame singolarmente (così che ad ogni click ti inserisce solo ed esclusivamente una label con il valore attuale del campo di testo).
Ultima cosa, per poter visualizzare le label in maniera ordinata ricorda di impostare un layout nel tuo frame (pila, griglia, o quel che è in base alla tua necessità)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.