Wątek przeniesiony 2014-05-21 10:26 z Java przez bogdans.

Jak wyświetlić tekst pod wczytanym obrazkiem?

0

Cześć,
ma ktoś jakiś pomysł jak wyświetlić tekst pod obrazkiem wczytanym i wyrysowanym metodą drawImage?
Mój kod wyświetla napis ale na obrazku na na samej górze a ja potrzebuje przesunąć do na sam dół okienka JFrame.

	Zadanie_3(){
		String napis = "<html lang=pl<head></head><body><div><p style=text-agling:center;>Tekst pod obrazkiem</p></div></body></html>";
		JLabel etykieta = new JLabel(napis);
		add(etykieta, BorderLayout.SOUTH);
	}

Kolega zajmujący się html twierdzi że powinno działać ale jest to błędne twierdzenie.
Może ktoś ma pomysł jak powinno to wyglądać.
I na pewno nie chodzi o użycie drawString i dopasowanie współrzędnych.

0

Dodaj do JFrame panel w obszarze CENTER i na tym panelu wywołaj drawImage. Wtedy wystarczy

        JLabel etykieta = new JLabel("Tekst pod obrazkiem");
        add(etykieta, BorderLayout.SOUTH);
0

Rysowanie i wywołanie wygląda tak więc nie wiem o co ci chodzi. :/

Image img;
	Border ramka = BorderFactory.createEtchedBorder(Color.red, Color.yellow);

	public void paintComponent(Graphics g){
        super.paintComponent(g);
        ramka.paintBorder(null, g, 0, 0, getWidth(), getHeight());
        File plikObrazka = new File("C:/Users/dell/Downloads/pjwstk.jpg");
		try{
			img = ImageIO.read(plikObrazka);
	    } catch (IOException e) {
	    	System.err.println("Blad odczytu obrazka");
	    	e.printStackTrace();
	    }
		g.drawImage(img, 5, 5, null);
	}
	
	Zadanie_3(){
		String napis = "<html lang=pl<head></head><body><div><p style=text-agling:center;>Tekst pod obrazkiem</p></div></body></html>";
		JLabel etykieta = new JLabel(napis);
		add(etykieta, BorderLayout.SOUTH);
	}
	
	public Dimension getPreferredSize(){
        return new Dimension(550, 100);
    }
0

Metoda paintComponent powyżej jest metodą z JFrame, czy z JPanel dodanego do JFrame?
Kod powyżej jest raczej idiotyczny, nie należy wykonywać żadnych długich czynności w metodzie paintComponent. W szczególności nie wolno w niej czytać plików. Nie należy też wyświetlać obrazka, którego nie udało się wczytać.

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