Bild und HTML

Status
Nicht offen für weitere Antworten.

bernd

Bekanntes Mitglied
Hallo erst mal!
Als erstes möchte ich mal möchte ich bekannt geben das ich folgende Frage auch schon in einem
anderen Forum gestellt habe, und auch Antworten bekommen habe.
Allerdings habe ich das Gefühl das ich mich da etwas ungeschickt ausgedrückt habe
oder wir schlicht aneinander vorbeigeredet haben. (oder ich das einfach nicht verstehe) ???:L

Deswegen versuche ich hier noch mal nen Neuanfang,
in der Hoffnung das ich das jetzt was besser rüber bringen kann!

Und zwar möchte ich per Knopfdruck ein Bild, "smile2.gif" mittels HTML-Tag (glaube das heißt so)
in einem JTextPane einfügen.
Das JTextPane soll den HTML-Tag anzeigen, aber als Bild und nicht als Code.

"smile.gif liegt im selben Arbeitsverzeichnis wie meine java Datei.

Mein code:

Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.net.*;
import java.util.*;
import javax.swing.text.html.HTMLEditorKit;

public class Datei1 extends JFrame {
  // Anfang Variablen
  static final JTextPane jtp1 = new JTextPane();
  private JButton jbusend = new JButton();
  // Ende Variablen

  public Datei1(final String title) {
    // Frame-Initialisierung
    super(title);
    addWindowListener(new WindowAdapter() {
      public void windowClosing(final WindowEvent evt) { System.exit(0); } });
    setBounds(10, 10, 600, 600);
    Container cp = getContentPane();
    cp.setLayout(null);

    // Anfang Komponenten
    jtp1.setBounds(5, 5, 300, 370);
     jtp1.setEnabled(false);
     getContentPane().add(jtp1);
    jbusend.setText("senden");
    jbusend.setBounds(400, 300, 100, 50);
    getContentPane().add(jbusend);
    jbusend.addActionListener(new ActionListener() {
      public void actionPerformed(final ActionEvent evt) {
        jbusendActionPerformed(evt); } });

    // Ende Komponenten

    setVisible(true);
  }

  // Anfang Ereignisprozeduren
  public void jbusendActionPerformed(final ActionEvent evt) {

     jtp1.setEditorKit(new HTMLEditorKit());
      //jtp1.setContentType("TEXT/HTML");
     String htmlText = "<IMG SRC=\"smile2.gif\">";

     System.out.println(htmlText);

     jtp1.setText(htmlText);

  }
  // Ende Ereignisprozeduren

  public static void main(final String[] args) {
    new Datei1("Datei1");
  }
}

Das Programm läßt sich compilieren und ausführen, aber statt des Bildes "smile2.gif" wird ein
Standartsymbol angezeigt!

Hat einer ne Idee???
???:L
 

foobar

Top Contributor
Code:
public void jbusendActionPerformed(final ActionEvent evt) 
  {
	 jtp1.setEditorKit(new HTMLEditorKit());
	 jtp1.setContentType("text/html");
	 String path =  this.getClass().getResource("smile2.gif").getPath();
	 String prefix = "file://";
	 String htmlText = "<img src=\""+ prefix+path +"\">";
	 System.out.println(htmlText);
	 HTMLDocument doc = (HTMLDocument)jtp1.getDocument();
	 try
	 {
		((HTMLEditorKit)jtp1.getEditorKit()).insertHTML(doc, 0, htmlText, 0, 0, HTML.Tag.IMG);
	 }
	 catch (BadLocationException e1)
	 {
		e1.printStackTrace();
	 }
 	 catch (IOException e1)
	 {
		e1.printStackTrace();
	 }
Hier gibts noch mehr Informationen zu dem Thema: http://www.javaworld.com/javaworld/javatips/jw-javatip109.html
 

bernd

Bekanntes Mitglied
Danke sieht schon klasse aus, hab jetzt noch ne Fehlermeldung:
package HTML does not exist.

Was muss ich denn da noch importieren?

Gruß Bernd.
:toll:
 

foobar

Top Contributor
Code:
import java.awt.Container;
import java.awt.event.*;
import java.io.IOException;
import javax.swing.*;
import javax.swing.text.BadLocationException;
import javax.swing.text.html.*;
oder in Eclipse einfach Strg + Shift + O drüchen :)
 

bernd

Bekanntes Mitglied
Erste Sahne,
Vielen Dank noch mal.
Funktioniert einwandfrei!
Ich wußte das es irgendwie gehen muss!
Im anderen Forum wurde mir gesagt, das Problem läge in meinem Programm,
ich sollte das am besten das Programm von anfang an noch mal neu schreiben.
:autsch:

:applaus:
 

bernd

Bekanntes Mitglied
Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.net.*;
import java.util.*;
import javax.swing.text.html.HTMLEditorKit;
import java.awt.Container;
import java.io.IOException;
import javax.swing.text.BadLocationException;
import javax.swing.text.html.*;
/**
  *
  * Beschreibung.
  *
  * @version 1.0 vom 19.08.2004
  * @author Bernd
  */

public class UDP_S extends JFrame {
  // Anfang Variablen
  static final JTextPane jtp1 = new JTextPane();
  static final String newline = System.getProperty("line.separator");
  private JTextPane jtpeingabe = new JTextPane();
  private JButton jbusenden = new JButton();
  private JScrollPane jsp1 = new JScrollPane();
  private JButton jbuende = new JButton();
  private JScrollPane jsp2 = new JScrollPane();
  private JButton jbubeenden = new JButton();
  private JToolBar tb = new JToolBar();
  private JButton b1 = new JButton(new ImageIcon(UDP_S.class.getResource("smile2.gif")));
  private JButton b2 = new JButton(new ImageIcon(UDP_S.class.getResource("barney.gif")));
  private JButton b3 = new JButton(new ImageIcon(UDP_S.class.getResource("mill.gif")));
  private JButton b4 = new JButton(new ImageIcon(UDP_S.class.getResource("smile1.gif")));
  private JPanel panel = new JPanel();
  private JComboBox jcbIP = new JComboBox();
  private JButton jbuHost = new JButton();
  private JLabel jlbHost = new JLabel();
  private HTMLEditorKit MyEdKit = new HTMLEditorKit();
  
  // Ende Variablen

  public UDP_S(final String title){

    // Frame-Initialisierung
    super("Bernd sein Intranet - Chat, Version 1.0");
    addWindowListener(new WindowAdapter() {
      public void windowClosing(final WindowEvent evt) { System.exit(0); } });
    setBounds(20, 20, 600, 525);
    Container cp = getContentPane();
    cp.setLayout(null);

    // Anfang Komponenten
     tb.add(b1);
     tb.add(b2);
     tb.add(b3);
     tb.add(b4);
     tb.setRollover(true);
     tb.setFloatable(false);
     panel.add(tb);
     panel.setBackground(Color.green);
     panel.setBounds(310, 40, 170, 265);
     getContentPane().add(panel);
     
     b1.addActionListener(new ActionListener() {
      public void actionPerformed(final ActionEvent evt) {
        b1ActionPerformed(evt); } });
        
     b2.addActionListener(new ActionListener() {
      public void actionPerformed(final ActionEvent evt) {
        b2ActionPerformed(evt); } });
        
        b3.addActionListener(new ActionListener() {
      public void actionPerformed(final ActionEvent evt) {
        b3ActionPerformed(evt); } });

     b4.addActionListener(new ActionListener() {
      public void actionPerformed(final ActionEvent evt) {
        b4ActionPerformed(evt); } });

     jtp1.setBounds(5, 5, 300, 370);
     jtp1.setEnabled(false);
//     MyEdKit.createDefaultDocument();
//     jtp1.setEditorKit(MyEdKit);
     jtpeingabe.setBounds(5, 370, 300, 80);
     getContentPane().add(jtp1);
    getContentPane().add(jtpeingabe);
    jbusenden.setText("senden");
    jbusenden.setBounds(5, 455, 80, 25);
    getContentPane().add(jbusenden);
    jbusenden.addActionListener(new ActionListener() {
      public void actionPerformed(final ActionEvent evt) {
        jbusendenActionPerformed(evt); } });

    jsp1.setViewportView(jtp1);
    jsp1.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
    jsp1.setBounds(5, 5, 300, 300);
    getContentPane().add(jsp1);
    jsp2.setBounds(5, 370, 300, 80);
    jsp2.setViewportView(jtpeingabe);
    getContentPane().add(jsp2);
    jbubeenden.setText("beenden");
    jbubeenden.setBounds(480, 455, 100, 25);
    getContentPane().add(jbubeenden);
    jbubeenden.addActionListener(new ActionListener() {
      public void actionPerformed(final ActionEvent evt) {
        jbubeendenActionPerformed(evt); } });
        
    jcbIP.addItem("");
    jcbIP.addItem("192.168.0.2");
    jcbIP.addItem("192.168.0.3");
    jcbIP.setEditable(true);
    jcbIP.setBounds(310, 5, 100, 25);
    jcbIP.setToolTipText("IP des Zielrechners eingeben!");
    getContentPane().add(jcbIP);

    jbuHost.setText("Hostname + IP");
    jbuHost.setToolTipText("ermittelt Host + IP vom eigenen Rechner");
    jbuHost.setBounds(310, 315, 120, 25);
    getContentPane().add(jbuHost);
    jbuHost.addActionListener(new ActionListener() {
      public void actionPerformed(final ActionEvent evt) {
        jbuHostActionPerformed(evt); } });

    jlbHost.setText("XXX . XXX . X . X . X");
    jlbHost.setBounds(310, 330, 320, 45);
    getContentPane().add(jlbHost);
    // Ende Komponenten
           setVisible(true);
  }
  // Anfang Ereignisprozeduren
   public void b1ActionPerformed(final ActionEvent evt) {
      jtpeingabe.setEditorKit(new HTMLEditorKit());
    jtpeingabe.setContentType("text/html");
    String path =  this.getClass().getResource("smile2.gif").getPath();
    String prefix = "file://";
    String htmlText = "<img src=\""+ prefix+path +"\">";
    System.out.println(htmlText);
    HTMLDocument doc = (HTMLDocument)jtpeingabe.getDocument();
    try
    {
      ((HTMLEditorKit)jtpeingabe.getEditorKit()).insertHTML(doc, 0, htmlText, 0, 0, HTML.Tag.IMG);

    }
    catch (BadLocationException e1)
    {
      e1.printStackTrace();
    }
    catch (IOException e1)
    {
      e1.printStackTrace();
    }
   }
  
   public void b2ActionPerformed(final ActionEvent evt) {
        ImageIcon img2 = new ImageIcon(UDP_S.class.getResource("barney.gif"));
        jtpeingabe.insertIcon(img2);
        jtpeingabe.requestFocus();
   }
   
   public void b3ActionPerformed(final ActionEvent evt) {
        ImageIcon img3 = new ImageIcon(UDP_S.class.getResource("mill.gif"));
        jtpeingabe.insertIcon(img3);
        jtpeingabe.requestFocus();
   }
   
   public void b4ActionPerformed(final ActionEvent evt) {
        ImageIcon img4 = new ImageIcon(UDP_S.class.getResource("smile1.gif"));
        jtpeingabe.insertIcon(img4);
        jtpeingabe.requestFocus();
   }
   
  public void jbusendenActionPerformed(final ActionEvent evt) {
        try
    {

        DatagramPacket packet;
        String ipAdresse = (String) jcbIP.getSelectedItem();
        InetAddress ia = InetAddress.getByName( ipAdresse );
        String s = jtpeingabe.getText();
        packet = new DatagramPacket( s.getBytes(),s.length(),ia,4711 );
        DatagramSocket dSocket = new DatagramSocket();
        dSocket.send( packet );
        String textanzeige = jtp1.getText();
        jtp1.setText(textanzeige + newline + s);
        jtpeingabe.setText("");
        jtpeingabe.requestFocus();
        dSocket.close();
    }
    catch ( Exception e )
    {
      System.out.println( e );
    }
  }

  public void jbubeendenActionPerformed(final ActionEvent evt) {
      System.exit(0);
  }

  public void jbuHostActionPerformed(final ActionEvent evt) {
     try {

        jlbHost.setText( "Host / Adresse: " + InetAddress.getLocalHost());

     }
     catch (Exception e)
     {
      System.out.println( e );
     }
  }
  // Ende Ereignisprozeduren

  public static void main(final String[] args) {
    new UDP_S("UDP_S");
    try
    {
      DatagramSocket socket = new DatagramSocket(4711);
      DatagramPacket packet;
      while (true)
      {
        // auf Anfrage warten
        packet = new DatagramPacket(new byte[1024], 1024);
        socket.receive(packet);
        //Empfang auslesen
        int port = packet.getPort();
        int len = packet.getLength();
        byte data[] = packet.getData();
        String textanzeige = jtp1.getText();
        jtp1.setText(textanzeige + "\n" + new String(data, 0, len));

      }
    }
    catch (Exception e)
    {
      System.out.println(e);
    }

  }

}

Ich nu wieder!
Also muss es auch möglich sein das Smile2.gif nach dem senden im jtp1 auch als Bild und nicht
als code darzustellen!
???:L
 

bernd

Bekanntes Mitglied
Danke, ich mach guck!
UDP, gute Frage.
Ich hatte mir in den Kopf gesetzt einen chat zu programmieren, also hab ich mir erst mal angeschaut wie das so gehen könnte!
Im Internet bin ich dann auf TCP und UDP gestoßen, wobei ich mich mit den Beispielen von TCP
etwas schweer getan habe.
also blieb noch UDP, und für einen chat im lokalem Netz denk ich sollte das reichen.
(konnte erst jetzt antworten, da ich meinen PC duch Renovierungsarbeiten total zugebaut habe ! :) ).

MfG. Bernd.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
G JLabel <html> mit Bild innerhalb des Textes </html> Java Basics - Anfänger-Themen 4
I HTML Code in Bild (transparent) konvertieren Java Basics - Anfänger-Themen 0
I Watermark erstellen mit HTML in Bild? Java Basics - Anfänger-Themen 7
B Best Practice Schaltfläche im Bild finden Java Basics - Anfänger-Themen 8
Athro-Hiro Weißes Bild in Java erstellen Java Basics - Anfänger-Themen 3
V Bild per Java Script austauschen Java Basics - Anfänger-Themen 7
I Bild richtig speichern / Hochkant im File Explorer, nach Upload vertikal Java Basics - Anfänger-Themen 9
B Bild per KeyListener drehen Java Basics - Anfänger-Themen 1
I Kamera anschließen / Bild machen / Live View / Externe Blitz Java Basics - Anfänger-Themen 19
I Innerhalb einem Bild ein Teil austauschen Java Basics - Anfänger-Themen 26
I Datei (Bild) Drucken und wie Druckeinstellung speichern? Java Basics - Anfänger-Themen 3
krgewb byte-Array, das ein Bild repräsentiert Java Basics - Anfänger-Themen 1
H Artefact mit Bild erzeugen Java Basics - Anfänger-Themen 11
R UML-Bild (Erkennung ob static o. nicht) Java Basics - Anfänger-Themen 18
J Bild auf Hintergrundbild zeichnen Java Basics - Anfänger-Themen 5
krgewb Bild itextpdf Java Basics - Anfänger-Themen 2
C Bild in executable JAR File mitgeben Java Basics - Anfänger-Themen 5
VPChief Bild in JEditorPane Java Basics - Anfänger-Themen 9
B Warum bekomme ich kein Bild. Java Basics - Anfänger-Themen 10
S Bild einfügen // NEU Java Basics - Anfänger-Themen 12
N Bild drehen Java Basics - Anfänger-Themen 3
S Ein Bild mit dynamischer Quelle neuzeichnen Java Basics - Anfänger-Themen 12
N GLOOP Bild nicht ansichtbar Java Basics - Anfänger-Themen 5
M Bild in JFrame Java Basics - Anfänger-Themen 1
B Signatur erstellen - Bild ist nur weiß Java Basics - Anfänger-Themen 0
CptK Interface Bild rotieren Java Basics - Anfänger-Themen 17
CptK Interface Bild rotieren Java Basics - Anfänger-Themen 1
Anica Processing Animation Bild-Position ändern Java Basics - Anfänger-Themen 9
CptK Interface Bild über Methode ändern funktioniert nicht Java Basics - Anfänger-Themen 4
CptK Interface Curser durch Bild ersetzen & MouseListner Java Basics - Anfänger-Themen 2
M jTextPane Bild anzeigen Java Basics - Anfänger-Themen 6
CptK Bild beim betätigen eines JButtons Java Basics - Anfänger-Themen 6
S Bild über JButton legen Java Basics - Anfänger-Themen 3
B Bild mit Schrift befüllen / Anpassung bei Wortlänge Java Basics - Anfänger-Themen 2
D Google maps bild mit marker versehen Java Basics - Anfänger-Themen 12
D ImageView mit einfarbigem Bild fuellen Java Basics - Anfänger-Themen 3
it_is_all Bild-Pfad wird gefunden, nicht aber Textdatei-Pfad Java Basics - Anfänger-Themen 8
M Einzelne Pixel in einem Bild auslesen und bearbeiten Java Basics - Anfänger-Themen 1
M Bild wird von JFrame nicht geladen Java Basics - Anfänger-Themen 12
J Bild in Button einsetzen Java Basics - Anfänger-Themen 6
S button kommt durch bild Java Basics - Anfänger-Themen 13
M Ein Bild durch Objekterzeugung zeichnen Java Basics - Anfänger-Themen 5
B Greenscreen (grüner Hintergrund ersetzen mit Bild) Java Basics - Anfänger-Themen 49
K Interface Kein Bild im .jar-File Java Basics - Anfänger-Themen 15
S Bild in Jar-File mit ImageIO Java Basics - Anfänger-Themen 50
S Bild einfügen Java Basics - Anfänger-Themen 16
binop Bild anzeigen lassen Java Basics - Anfänger-Themen 2
D Bild zu Text Java Basics - Anfänger-Themen 4
D Classpath Bild kann in .jar nicht geladen werden Java Basics - Anfänger-Themen 2
Anfänger2011 Bild programmieren?! Java Basics - Anfänger-Themen 3
8 Eigenes Bild in email einfügen Java Basics - Anfänger-Themen 1
K JTable Bild einfügen Java Basics - Anfänger-Themen 1
L BufferdImage schwarzes Bild nach zusammenfügen zweier Bilder Java Basics - Anfänger-Themen 8
S Bild in JOptionPane Java Basics - Anfänger-Themen 1
C Abfrage nach einem Bild im Array Java Basics - Anfänger-Themen 9
J Umgebungsvariable Programmfenster zeigt kein Bild an Java Basics - Anfänger-Themen 1
J Bild loopen Java Basics - Anfänger-Themen 6
M JFrame Bild einfügen Java Basics - Anfänger-Themen 3
S Bild bei Kontakt ändern Java Basics - Anfänger-Themen 2
C Erste Schritte Bild holen und speichern Java Basics - Anfänger-Themen 1
D Bild in Frame einfügen Java Basics - Anfänger-Themen 11
D Bild im Applet anzeigen Java Basics - Anfänger-Themen 3
F Bild in ein Runnable Jar File packen (eclipse) Java Basics - Anfänger-Themen 2
M Java-Applet: Bild einbinden (getImage) Java Basics - Anfänger-Themen 0
J Ganzes Bild Java Basics - Anfänger-Themen 4
T GUI anstatt Bild schwarzes Rechteck gespeichert Java Basics - Anfänger-Themen 0
A Bild verschwindet! Wieso?? Java Basics - Anfänger-Themen 2
I Bild aus Bereich laden Java Basics - Anfänger-Themen 3
P Bild in JFrame Titelleiste Java Basics - Anfänger-Themen 7
Y Nach Bild-Upload wird Bild nicht angezeigt Java Basics - Anfänger-Themen 1
M Button mit Bild und Text Java Basics - Anfänger-Themen 2
M JSP-Einfaches Bild anzeigen Java Basics - Anfänger-Themen 4
C Bild ins Frame laden und Objekte drüber legen Java Basics - Anfänger-Themen 1
Sogomn Bild will sich nicht skalieren lassen Java Basics - Anfänger-Themen 1
P Ein Bild für GUI (Java-Editor) Java Basics - Anfänger-Themen 4
D Bild für ein paar Sekunden einblenden und wieder ausblenden Java Basics - Anfänger-Themen 1
E Bild per Verzeichnis/JFileChooser auf JPanel laden Java Basics - Anfänger-Themen 13
S Bild auf eine Position rotieren?! Java Basics - Anfänger-Themen 4
P Bild bearbeiten Java Basics - Anfänger-Themen 9
Z Datenmatrix in Bild verwandeln Java Basics - Anfänger-Themen 4
C Bild verschwinden lassen Java Basics - Anfänger-Themen 7
S Bild Icon aus ID3Tag auslesen Java Basics - Anfänger-Themen 4
E Bild vom FileChooser aus via ImageIcon in DB schreiben Java Basics - Anfänger-Themen 16
D Bild zum Panel hinzufügen Java Basics - Anfänger-Themen 8
C Greenfoot: Bei Tastendruck und best. Wert Bild ändern Java Basics - Anfänger-Themen 2
O Auflösung einer Bild-Datei bekommen ohne sie herunterzuladen?? Java Basics - Anfänger-Themen 7
L Bild-Datein "zuschneiden" Java Basics - Anfänger-Themen 11
O DeviantArt-Bild Konverter: Fehler.. Java Basics - Anfänger-Themen 16
K Transparents Bild laden -> Fehlermeldung Java Basics - Anfänger-Themen 6
M Bild einbinden Java Basics - Anfänger-Themen 7
2 Bild auf JApplet zeichnen Java Basics - Anfänger-Themen 18
T Bild laden Java Basics - Anfänger-Themen 7
R Bild in GUI Java Basics - Anfänger-Themen 11
D Eclipse Juno zeigt Bild nicht bei Run Java Basics - Anfänger-Themen 3
Kenan89 Bild mit jar öffnen Java Basics - Anfänger-Themen 4
S Problem bei Bewegung von einem Bild! Java Basics - Anfänger-Themen 2
J Bild mit transparenter Farbe Java Basics - Anfänger-Themen 10
N Erste Schritte Applet zeichnet Bild nicht Java Basics - Anfänger-Themen 10
J Bild auf JLabel wird nicht angezeigt Java Basics - Anfänger-Themen 11
J Bild einfügen Java Basics - Anfänger-Themen 3

Ähnliche Java Themen


Oben