Hallöle…
Habe da ein Problem. Natürlich ist das Programm noch net perfekt… Aber an sich geht es mir um Folgendes. Ich habe ein JLabel (anzeige) welches mir je nachdem, wie ich den Rollbalken bewege eine Prozentzahl anzeigt. Dies also in dem JLabel. Die Anzeige hätte ich aber gerne linksbündig. Habe in der API gelesen, dass der Text standard imma links steht. Bei mir ist es aber mittig. Wie man sehen kann, habe ich schon viel ausprobiert (s. die auskommentierten Zeilen). Aber irgendwie haut nichts hin. Hab ich was übersehen oder komische Sachen gebastelt? Hab noch nicht soviel Plan von Java, also freu mich über jede Hilfe un jeden Tipp. Aber bitte kein Mobbing
guckst du da:
// Atrribute
private JScrollBar balken;
// max 110, da duch schrittgröße von 10 am ende nur 90% erreicht werden! ??
// Lösung?
private int min = 0;
private JLabel anzeige;
private JPanel g1, g2;
private int prozent;
private int step = 10;
private int max = 100 + step;
// Konstruktor
public Rollbalken() {
// Fenstertitel
super(„Prozentanzeige“);
erzeugeKomponenten();
setLayout();
JPanel platte = new JPanel();
platte.setLayout(new FlowLayout());
// anzeige + balken der Gruppe hinzufügen
g1.add(balken);
g2.add(anzeige);
// Gruppe der Platte hinzufügen
platte.add(g1);
platte.add(g2);
setContentPane(platte);
}
public void erzeugeKomponenten() {
balken = new JScrollBar(Adjustable.HORIZONTAL, 0, step, min, max);
// Listener hinzufügen
balken.addAdjustmentListener(this);
// Text im JLabel links ausrichten?
anzeige = new JLabel("");
g1 = new JPanel();
g2 = new JPanel();
}
public void setLayout() {
anzeige.setFont(new Font(„Arial“, Font.PLAIN, 18));
g1.setPreferredSize(new Dimension(430, 70));
// g2 linksbündig machen?
g2.setPreferredSize(new Dimension(430, 70));
g2.setBorder(BorderFactory.createTitledBorder("Prozent: "));
g1.setBorder(BorderFactory.createTitledBorder("Prozentanzeige: "));
balken.setPreferredSize(new Dimension(390, 25));
// Text im JLabel links ausrichten?
// anzeige.setVerticalTextPosition(1);
// anzeige.setHorizontalAlignment(JLabel.LEFT);
// anzeige.setHorizontalTextPosition(JLabel.RIGHT);
}
@Override
public void adjustmentValueChanged(AdjustmentEvent e) {
prozent = balken.getValue();
anzeige.setText((Integer.toString(prozent)));
}
}