Graphics2D Nie wyswietla sie obrazek

Odpowiedz Nowy wątek
2011-08-20 15:26
0

Oto mój kod:

import javax.swing.*;
import java.awt.*;
 
public class Main extends JApplet{
    Image cegla;
    public void init(){
        cegla = getImage(getDocumentBase(), "cegla.png");
    }
    public void paint(Graphics grafika){
        Graphics2D grafa = (Graphics2D) grafika;
        grafa.clearRect(0, 0, getSize().width, getSize().height);
        grafa.drawImage(cegla, 20, 20, this);
    }
}

W katalogu, gdzie znajduje się kod klasy znajduje się plik cegla.png. Problem w tym, że niestety w aplecie ten obrazek się nie wyświetla. Dlaczego?

edytowany 1x, ostatnio: klapaucius, 2011-08-20 16:15

Pozostało 580 znaków

2011-08-21 01:08
0

Wyświetl sobie ścieżkę: getCodeBase() i zobaczy czy w tym katalogu znajduje się twój obrazek.


Pozostało 580 znaków

2011-08-21 08:45
bo
0

Zarezerwowałeś w znaczniku aplet (width=..., height=...) wystarczająco dużo miejsca na obrazek?

Pozostało 580 znaków

2011-08-21 13:51
0
mykhaylo napisał(a)

Wyświetl sobie ścieżkę: getCodeBase() i zobaczy czy w tym katalogu znajduje się twój obrazek.

Nie za bardzo wiem jak to zrobić.

bo napisał(a)

Zarezerwowałeś w znaczniku aplet (width=..., height=...) wystarczająco dużo miejsca na obrazek?

Hmm.. Nie, gdyż robię to w programie Eclipse i daję tylko Zielony przycisk "Wykonaj".

Pozostało 580 znaków

2011-08-21 15:50
bo
0
  1. System.out.println(getCodeBase());
  2. Napisz plik typu html z taki fragmentem
    <applet code="Main" width="..." height="...">
    </applet>

    i otwórz go w przeglądarce.

Pozostało 580 znaków

2011-08-21 16:30
0

Utworzyłem ten plik html ale mimo to dalej nie działa. Sami sprawdźcie.. oto katalog z moim programem:
http://www.speedyshare.com/files/29966734/src.rar

Pozostało 580 znaków

2011-08-21 17:51
bo
0

Czytaj uważnie odpowiedzi, brakuje

</applet>

Pozostało 580 znaków

2011-08-21 18:01
0

faktycznie, przegapiłem to. Ale niestety po dodaniu tego do pliku html dalej nie działa... dlaczego? :(

@Edit:

Zrobiłem teraz coś takiego:

import java.awt.*;
import javax.swing.JApplet;
 
public class Tetris extends JApplet{
    Image cegla;
    public void init(){
        cegla = new getImage(getCodeBase(), "cegla.png");
    }
    public void paint(Graphics grafa){
        grafa.clearRect(0, 0, getSize().width, getSize().height);
        grafa.drawImage(cegla, 20, 20, this);
    }
}

Ale przy kompilacji wyskakuje błąd:
"Nie można rozpoznać getImage jako typu."
Dlaczego, skoro odpowiednio zaimplementowałem potrzebne pakiety?

@edit2:
A no tak.. nie wiem co dzisiaj ze mną się dzieje ... :)
dobra teraz już wszystko działa.. Ciekawie czemu przedtem nie działało.. ahhh. Dzieki w każdym razie za pomoc, pozdrawiam!

edytowany 4x, ostatnio: klapaucius, 2011-08-21 20:48
Bo takiego typu nie ma. Po co tam te new? new służy tylko do tworzenia nowych obiektów, a ty wywołujesz metodę, która zwraca jakiś obiekt - Razi91 2011-08-21 20:31

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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