Avatar billede Slettet bruger
08. oktober 2002 - 13:54 Der er 2 kommentarer

Applet fill color

Det duer ikke det her.
g2.drawString(message1, (float)xLeft, (float)yBase);
       
       
      g2.fill(new Rectangle2D.Double(xLeft, yTop,
        xMessageWidth, yMessageHeight));

Teksten forsvinder "under" udfyldningen.
Hvad er problemet?
Avatar billede karinotzen Nybegynder
08. oktober 2002 - 14:06 #1
så vidt jeg kan se så er problemet at du tegner strengen før du fylder firkanten ud.

Prøv at gøre det omvendt...

mvh. Karin Otzen
Avatar billede Slettet bruger
08. oktober 2002 - 14:20 #2
Nop...

Men her er så hele koden

import java.applet.Applet;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.font.FontRenderContext;
import java.awt.geom.Line2D;
import java.awt.geom.Rectangle2D;
import java.awt.Color;

public class P410 extends Applet

  public void paint(Graphics g)
  { 
      Graphics2D g2 = (Graphics2D)g;
        Graphics2D g5 = (Graphics2D)g;
      final int FONT_SIZE = 36;
      Font fontSize = new Font("Serif", Font.BOLD, FONT_SIZE);
     
      g2.setFont(fontSize);
        g2.setColor(Color.black);
       
      String message = "Password";

      FontRenderContext context = g2.getFontRenderContext();
      Rectangle2D bounds = fontSize.getStringBounds(message, context);

      double yMessageAscent = -bounds.getY();
      double yMessageDescent = bounds.getHeight() + bounds.getY();
      double yMessageHeight = bounds.getHeight();
      double xMessageWidth = bounds.getWidth();

      double xLeft = (getWidth() - xMessageWidth) / 2;
      double yTop = (getHeight() - yMessageHeight) / 2;
      double yBase = yTop + yMessageAscent;

        g2.drawString(message, (float)xLeft, (float)yBase);

        g5.setColor(Color.blue);
        g5.fill(new Rectangle2D.Double(xLeft, yTop,
        xMessageWidth, yMessageHeight));
    }
}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester