Skalowanie czcionki...

0

Witam,
skorzystałem z kodu, służącego do skalowania czcionki, zamieszczonego przez "bo" w przedostatnim poście tego tematu:
http://4programmers.net/Forum/Java/135581-Java_skalowanie_czcionki

Tylko mam z nim pewien problem, ponieważ gdy przepiszę ten kod na oddzielna klasę to mi to po prostu nie działa

  • http://wklej.org/id/1034667/ - Mój kod
    Eclipse podkreśla na czerwono linijkę 52 (pack()), czemu ją podkreśla, a w kodzie "bo" już jest wszystko ok? Czy to może być powodem, że skalowanie nie działa? I do czego to właściwie służy? Pomógłby mi ktoś?

Jestem początkujący, więc proszę o wyrozumiałość. Pozdrawiam

1

podkreśla bo klasa Applet, którą rozszrzerzasz takiej metody nie posiada:
http://docs.oracle.com/javase/6/docs/api/java/applet/Applet.html
pack() - http://docs.oracle.com/javase/6/docs/api/java/awt/Window.html#pack()

0

A czy bez tego packa dałoby radę jakoś skalować czcionkę? Doradzicie coś?

1

pack(); jest w aplecie zupełnie niepotrzebne, (tym bardziej przy rozkładzie) GraidBagLayout. pack() z grubsza rzecz biorąc, to polecenie by skonstruować najmniejszy JFrame, który pomieści wszystkie komponenty (btw, "bo" to moja niezalogowana wersja).

0

To więc jeśli nie packa wina, to czemu nie działa mi skalowanie? :-/

0

A jak poznałeś, że nie działa? Udało Ci się zmienić rozmiar apletu?

  1. Rozmiar apletu ustala się w przeglądarce.
<applet code="..." width="..." height="..."></applet>

zatem wywołanie

 setSize(420,220);

jest niepotrzebne.
2. Brakuje

addComponentListener(this);
  1. Jak użytkownik ma zmienić rozmiar apletu? Bo dopiero po zmianie rozmiaru zadziała metoda componentResized.
0

Odpal w eclipsie appleta i spróbuj go testować bo tam możesz resize zrobić;
A tak to nwm czy applet oddziałuje na zmiane rozmiaru przeglądarki ale tu jest tip:
http://stackoverflow.com/questions/375252/how-to-resize-a-java-applet-when-the-browser-is-resized

0

No właśnie testuje w eclipse appleta i cały czas nie działa.

@bogdans 3. jak uruchamiam w eclipse to mogę rozszerzać okienko i w twoim kodzie wszystko działa, ale u mnie dalej nie. Dodałem też addComponentListener(this); jednak to nic nie pomogło.

0

Przecież użytkownik będzie odpalał aplet w przeglądarce, a nie w Eclipsie. Czy można zmienić rozmiar apletu w przeglądarce?
Zmień używaną bibliotekę AWT na Swing, w szczególności Button na JButton i przenieś instrukcje

width = bZero.getWidth();
height = bZero.getHeight();

do metody start()

public void start()
{
     width = bZero.getWidth();
     height = bZero.getHeight();	
}

Metoda init() jest wykonywana przed wyświetleniem apletu i metody getWidth() i getHeight() zwracają wtedy zero.

1 użytkowników online, w tym zalogowanych: 0, gości: 1