1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Labels verdecken Grafiken

  • Kargoth
  • 7. Juni 2005 um 18:14
  • Unerledigt
  • Kargoth
    1
    Kargoth
    Mitglied
    Punkte
    10
    Beiträge
    1
    • 7. Juni 2005 um 18:14
    • #1

    Hallo,

    Ich habe folgendes Problem:
    Mit einem GridBackLayout habe ich meine Labels und Buttons angeordnet, soweit ging dies auch noch.
    Zur Verbesserung der Optik hatte ich vorerst die Hintergründe der Labels grau gefärbt (der zugewiesene Platz für das einzele Label ist grau), um eine Denkstützte für mich zu haben , wie groß die Labels und Buttons genau sind.
    Nun wollte ich neben die verschiedenen Labels verschiedene Grafiken einfügen, was auch klappte. Das Einfügen und positionieren der Grafiken an sich stellt kein Problem dar, aber leider verdecken die "gefärbeten" Hintergründe der Labels die Grafiken. Ist es möglich genau diese Hintergründe irgendwie Transparent zu machen oder die Grafiken irgendwie in den Vordergrund zu bringen?

    Es geht in dem angehängten Code um die Grafik "goldmine"

    PS: Das Ganze handelt sich um ein Projekt, daher auch die 2 benötigten Bilder, auch wenn das Eine etwas "lustig" aussieht, das ist nur ein Entwurf.
    Die Bilder und die Java Datei müssen nur zusammen in einen Ordner damit es geht.

    Hier mal ein Teil des Codes damit es besser zu verstehen ist:

    Benötigte Bilder:

    bild1

    bild2


    Java
    /* Wichtig , dass das Applet auf die Größe 600*400 geändert wird*/
    
    
    import java.awt.event.*;
    import java.awt.*;
    import java.util.*;
    import java.applet.*;
    import java.awt.Image;
    import java.awt.Graphics;
    
    
    public class frage extends Applet
    {
      Image Hintergrund,Goldsymbol;
    
    
      Label l_Gold, l_Arbeiter, l_Soldat, l_Wohngebäude, l_Bauernhof, l_Held;
      Label l_leer1, l_leer2, l_leer3, l_leer4, l_leer5, l_leer6, l_leer7;
      Button b_Gebäude, b_Forschung, b_Bedienstete;
    
    
    
    
    
    
    
    
    
    
    
    
    
    
      public void init()
      {
    
    
    
    
    
    
        GridBagLayout gbl = new GridBagLayout();
        GridBagConstraints gbc;
        setLayout(gbl);
    
    
        gbc = makegbc(0,0,1,1);
        l_Gold = new Label("Gold:");
        gbc.fill = GridBagConstraints.BOTH;
        gbl.setConstraints(l_Gold, gbc);
    
    
          gbc = makegbc(0,1,1,1);
          l_leer1 = new Label(" ");
          gbc.ipady = -20;
          gbc.ipadx = 70;
          gbl.setConstraints(l_leer1, gbc);
    
    
        gbc = makegbc(1,0,1,1);
        l_Arbeiter = new Label("Arbeiter:");
        gbc.fill = GridBagConstraints.BOTH;
        gbl.setConstraints(l_Arbeiter, gbc);
    
    
          gbc = makegbc(1,1,1,1);
          l_leer2 = new Label(" ");
          gbc.ipady = -20;
          gbc.ipadx = 70;
          gbl.setConstraints(l_leer2, gbc);
    
    
        gbc = makegbc(2,0,1,1);
        l_Soldat = new Label("Soldaten:");
        gbc.fill = GridBagConstraints.BOTH;
        gbl.setConstraints(l_Soldat, gbc);
    
    
          gbc = makegbc(2,1,1,1);
          l_leer3 = new Label(" ");
          gbc.ipady = -20;
          gbc.ipadx = 70;
          gbl.setConstraints(l_leer3, gbc);
    
    
        gbc = makegbc(3,0,1,1);
        l_Wohngebäude = new Label("Wohngebaeude:");
        gbc.fill = GridBagConstraints.BOTH;
        gbl.setConstraints(l_Wohngebäude, gbc);
    
    
          gbc = makegbc(3,1,1,1);
          l_leer4 = new Label(" ");
          gbc.ipady = -20;
          gbc.ipadx = 70;
          gbl.setConstraints(l_leer4, gbc);
    
    
        gbc = makegbc(4,0,1,1);
        l_Bauernhof = new Label("Bauernhoefe:");
        gbc.fill = GridBagConstraints.BOTH;
        gbl.setConstraints(l_Bauernhof, gbc);
    
    
          gbc = makegbc(4,1,1,1);
          l_leer5 = new Label(" ");
          gbc.ipady = -20;
          gbc.ipadx = 70;
          gbl.setConstraints(l_leer5, gbc);
    
    
        gbc = makegbc(5,0,1,1);
        l_Held = new Label("Helden:");
        gbc.fill = GridBagConstraints.BOTH;
        gbl.setConstraints(l_Held, gbc);
    
    
          gbc = makegbc(5,1,1,1);
          l_leer6 = new Label(" ");
          gbc.ipady = -20;
          gbc.ipadx = 70;
          gbl.setConstraints(l_leer6, gbc);
    
    
          gbc = makegbc(0,2,1,1);
          l_leer7 = new Label(" ");
          gbc.ipady = 300;
          gbc.ipadx = -17;
          gbl.setConstraints(l_leer7, gbc);
    
    
    
    
        gbc = makegbc(1,3,1,1);
        b_Gebäude = new Button("Gebaeude");
        gbc.fill = GridBagConstraints.BOTH;
        gbl.setConstraints(b_Gebäude, gbc);
    
    
        gbc = makegbc(2,3,1,1);
        b_Forschung = new Button("Forschung");
        gbc.fill = GridBagConstraints.BOTH;
        gbl.setConstraints(b_Forschung, gbc);
    
    
        gbc = makegbc(3,3,1,1);
        Button b_Bedienstete = new Button("Bedienstete");
        gbc.fill = GridBagConstraints.BOTH;
        gbl.setConstraints(b_Bedienstete, gbc);
    
    
        l_Gold.setBackground(Color.gray);
        l_Arbeiter.setBackground(Color.gray);
        l_Soldat.setBackground(Color.gray);
        l_Wohngebäude.setBackground(Color.gray);
        l_Bauernhof.setBackground(Color.gray);
        l_Held.setBackground(Color.gray);
    
    
        add(l_Gold);
        add(l_Arbeiter);
        add(l_Soldat);
        add(l_Wohngebäude);
        add(l_Bauernhof);
        add(l_Held);
    
    
        add(l_leer1);
        add(l_leer2);
        add(l_leer3);
        add(l_leer4);
        add(l_leer5);
        add(l_leer6);
        add(l_leer7);
    
    
        add(b_Gebäude);
        add(b_Forschung);
        add(b_Bedienstete);
      }
    
    
      public void paint(Graphics g)
      {
      Image Hintergrund = getImage(getDocumentBase(), "IT Projekt.jpg"); //Hintergrundbild//
      g.drawImage(Hintergrund,0,39,  600, 327, this);
    
    
    
    
      Image Goldsymbol = getImage(getDocumentBase(), "goldmine.jpg");
      g.drawImage(Goldsymbol,81,4,30,30,this);
      }
    
    
      private GridBagConstraints makegbc(int x, int y, int width, int height)
      {
        GridBagConstraints gbc = new GridBagConstraints();
        gbc.gridx = x;
        gbc.gridy = y;
        gbc.gridwidth = width;
        gbc.gridheight = height;
        gbc.insets = new Insets(1,1,1,1);
        return gbc;
      }
    }
    Alles anzeigen
  • Marc_enaweg
    9
    Marc_enaweg
    Mitglied
    Reaktionen
    1
    Punkte
    771
    Beiträge
    147
    • 7. Juni 2005 um 19:26
    • #2

    also beim drüber fliegen würde ich sagen dein Problem ist, dass du zuerst die Labels zeichnest (im "init") und danach beim "paint" den Hintergrund darüber zeichnest. Ich würde erwarten, dass beim Applet eine Methode setBackgroundImage(..) existiert und dort würde ich das gezeichnete Hintergrundbild einfügen. So sollten die Labels immer vorne bleiben. Oder du verwendest gleich ganz Java2D.

    Aber wie gesagt, hab mich damit nicht beschäftigt und auch noch nie ein Applet geschrieben.

    [Enaweg]

  • calvin
    3
    calvin
    Mitglied
    Punkte
    95
    Beiträge
    13
    • 7. Juni 2005 um 22:23
    • #3

    hallo
    kleine frage: warum verwendest du anstelle des Label nicht ein JLabel? Dieses kannst du mittels setOpaque transparent machen

    sonst würde ich auch auf java2d umsteigen.

    lg

    Arithmetik heißt, bis zwanzig zählen zu können,
    ohne die Schuhe auszuziehen.
    Mickey Mouse.

  • Maximilian Rupp 27. Dezember 2024 um 12:06

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Benutzer online in diesem Thema

  • 1 Besucher

Rechtliches

Impressum

Datenschutzerklärung