Text in Statuszeile

tikemyson

Mitglied
Hallo ,


ich möchte für eine Adressenverwaltung, einen Text in einer Statuszeile erscheinenlassen, und zwar genau dann, wenn man mit der Maus über en entsprechendes Icon fährt.

Kann mir bitte jemand sagen, wie ich eine solche Zeile einem Frame zufüge?

und diese Zeile auch in verschiedene spalten unterteilen kann?

danke
 

rootssw

Erfahrenes Mitglied
Was genau meinst du mit "in Spalten unterteilen"?

Der Normalfall sähe ja so aus:



edit:

Ach, das merk' ich ja jetzt erst:
bei normalen Grafiken geht das ja garnicht.
Du müsstest das Bild dann schon als Verweis darstellen:
<A HRef="JavaScript: DoNothing()" onMouseOver="status='Das ist ein Bild';return true;">
<IMG SRC="bild.jpg">
</A>
 

rootssw

Erfahrenes Mitglied
Du meinst, du willst die Statusleiste selbst (nicht den Text darin) in verschiedene Spalten aufteilen (so wie es mit Programmiersprachen auch geht)?!
Das ist mit JavaScript wohl kaum möglich!
Du kannst höchstens den Text durch optischen Trennungen (z. B. Leerzeichen und | - also "DB: Adressen | ID: System") annähernd so aussehen lassen.
Dazu müsstest du bei onmouseover aber 'ne Funktion angeben und dann die Statuszeile mit mehereren Variablen aufbauen.

Oder kennt hier vielleicht doch jemand 'ne Funktion, die die Statuszeile in mehreren Spalten einteilt?!

Aber, ich glaube, wenn das Möglich wäre, würde man das wohl öfter sehen.
Und mir ist auch nichts der gleichen bekannt.
 

tikemyson

Mitglied
so ungefähr

{ int res = Benutzer.login(username, password);
if (res == Benuzter.LOGIN OK) {
statuszeile.setText("Erfolgreich");
WelcomeWindow ww = new WelcomeWindow(username); }else statuszeile.setText("Fehler"); }

aber wie erstellt man ein Objekt von einer statuszeile

mmmh:-(
 

rootssw

Erfahrenes Mitglied
Ach, na ich mal wieder!
Hab' wohl nicht richtig ausgeschlafen!
Ich hab' nur oben rechts in der Ecke "text in statuszeile" gelesen, ganz kurz (wirklich sehr kurz) auf die Rubrik geschaut, Java gesehe, und sofort an JavaScript gedacht. Und dann natürlich auch gleich drauf los geschrieben. :rolleyes:

Aber eine Methode/Funktion zum Setzen der Statusleiste ist mir nicht bekannt (so oft benutz' ich Java leider nicht - und wenn, dann nicht für Fenster-Applikationen).
Sorry, aber da muss wohl jemand anderes weiter helfen! :(
 

tikemyson

Mitglied
ich vermute das es keine vorgefertigte methode gibt eine statuszeile zu adden. man muss wohl alles von hand zu fuss mit border und labels..proggen...naja...was solls:(
 

Thomas Darimont

Erfahrenes Mitglied
Servus!

Code:
/*
 * Created on 26.09.2003
 *
 * To change the template for this generated file go to
 * Window - Preferences - Java - Code Generation - Code and Comments
 */

import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Toolkit;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import java.awt.Image;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

/**
 * @author Darimont
 *
 * To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Generation - Code and Comments
 */
public class TestFrame extends JFrame {

	private JPanel statusLeiste = null;
	private JPanel iconHolder = null;
	private ImageIcon[] icons = null;
	private JLabel[] labels = null;
	private JLabel dUmMy= null; //<--- Hier soll eigentlich s t a t u s stehen ? seltsam ich kann den Beitrag editieren und schriebe s t a t u s und "er" macht dUmMy draus ?
	private MouseOverAdapter moa;

	public TestFrame() {
		super("TestFrame");
		initAll();
		setSize(new Dimension(650, 150));
		setVisible(true);

	}
	
	

	private void initAll() {
		icons = new ImageIcon[4];
		labels = new JLabel[4];
		status = new JLabel("START");
		
		moa = new MouseOverAdapter();
		moa.setStatusLabel(status);
		
		statusLeiste = new JPanel();
		statusLeiste.setSize(new Dimension(320, 45));
		
		statusLeiste.add(status);
		iconHolder = new JPanel();
		iconHolder.setSize(new Dimension(110, 320));
		iconHolder.setLayout(new FlowLayout());

		for (int i = 0; i < icons.length; i++) {
			icons[i] =
				new ImageIcon(
					Toolkit
						.getDefaultToolkit()
						.createImage("c:/image" + i + ".jpg")
						.getScaledInstance(100, 75, Image.SCALE_SMOOTH));
			labels[i] = new JLabel();						
			labels[i].setText("image:" + i);
			labels[i].setIcon(icons[i]);
			labels[i].addMouseListener(moa);
			iconHolder.add(labels[i]);
		}

		Container cont = this.getContentPane();
		cont.setLayout(new FlowLayout());
		cont.add(iconHolder);
		cont.add(statusLeiste);

	}

	public static void main(String[] args) {
		new TestFrame();
	}

	private class MouseOverAdapter extends MouseAdapter {

		private JLabel refStatus = null;

		public void setStatusLabel(JLabel j) {
			this.refStatus = j;
		}

		public void mouseEntered(MouseEvent e) {
			Object o = null;
			if ((o = e.getSource()) instanceof JLabel) {
				if (refStatus != null)
				refStatus.setText(((JLabel) o).getText());
			}
		}

		public void mouseExited(MouseEvent e) {
			Object o = null;
			if ((o = e.getSource()) instanceof JLabel) {
				if (refStatus != null)
				refStatus.setText("LEER");
			}
		}
	}

}

Gruß Tom
 
Zuletzt bearbeitet:

Neue Beiträge