Hallo,
ich habe ein Problem, das bestimmt ganz einfach lösbar ist, aber ich komme nicht drauf.
Es geht um die Anzeige eines physikalischen Wertes in einem JTextField (macht keine Probleme) und der dazugehörigen Dimension in einem JLabel (macht Probleme).
Die beiden sind in einem „DigitalAnzeiger“ zusammengefasst.
Setzen der Dimension (Name: DimStr) mit DurchflussAnzeiger.setDimStr(„m3/h“) wird ignoriert, d.h. der String erscheint nicht in dem Label.
Aufbau eines Konstruktors mit Parameterübergabe:
public DigitalAnzeiger( String str) {DimStr = str}
und Aufruf
DurchflussAnzeiger = new DigitalAnzeiger(„m3/h“)
führt dazu, dass der Anzeiger zur Gänze verschwindet.
(Natürlich wird nur jeweils eine Variante ausprobiert, die andere wird wegkommentiert.)
Was mache ich denn falsch ?
ich habe ein Problem, das bestimmt ganz einfach lösbar ist, aber ich komme nicht drauf.
Es geht um die Anzeige eines physikalischen Wertes in einem JTextField (macht keine Probleme) und der dazugehörigen Dimension in einem JLabel (macht Probleme).
Die beiden sind in einem „DigitalAnzeiger“ zusammengefasst.
Setzen der Dimension (Name: DimStr) mit DurchflussAnzeiger.setDimStr(„m3/h“) wird ignoriert, d.h. der String erscheint nicht in dem Label.
Aufbau eines Konstruktors mit Parameterübergabe:
public DigitalAnzeiger( String str) {DimStr = str}
und Aufruf
DurchflussAnzeiger = new DigitalAnzeiger(„m3/h“)
führt dazu, dass der Anzeiger zur Gänze verschwindet.
(Natürlich wird nur jeweils eine Variante ausprobiert, die andere wird wegkommentiert.)
Was mache ich denn falsch ?
Java:
package sonder;
import java.awt.Color;
import java.awt.Font;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.SwingConstants;
import javax.swing.border.LineBorder;
public class DigitalAnzeiger extends JPanel {
public DigitalAnzeiger (String str) {
StrDim=str;
}
private String StrDim ="%";
public void setStrDim(String strDim) {
StrDim = strDim;
}
//////////////////////////////////////////////////////////////////////////////////////////
public DigitalAnzeiger(){
setBorder(new LineBorder(new Color(0, 0, 0), 2));
setLayout(null);
setSize(100,70);
JLabel lblDim = new JLabel();
lblDim.setBounds(0,0,100,20);
lblDim.setFont(new Font("Tahoma", Font.BOLD, 16));
lblDim.setHorizontalAlignment(SwingConstants.CENTER);
lblDim.setText(StrDim);
add(lblDim);
///////////////////////////////////////////////////////////////////////
// im main-Programm:
DigitalAnzeiger DurchflussAnzeiger = new DigitalAnzeiger("m3/h");
DurchflussAnzeiger.setLocation(250,660);
DurchflussAnzeiger.setStrDim("m3/h");
DurchflussAnzeiger.setMBA(0);
DurchflussAnzeiger.setMBE(100);
ZeichenFlaeche.add(DurchflussAnzeiger);
}
/code