Jedním z omezení programu jsme pracovali na tak daleko, je skutečnost, že se předpokládá, že je okno 200 200 pixelů. Co kdybychom se chtěl zeptat okna, " Jak velké jsou ty, &Quot?; a pak velikost náš obdélník a úhlopříčky, aby se vešly? Vydáte-li se zpět a podívat se na stránce dokumentace pro grafické třídy (java.awt.Graphics.html - soubor, který obsahuje všechny dostupné funkce kreslení), uvidíte, že jedna z funkcí se nazývá getClipBounds. Kliknutím na tento název funkce vidět úplný popis. Tato funkce přijímá žádné parametry, ale místo toho vrací hodnotu typu obdélník. Obdélník vrátí obsahuje šířku a výšku dostupné grafické oblasti. Pokud kliknete na obdélník v této stránce dokumentace budete přesměrováni na stránku s dokumentací pro třídy Rectangle (java.awt.Graphics.html). Při pohledu v proměnné části indexu v horní části stránky, zjistíte, že tato třída obsahuje čtyři proměnné pojmenované x, y, šířka a výška, resp. To, co chceme dělat, a proto, je dostat klip hraniční obdélník pomocí getClipBounds a poté extrahovat šířku a výšku z tohoto obdélníku a uložení hodnot v proměnných šířky a výšky jsme vytvořili v předchozím příkladu, jako je tento:
dovozních java.awt.Graphics, import java.awt.Color, import java.awt.Rectangle; public class FirstApplet rozšiřuje java.applet.Applet {public void paint (Graphics g) {int šířka; int výška; Obdélník r; r = g.getClipBounds (); width = r.width - 1; výška = r.height - 1; g.drawRect (0, 0, šířka, výška); g.drawLine (0, 0, šířka, výška); g.drawLine (šířka, 0, 0, výška); }}Při spuštění tohoto příkladu, co si všimnete, je, že obdélník a úhlopříčkami přesně zapadají do kreslicí plochy. Navíc, při změně velikosti okna, obdélník a úhlopříčky překreslování se na nové velikosti automaticky. K dispozici je pět nové koncepty představené v tomto kódu, tak se pojďme podívat na ně:
- První, protože jsme pomocí třídy Obdélník musíme dovážet java.awt.Rectangle na třetím řádku programu .
- jsme deklarovali tři proměnné v tomto programu. Dvě (šířka a výška) jsou typu int a jeden (R) je typu obdélníku.
- Použili jsme getClipBounds funkci získat velikost kreslicí plochy. Přijímá žádné parametry, takže jsme absolvovali ji nikdo (" () "), ale vrací obdélník. Napsali jsme linku, " r = g.getClipBounds (); " říkat, " Prosím, vložte vrácený obdélník do proměnné R '.
- Proměn