setText()
-
Hallo,
ich will den Text eines JLabel immer neu setzen dafür benutze ich die Methode setText().
die Methode myMethod wird mehrmals aufgerufen mit eine neue Wert vom count und wir die orginale container wieder mitübergeben
aber leider den Wert des JLabel ändert sich nicht warum ???
public void myMethod(Container containerm int count)
if(count < 2)
{L.setText("zahl: 1");
}else{
L.setText("zahl: "+count);}
container.add("South",L);}
danke
-
Zeig mal mehr Code!
BTW: Zu "container.add("South",L);" sag die Java-API-Doku:
This method is obsolete as of 1.1. Please use the method add(Component, Object) instead.
-
Das folgende kleine Testprogramm funktioniert zumindest so, wie es soll. Vielleicht findest du ja selbst heraus, was du in deinem Code anders hast:
[java]
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;import javax.swing.JFrame;
import javax.swing.JLabel;/*
* Created on 18.04.2003
*
* To change the template for this generated file go to
* Window>Preferences>Java>Code Generation>Code and Comments
*//**
* @author Otaku
*
* To change the template for this generated type comment go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
public class LabelTest extends JFrame implements MouseListener
{
private JLabel label;
private int number;public LabelTest ()
{
number = 0;
label = new JLabel (new Integer(number).toString());
getContentPane().add(label);
setSize (300,300);
setTitle ("LabelTest");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
addMouseListener(this);
}public static void main(String[] args)
{
new LabelTest().setVisible(true);
}/* (non-Javadoc)
* @see java.awt.event.MouseListener#mouseClicked(java.awt.event.MouseEvent)
*/
public void mouseClicked(MouseEvent e)
{
// TODO Auto-generated method stub
++number;
label.setText(new Integer(number).toString());
}/* (non-Javadoc)
* @see java.awt.event.MouseListener#mouseEntered(java.awt.event.MouseEvent)
*/
public void mouseEntered(MouseEvent e)
{
// TODO Auto-generated method stub}
/* (non-Javadoc)
* @see java.awt.event.MouseListener#mouseExited(java.awt.event.MouseEvent)
*/
public void mouseExited(MouseEvent e)
{
// TODO Auto-generated method stub}
/* (non-Javadoc)
* @see java.awt.event.MouseListener#mousePressed(java.awt.event.MouseEvent)
*/
public void mousePressed(MouseEvent e)
{
// TODO Auto-generated method stub}
/* (non-Javadoc)
* @see java.awt.event.MouseListener#mouseReleased(java.awt.event.MouseEvent)
*/
public void mouseReleased(MouseEvent e)
{
// TODO Auto-generated method stub}
}[/code]
-
na gut wenn ich die Methode add (com, obj) verwende
was kan der Parameter Obj dein ?? wir d hier gemeint den Layout oder was anders ???
-
Original erstellt von <swing>:
na gut wenn ich die Methode add (com, obj) verwende
was kan der Parameter Obj dein ?? wir d hier gemeint den Layout oder was anders ???Diese Methode brauchst du auch nur bei bestimmten Layouts, wie z.B. dem BorderLayout. Da kann "obj" zum Beispiel "BorderLayout.NORTH" sein.
...ich tendiere dazu, die add-Methode mit einem Parameter zu nehmen!
-
danke für den Beispiel aber bei mir ich erstelle den Container in ein ander Klasse
als mehr codeclass A{
Container contentPane=this.getContentPane();
.....new Tools().addInfo(1,contentPane);
}
class B
{public void addInfo(int count_Line,Container container)
{
JLabel L= new JLabel();
L.setText("zahl: "+count_Line);
container.add("South",L);}
}die wert des Label änder sich nicht bleibt imemr 1 !!!!
danke
-
Möglicherweise mußt du das alte Label erst entfernen, bevor du das neue hinzufügst.