Guten Tag,
ich bin ganz neu in Java und möchte folgendes programmieren:
aus einem JApplet heraus soll sich nach dem Drücken eines Buttons ein neues Fenster (JFrame?) öffnen, in welchem eine Grafik (JPG oder PNG) angezeigt wird.
Ich habe hier und in der Standard-Literatur (Krüger, "Insel") schon ähnliche Themen gefunden, aber da soll immer direkt in das Applet gezeichnet werden. Mir fehlt da bislang der "rote Faden", weil es - scheinbar - recht unterschiedliche Wege gibt.
Kennt jemand ein gutes Tutorial?
Der Code unten öffnet lediglich ein leeres Fenster in minimaler Größe.
Gekürztes, lauffähiges Beispiel:
Kennt jemand ein gutes Tutorial zum Laden von Grafiken?
Freundliche Grüße aus Hannover
ich bin ganz neu in Java und möchte folgendes programmieren:
aus einem JApplet heraus soll sich nach dem Drücken eines Buttons ein neues Fenster (JFrame?) öffnen, in welchem eine Grafik (JPG oder PNG) angezeigt wird.
Ich habe hier und in der Standard-Literatur (Krüger, "Insel") schon ähnliche Themen gefunden, aber da soll immer direkt in das Applet gezeichnet werden. Mir fehlt da bislang der "rote Faden", weil es - scheinbar - recht unterschiedliche Wege gibt.
Kennt jemand ein gutes Tutorial?
Der Code unten öffnet lediglich ein leeres Fenster in minimaler Größe.
Gekürztes, lauffähiges Beispiel:
Code:
import java.awt.Graphics;
import java.awt.Image;
import javax.swing.JComponent;
public class ViewComponent extends JComponent
{
private Image image;
public void setImage(Image img)
{
this.image = img;
if (image != null)
{
repaint();
}
}
@Override
protected void paintComponent(Graphics g)
{
if (image != null) g.drawImage(image, 0, 0, this);
}
}
Code:
import javax.swing.*;
import java.awt.*;
public class ImageFrame extends JFrame
{
private ViewComponent viewComponent = new ViewComponent();
private static final long serialVersionUID = -860326443865178967L;
public ImageFrame(Image img)
{
super("Bildbetrachter");
this.add(viewComponent);
viewComponent.setImage(img);
}
}
Code:
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.GridLayout;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.net.MalformedURLException;
import java.net.URL;
import javax.swing.*;
public class TestBasis extends JApplet implements ActionListener
{
private static final long serialVersionUID = 6297258864306719322L;
private Image pict;
private JTextField tx2;
public void start()
{
Container p0;
p0 = this.getContentPane();
p0.setLayout(new BorderLayout());
JLabel title = new JLabel("Test diverser GUI-Elemente");
p0.add(title, BorderLayout.NORTH);
JPanel p1 = new JPanel();
p1.setLayout(new GridLayout(1, 2, 5, 5));
JButton b2 = new JButton("Grafik zeigen (Platte)");
b2.setActionCommand("grafik");
b2.addActionListener(this);
p1.add(b2);
tx2 = new JTextField("FILE://H:\\2004-12-01_GLL-Karte_aus_LGN-Kartenverzeichnis.jpg");
p1.add(tx2);
p0.add(p1, BorderLayout.CENTER);
}
public void actionPerformed(ActionEvent e)
{
try
{
String act = e.getActionCommand();
if (act.equals("grafik"))
{
pict = getImage(new URL(tx2.getText()));
ImageFrame pictFr=new ImageFrame(pict);
pictFr.setVisible(true);
}
}
catch (MalformedURLException e1)
{
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
Kennt jemand ein gutes Tutorial zum Laden von Grafiken?
Freundliche Grüße aus Hannover