Label auf Label oder Panel auf Label

Status
Nicht offen für weitere Antworten.

Transmitter

Mitglied
Hi :)

Ich habe ein Panel (East), es legt die Größe fest.
Darauf sitzt ein Label (LabelEast), weil das ganze eine Hintergrundgrafik hat.

Jetzt soll aber auf diesem Label eine Navigation sitzen, und die kann sich von Ansicht zu Ansicht ändern.
Also wollte ich diese Navigation in eine extra Klasse packen, und je nachdem, welcher Button geklickt wurde soll dann die entsprechende geladen werden.

Kann ich diese Navigation auslagern?
Und wie muss diese Navigation dann ausgebildet sein? Als Label, als Panel oder wie?
Und wie kann ich diese Navigation dann in mein LabelEast setzen?
Und geht das auch mit VE für Eclipse? Der versetzt mir das Label dann sehr komisch, über das LabelEast und nicht drauf. :(

Danke schon mal :)
Bye, Transmitter
 

L-ectron-X

Gesperrter Benutzer
Grundsätzlich ist es so, dass Labels keine weiteren GUI-Komponenten aufnehmen können, dafür sind die Panel da.
 

Transmitter

Mitglied
L-ectron-X hat gesagt.:
Grundsätzlich ist es so, dass Labels keine weiteren GUI-Komponenten aufnehmen können, dafür sind die Panel da.

Wie schaffe ich es denn ein Panel mit einer Grafik zu füllen wie ein Label, nur, dass auf das Panel noch ein kleineres Panel drauf soll?
 

Transmitter

Mitglied
Hmm .. aber dann kalppt es nicht mein Label unter dem 2. Panel liegen zu haben ..
Doof zu erklären ..

Ansicht von oben:

Button
PanelNavi
Label mit Hintergrundgrafik, genauso groß wie PanelNorth
PanelNorth

So soll das ungefähr aussehen ..
und mein Code dazu:

Code:
    private JPanel getJPanelNorth ( )
    {
        if ( jPanelNorth == null )
        {
            jLabel = new JLabel();
            jPanelNorth = new JPanel ( );
            jPanelNorth.setPreferredSize ( new java.awt.Dimension ( 1024, 56 ) );
            jLabel.setText("JLabel");
            jLabel.setPreferredSize(new java.awt.Dimension(1024,56));
            jPanelNorth.add(jLabel, null);
            jPanelNorth.add(getJPanel(), null);
        }
        return jPanelNorth;
    }

	private JPanel getJPanel() {
		if (jPanel == null) {
			jPanel = new JPanel();
			jPanel.setPreferredSize(new java.awt.Dimension(200,40));
			jPanel.add(getJButton(), null);
		}
		return jPanel;
	}
	/**
	 * This method initializes jButton	
	 * 	
	 * @return javax.swing.JButton	
	 */    
	private JButton getJButton() {
		if (jButton == null) {
			jButton = new JButton();
			jButton.setText("Test");
			jButton.setPreferredSize(new java.awt.Dimension(59,20));
		}
		return jButton;
	}

Dabei komme ich nicht weiter.
Am besten wäre es, wenn das jPanelNorth eine Hintergrundgrafik aufnehmen könnte :-/
Hoffe, das kann man auch anders lösen?

Kann man nicht irgendwie einstellen, auf welcher "Ebene" ein Label liegen soll?

Bye, Transmitter
 
B

Beni

Gast
Ein Panel lässt sich ganz einfach erweitern:
Code:
public class BackgroundPanel extends JPanel{
  private Image image = ...

  public void paintComponent( Graphics g ){
    g.drawImage( 0, 0, image, this );  // hm, die Reihenfolge der Argumente ist so ähnlich :-)
  }
}
Einfach die Methode "paintComponent" überschreiben, und du hast ein Hintergrundbild.
 

Transmitter

Mitglied
Image ist doch abstrakt, die Klasse kann ich doch nicht instanzieren :-/

Und bei drawImage bekomme ich die Fehlermeldung, dass meine Parameter Typen nicht stimmen würden:

public abstract boolean drawImage(Image img,
int x,
int y,
Color bgcolor,
ImageObserver observer)

Bzw. .. die Methode ist ja auch abstrakt, irgendwie verstehe ich das nicht so richtig, könntest du da ein paar Zeilen Code mehr posten?

Dankeschön :)
 
B

Beni

Gast
Ok, ich habs nochmal nachgelesen, eigentlich wollte ich die Methode verwenden.

Stell dir folgendes vor: es gibt eine abstrakt Klasse "Kleidungsstück", und die Klasse "Socke extends Kleidungsstück". Ein Socke kannst du in jedem Laden kaufen (=instanziieren), eine "Kleidungsstück" nicht ("guten Tag, ich würde gern 3 Paar Kleidungsstück kaufen!" :autsch: ). Nichtsdestotrotz existieren Kleidungsstücke, z.B. in der Form von Socken. Und es gibt einige Sachen die man mit Kleidungsstücken machen kann, z.B. waschen oder anziehen. Das sind Aktionen (=abstrakte Methoden :wink:), die eindeutig zu einem Kleidungsstück gehören (ein Kleidungsstück das man nicht anziehen kann ist kein Kleidungsstück...), auch wenn man eine Socke anders anzieht, als eine Hose.

Genauso verhält es sich mit Image (und auch mit Graphics). Es gibt Images, nur kann man sie nicht direkt herstellen. Es gibt Methoden die irgendwas zeichnen, nur ist noch nicht genau bestimmt, wie sie das machen.

Ein Methode ein Bild herzustellen geht so: (siehe unten), wie das Graphics g zeichnet, interessiert uns nicht.
Code:
Image image = createImage();

public static Image createImage(){
  BufferedImage img = new BufferedImage( 100, 100, BufferedImage.TYPE_ING_RGB );
  Graphics g = img.createGraphics(); // Wir verlangen etwas zum zeichnen.
  g.setColor( Color.GREEN );  // Wie funktioniert das intern? Das kann uns egal sein, hauptsache es funktioniert.
  g.fillOval( 0, 0, 100, 100 );
  g.dispose(); // brauchen wir nicht mehr.
  return img;
}


Code:
 public class BackgroundPanel extends JPanel{
  private Image image = ... // zum Beispiel das "createImage()" von oben.

  public void paintComponent( Graphics g ){
    g.drawImage( image, 0, 0, this ); // das ist die bessere Reihenfolge
  }
}
 

Transmitter

Mitglied
Dankeschön, das funktioniert :)

Jetzt muss ich nur noch sehe, wie ich das mit einer Grafik umsetze, aber das bekomme ich sicherlich hin :)

Klasse, dankeschön nochmal :)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Swing Label auf Panel legen.. AWT, Swing, JavaFX & SWT 2
U Java FX Zusätzliches Label per Knopfdruck während der Laufzeit auf Panel einfügen. AWT, Swing, JavaFX & SWT 2
O Swing JTree um Label (oder Panel) erweitern AWT, Swing, JavaFX & SWT 9
GUI-Programmer Informations-Panel an Label AWT, Swing, JavaFX & SWT 2
G Label auf Panel auf Panel mit Grafiken als Hintergrund (awt) AWT, Swing, JavaFX & SWT 7
C Label an Panel anpassen. AWT, Swing, JavaFX & SWT 6
Student (Icon auf Label) -> auf Panel rechtsbündig darstellen AWT, Swing, JavaFX & SWT 11
Juelin Text und Backgroundcolor im Label geht nicht AWT, Swing, JavaFX & SWT 2
H JavaFX Label.Text mit bind an DoubleProperty binden AWT, Swing, JavaFX & SWT 3
izoards Ausdruck auf Label Drucker AWT, Swing, JavaFX & SWT 1
N JavaFX Unicode zeichnen in javafx Label verwenden AWT, Swing, JavaFX & SWT 2
H RPG Programmieren, label.setLocation funktioniert nicht AWT, Swing, JavaFX & SWT 7
Jose05 Javafx Label Höhe=Breite AWT, Swing, JavaFX & SWT 1
N javafx Position der Bustaben finden label AWT, Swing, JavaFX & SWT 1
N Label Schriftart Ändern javafx AWT, Swing, JavaFX & SWT 2
D JavaFX Label flackert beim aktualisieren AWT, Swing, JavaFX & SWT 12
J JavaFX Label aktualisieren AWT, Swing, JavaFX & SWT 18
M JavaFX javaFX Label-Text wird nicht gesetzt AWT, Swing, JavaFX & SWT 3
T Anderen Java Code durch Code kompilieren und Fehler in Label ausgeben AWT, Swing, JavaFX & SWT 5
I BoxLayout zentriert Label nicht AWT, Swing, JavaFX & SWT 7
B Ausgaben einer Umrechnung vom Textfeld in ein Label AWT, Swing, JavaFX & SWT 2
R JavaFX Label oder Imageview anzeigen mit Buttonklick AWT, Swing, JavaFX & SWT 4
L Label im JavaFX Thread Updaten AWT, Swing, JavaFX & SWT 3
A Inhalt wechseln bei Klick auf Label AWT, Swing, JavaFX & SWT 8
ralfb1105 JavaFX Label lässt sich innerhalb service Task nicht updaten? AWT, Swing, JavaFX & SWT 22
Trèfle JavaFX Formattierung im Label AWT, Swing, JavaFX & SWT 3
ralfb1105 JavaFX Wie Text Label in neuem Window von Main Stage setzen? AWT, Swing, JavaFX & SWT 6
F Countdown in Label anzeigen AWT, Swing, JavaFX & SWT 14
H JavaFX - Label aktualisieren AWT, Swing, JavaFX & SWT 1
J Dateiname im Label einblenden AWT, Swing, JavaFX & SWT 4
C SWT autosize bei gc.drawString() auf einem Label AWT, Swing, JavaFX & SWT 7
xYurisha Aus einer Gui Buttons, Label und ProgessBars entfernen AWT, Swing, JavaFX & SWT 4
T Label wird nicht angezeigt AWT, Swing, JavaFX & SWT 4
zhermann FX Label text wird nicht richtig angezeigt AWT, Swing, JavaFX & SWT 12
zhermann NullPointerException bei Label.setText() AWT, Swing, JavaFX & SWT 5
T JavaFX Label mit mehreren Images AWT, Swing, JavaFX & SWT 11
Kanda Sorata Inhalt einer .txt Datei einlesen und in ein Label einfügen (JavaFX) AWT, Swing, JavaFX & SWT 2
L JavaFX ContextMenu bei Label mit Linksklick AWT, Swing, JavaFX & SWT 4
J JavaFX - Felder (Label) in einer ForSchleife bearbeiten AWT, Swing, JavaFX & SWT 4
N Anordnung der Label AWT, Swing, JavaFX & SWT 3
D JavaFX Label lässt sich nicht mehrmals färben AWT, Swing, JavaFX & SWT 7
R Swing JLabel berührung an einem anderen Label prüfen AWT, Swing, JavaFX & SWT 3
M Text in einem Label fett setzen AWT, Swing, JavaFX & SWT 4
D Swing JFreeChart Crosshair Label - setPreferredSize oder ähnliches, aber wo ? AWT, Swing, JavaFX & SWT 1
T CSS Rechtsbüdniges Label mit Zwei Zeilen AWT, Swing, JavaFX & SWT 7
J JavaFX Translation Text/Label AWT, Swing, JavaFX & SWT 2
Tom299 JavaFX Text oder Label benutzen AWT, Swing, JavaFX & SWT 4
C Textfeld und Label werden nicht angezeigt (Ubuntu) AWT, Swing, JavaFX & SWT 2
C SWT Treeview mit Bilder im Label verändert Expanded Icon AWT, Swing, JavaFX & SWT 1
Augenblau JavaFX Wechselnde Werte in Label darstellen AWT, Swing, JavaFX & SWT 7
V Swing Brauche Hilfe mit Label AWT, Swing, JavaFX & SWT 3
S JButton-Label vergrößern AWT, Swing, JavaFX & SWT 2
D Java Swing, Label lässt sich nicht mit Checkboxen/Knopf verändern AWT, Swing, JavaFX & SWT 2
M label mit icon verschieben. AWT, Swing, JavaFX & SWT 1
B Swing JXMapKit Mausemove in Label anzeigen AWT, Swing, JavaFX & SWT 0
K Bild in Label wird nicht angezeigt AWT, Swing, JavaFX & SWT 5
S JButton u. Label auf paint-Methode AWT, Swing, JavaFX & SWT 1
G Label wird nicht erstellt AWT, Swing, JavaFX & SWT 0
7 AWT problem: KeyListener/ test im Label umändern AWT, Swing, JavaFX & SWT 4
W JavaFX Label in Controller-Klasse in einer anderen Controller-Klasse ändern AWT, Swing, JavaFX & SWT 9
D Swing [Frage] ComboBox + Label AWT, Swing, JavaFX & SWT 3
G Label erstellen AWT, Swing, JavaFX & SWT 6
U Label zeigt nicht überall HTML Zeichen AWT, Swing, JavaFX & SWT 3
F JavaFX label.getWidth() AWT, Swing, JavaFX & SWT 2
T Swing Label aus anderer Methode bearbeiten AWT, Swing, JavaFX & SWT 2
N Input/Output Stream werte in Label anzeigen. AWT, Swing, JavaFX & SWT 6
R JavaFX Label ändern in aufgerufener AnchorPane AWT, Swing, JavaFX & SWT 3
B Swing label.setText() macht probleme AWT, Swing, JavaFX & SWT 5
G JavaFX CSS: Label in GridPane rechts ausrichten AWT, Swing, JavaFX & SWT 9
T Swing Aktuelle Größe eines Textes in einem Label darstellen AWT, Swing, JavaFX & SWT 3
KrokoDiehl Swing Buchstaben im Label anders färben AWT, Swing, JavaFX & SWT 4
K Zugriff auf Label und Ereignisbehandlung durch zwei Handlerklassen AWT, Swing, JavaFX & SWT 3
P Label rotieren mit Timer AWT, Swing, JavaFX & SWT 5
C Label wird nicht an der richtigen Position angezeigt.. AWT, Swing, JavaFX & SWT 7
H Label mit Icon positionieren AWT, Swing, JavaFX & SWT 14
E Netbeans: Buttons mit Label bzw. Rahmen unterlegen AWT, Swing, JavaFX & SWT 8
J resize - Label bleibt erst schwarz AWT, Swing, JavaFX & SWT 4
T label überschriebt seine werte-SWT AWT, Swing, JavaFX & SWT 3
D Label über JScrollPane AWT, Swing, JavaFX & SWT 3
N Label auf Hauptfenster manipulieren AWT, Swing, JavaFX & SWT 2
S VAADIN: Problem mit Label AWT, Swing, JavaFX & SWT 18
P Ausgabe Label AWT, Swing, JavaFX & SWT 6
S ImageIcon von Label entfernen AWT, Swing, JavaFX & SWT 9
B Label breite ermitteln vor dem rendern? AWT, Swing, JavaFX & SWT 7
A Bekomme das Label nicht in die Mitte von Reihe AWT, Swing, JavaFX & SWT 7
H SWT Markierbares Label AWT, Swing, JavaFX & SWT 8
A Swing Box Label ausrichten AWT, Swing, JavaFX & SWT 3
R Label in den Vordergrund einblenden AWT, Swing, JavaFX & SWT 5
J Hintergrund Label-Frame AWT, Swing, JavaFX & SWT 3
O Swing Label(bzw. Grafik) verdekt von anderm Label AWT, Swing, JavaFX & SWT 2
A TextField und Label AWT, Swing, JavaFX & SWT 8
L Label dynamisch awt AWT, Swing, JavaFX & SWT 2
J Label mit transparentem hintergrund - geht das? AWT, Swing, JavaFX & SWT 21
B Die Werte von getLocation() im Label anzeigen AWT, Swing, JavaFX & SWT 4
Avalarion SWT Listener auf Label oder Text Teile AWT, Swing, JavaFX & SWT 10
C Label Hintergrundbild mit Text AWT, Swing, JavaFX & SWT 6
A SWT - Farbe von Text auf Label ändern AWT, Swing, JavaFX & SWT 2
M gridbaglayout - abstand bei label und field AWT, Swing, JavaFX & SWT 8
hdi SWT Label Text vertikal zentrieren AWT, Swing, JavaFX & SWT 6
T In einem Label scrollen AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben