Avatar billede snuseren.dk Nybegynder
07. april 2003 - 16:48 Der er 3 kommentarer og
1 løsning

Ændre tekstfarve..

Hej, jeg har lavet et applet, som skal blive til en online editor... Jeg har fået Tekststørrelse på, Kursiv, og fed og skrifttype. Men jeg kan ikke få det til at virke, med hvilken farve teksten skal have. Koden ser sådan ud:

import java.applet.Applet;
import java.awt.*;

public class Ord extends Applet
{

  private TextArea indtast = new TextArea(10, 40);
  private Scrollbar fsize = new Scrollbar(Scrollbar.HORIZONTAL, 12, 25, 8, 72);
  private Choice fname = new Choice();
  private Choice farve = new Choice();
  private Label punkt = new Label("12");
  private CheckboxGroup style = new CheckboxGroup();
  private Checkbox plain = new Checkbox("Normal", style, true);
  private Checkbox bold = new Checkbox("Fed", style, false);
  private Checkbox italic = new Checkbox("Kusiv", style, false);
  private String fontname = new String("Times Roman");
  private String tekstfarve = new String("black");
  private int fontsize = 12;

  private void SetFont()
  {
    int stil = Font.PLAIN;
    if (bold.getState())
      stil = Font.BOLD;
    else if (italic.getState())
      stil = Font.ITALIC;
    indtast.setFont(new Font(fontname, stil, fontsize)); 
  }
 
  public void init()
  {
    resize(300, 300);
    fname.addItem("Times Roman");
    fname.addItem("Courier");
    fname.addItem("Helvetica");
    fname.addItem("Dialog");
    fname.addItem("DialogInput");
    farve.addItem("black");
    farve.addItem("yellow");
    farve.addItem("red");
    farve.addItem("green");
    add(indtast);
    add(fsize);
    add(punkt);
    add(fname);
    add(farve);
    add(plain);
    add(bold);
    add(italic);
    SetFont();
    indtast.requestFocus();
  }

  public boolean handleEvent(Event event)
  {
    if (event.target == fsize)
    {
      fontsize = fsize.getValue();
      punkt.setText(String.valueOf(fontsize));
      SetFont();
      return true;
    }
    else if (event.target == fname)
    {
      fontname = fname.getItem(fname.getSelectedIndex());
      SetFont();
      return true;
    }
    else if (event.target == plain || event.target == bold || event.target == italic)
    {
      SetFont();
      return true;
    }
    return false;
  }

}

Og hvordan gør man sådan, at det ikke er ALT teksten, der f.eks. bliver fed, men sådan at det kun bliver fed det man markerer.

Og hvordan får man alle de andre funktioner på, som centrering, og bg farve, osv...

På forhånd tak :o)

MVH
Anders
Avatar billede =maddog= Nybegynder
08. april 2003 - 10:01 #1
Det vil du ALDRIG kunne i AWT. TextArea har nativt interface og java-koden vil ikke kunne have indflydelse på tekstens repræsentation.
Du bliver nød til at anvende de mere avancerede komponenter fra Swing klasserne, hvor du har mulighed for at sætte style på enkelte udsnit af teksten.
Jeg vil anbefale dig at følge SUN's on-line kursus. Det er for omfattende til at gennemgå her.
http://java.sun.com/docs/books/tutorial/uiswing/components/text.html
Avatar billede snuseren.dk Nybegynder
09. april 2003 - 16:15 #2
ok, tak. Men man kan jo lave fed skrift m.m. Men ligger du ikke et svar??
Avatar billede snuseren.dk Nybegynder
09. april 2003 - 16:16 #3
der er nok noget jeg har misforstået. Kan man bruge swing til applets ?
Avatar billede snuseren.dk Nybegynder
12. april 2003 - 08:46 #4
Så lukker jeg.
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