Markierungen in einem Bild

Status
Nicht offen für weitere Antworten.

guni

Bekanntes Mitglied
Hallo,

bin neu in Java.
ich versuche in Swing ein Fenster zu erstellen, in dem ich ein Bild (JPG oder sowas) lade (mit Scrollbalken wenn es zu groß ist!) ...
im nächsten Schritt soll das Ganze dann noch wie folgt funktionieren:
wenn ich irgendwo auf das Bild klicke, dann soll ein Kreuzerl oder sowas dort gemacht werden und ich will die x / y - Position meines Klicks wissen ...

wie kann ich das lösen?
ich check nichtmal, wie ich ein Bild in meinen Frame bekomm ...

lg, guni
 

Quaxli

Top Contributor
Prinzipiell würde ich 2 Lösungen vorschlagen:
1. Du zeichnest direkt in das geladene Bild - hat ja auf das gespeicherte Bild keine Auswirkung.
2. Du zeichnest auf die GlassPane

Aber schau erstmal, daß Du das Laden des Bildes gebacken kriegst und frage dann nochmal
 

guni

Bekanntes Mitglied
also, ich bin sogar zu blöd, dass ich das Bild da reinkrieg ...
hier mein Ansatz:
Code:
package swing;

import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.*;
import javax.imageio.ImageIO;
import javax.swing.JFrame;

public class ShowImage extends Panel {
    
  static public void main(String args[]) throws Exception 
  {
    JFrame frame = new JFrame("Fenster 1");
    File input = new File("C:\\JDeveloper\\mywork\\Initskript\\SWING\\src\\swing\\scan.jpg");
    BufferedImage img = ImageIO.read(input);
    
    frame.setSize(500, 500);
    frame.setVisible(true);
  }
}
wie gehts von hier aus weiter?
wie bekomme ich scrollbalken um das Bild?
wie kann ich per Mausklick Kreuzerl drauf absetzen?
wie find ich die Position von den Kreuzerln raus ...

ach ja ... noch was:

wie kann ich das machen, dass die Kreuzerl danach per Drag und Drop verschiebbar, bzw. markierte Kreuzerl wieder löschbar sind?

lg, guni
 

Marco13

Top Contributor
guni hat gesagt.:
also, ich bin sogar zu blöd, dass ich das Bild da reinkrieg ...
Deswegen bist du nicht blöd. Das "nicht" bezieht sich aber auf das "deswegen". Blöd bist du bestenfalls, weil du nicht auf die Idee kommst, für sowas mal eine Web- oder Forensuche zu starten... :roll:
 

guni

Bekanntes Mitglied
@Marco13:

danke für die aufbauende kritik.

heute ist tag 1 meiner arbeit mit swing - ich habe noch nie etwas damit gemacht ...
java kann ich auch noch nicht wirklich ...

ist dir eigentlich aufgefallen, dass ich in meinem letzten Post einen Code drinstehen hatte?
Dreimal darfst du raten, wie ich dazu komme ... BINGO! Über eine Web- / Forensuche!

leider habe ich den Code, den ich gefunden habe nicht weiter brauchen können, weil in meinem Beispielcode das Bild über einen Konstruktor geladen wurde und das ganze dann - für mich nicht nachvollziehbar - in den Frame eingebunden wurde ...

aus diesem Grund habe ich - in der Hoffnung auf hilfsbereite Menschen zu treffen - mein Problem mal hier gepostet.
Es freut mich, wenn du über solchen Problemen weit drüberstehst; ich tu es nicht - deswegen frag ich.

Also: wenn du eine Lösung hast, dann sei doch einfach so frei und schreib sie ganz ungeniert da rein; wenn du keine Lösung hast, dann verschwende deine Zeit doch nicht mit Beiträgen, die niemandem etwas nützen!

danke.

guni
 
G

Guest

Gast
Mittels JLabel geht das gut

Code:
package graphicPanel;


import java.awt.*;
import javax.swing.*;

public class ShowImage extends Panel {
   
  static public void main(String args[]) throws Exception
  {
    JFrame frame = new JFrame("Fenster 1");
    
    JLabel imageLabel= new JLabel(new  ImageIcon("C:\\JDeveloper\\mywork\\Initskript\\SWING\\src\\swing\\scan.jpg"));
    
    frame.getContentPane().add(imageLabel);
    
    frame.setSize(500, 500);
    frame.setVisible(true);
  }
}

Vll hilft es dir weiter
 

guni

Bekanntes Mitglied
@Gast:

danke. das hat funktioniert!
Obwohl mich der Name ImageIcon ein bisschen wundert. Ich bin zwar bei meiner Google Suche schon auf diese Klasse gestoßen, aber ich hatte den Eindruck, dass das wohl eher für Icons ist und nicht für 'normale' Bilder.

Wie auch immer: meine nächste Frage wäre:
Wie bekomme ich die Mausposition von einem Klick auf dieses Bild?

lg, guni
 

Marco13

Top Contributor
@Gast: Dann aber bitte mit einem JPanel, und nicht mit einem Panel.

@guni: "Gibt jemandem ein Programm, und du frustrierst ihn für einen Tag. Bring jemandem Programmieren bei, und du frustrierst ihn für den Rest seines Lebens".

Wie man Images und ImageIcons verwendet, steht (mit fix-und-fertigen, compilierbaren Beispielprogrammen) hier
http://java.sun.com/docs/books/tutorial/uiswing/components/icon.html

Wie man auf Mausklicks reagiert, steht (mit fix-und-fertigen, compilierbaren Beispielprogrammen) hier
http://java.sun.com/docs/books/tutorial/uiswing/events/mouselistener.html

Ich schätze, 90% der Fragen, die im Anfänger-Teil dieses Forums gepostet werden, werden hier
http://java.sun.com/docs/books/tutorial/uiswing/TOC.html
und hier
http://java.sun.com/j2se/1.5.0/docs/api/
beantwortet.

Natürlich ist es immer einfacher, eine Frage zu stellen, und hoffen, dass jemand (warum auch immer) sie mit einem fix-und-fertigen, compilierbaren Beispielprogramm beantwortet, das genau zur Frage passt. Aber garade für einen Anfänger sollte man doch nochmal erwähnen: Du wirst nicht drumrumkommen, dir solche Dinge, wie die, nach denen du gerade gefragt hast, SELBST zu erarbeiten.

Und wenn doch mal was partout nicht laufen will....
http://www.lugbz.org/documents/smart-questions_de.html
 

guni

Bekanntes Mitglied
@Marco13
danke. das war schon eine Nummer konstruktiver ...
werde mir die Seiten mal drucharbeiten und dann schaun, wie weit ich komm ...

mfg, guni
 

guni

Bekanntes Mitglied
danke ... irgendwie kommt mir das ganze extrem umständlich vor ...
wenn ich in java einen Listener implementieren muss, nur, damit ich auf irgendein Objekt (meine Kreuzerl) eine Drag 'n' Drop Funktion ausführen kann :(

na ja - wie auch immer ...
 

Marco13

Top Contributor
Warum, wenn man bei Windows Symbole auf dem Desktop rumschiebt, braucht man doch auch keinen Listener!?
 

0x7F800000

Top Contributor
wie? Da gibts irgendwo Drag and Drop? Das hätt ich jetzt aber echt nicht erwartet von so einer schlichten schwarzweißen konsolenanwendung wie Windows Vista :applaus:
 

zilti

Bekanntes Mitglied
Marco13 hat gesagt.:
Warum, wenn man bei Windows Symbole auf dem Desktop rumschiebt, braucht man doch auch keinen Listener!?
Das Betriebssystem hat für dieses Drag & Drop auch nen Listener u.s.w.. Man siehts nur nicht.
 

Marco13

Top Contributor
Vielleicht sollte ich ... zynische Bemerkungen auch mit einem ":wink:" kennzeichnen. Es ging eben darum, dass man mit Java und Swing das Programm, so, wie es beschrieben wurde, mit ... *grobschätz* 50Zeilen machen kann - wenn man das in anderen Sprachen machen wollte, bräuchte man ggf. schon doppelt so viel, um nur ein leeres(!) Fenster aufzumachen....
 

0x7F800000

Top Contributor
@Marco13
Marco13 hat gesagt.:
wenn man das in anderen Sprachen machen wollte
Wenn du zB c++ meinst, da könnte es bei der WinAPI tatsächlich übelst umständlich erscheinen, ein leeres fenster aufzukriegen, mit MFC (hab ich zwar selbst nie benutzt...) geht das aber auch in c++ ziemlich genauso schnell wie mit swing in java. Hat ja weniger mit java als sprache, sondern eher mit der API zu tun. :meld:
:bae:
@zilti beim vorletzten post war der sarkasmus aber echt ziemlich deutlich herauszuschmecken :D
 

zilti

Bekanntes Mitglied
Ne, ich meine es so wie ich es geschrieben habe. Ich meine, einfacher kann es einem die Sprache doch gar nicht machen. Was bringt es mir, wenn es für alles ne Speziallösung gibt? Das ist im Endeffekt sogar komplizierter.
 

guni

Bekanntes Mitglied
Ich meine, einfacher kann es einem die Sprache doch gar nicht machen
na ja ... dann hast du dir perl noch nie angeschaut ... dort bruch ich weniger als die Hälfte der 50 Zeilen um das zu realisieren ...

lg, guni
 

0x7F800000

Top Contributor
na super... in Flash oder sonstwo kann man sowas mit ungefähr 0 codezeilen zusammenklicken, da war ja nicht von skriptsprachen die rede...

[edit: "super" wird als java schlüsselwort erkannt, ich wurde bei dem post hier dazu aufgefordert code-tags zu verwenden, geil oder? :bae: ]
 

zilti

Bekanntes Mitglied
Dort hats im Hintergrund auch viel Code. Und den Code für das Kreuz-setzen hast du auch nicht eingerechnet.
 

0x7F800000

Top Contributor
zilti hat gesagt.:
Dort hats im Hintergrund auch viel Code.
ja, was interessiert dich denn jetzt? das was du zu tippen hast, oder das was am ende an einsen und nullen in maschinensprache rauskommt? Da ist es eh ziemlich umgekehrt proportional: je weniger man selbst zu tippen hat, desto breiter und langsamer wird der endgültige code... wenn man die ganzen interpreter usw. mit einberechnet.

Wenn du irgendetwas extremst optimiertes haben willst, dann nimm halt direkt Assembler. Da tippst du so etwas aber drei jahre lang ein...
 

zilti

Bekanntes Mitglied
Ja, klar, aber woraus ich hinauswollte, ist, dass ein GUI-Builder schlussendlich auch nur Code generiert. Und das ist dann auch Java. Und die Events muss man auch in Flash selber schreiben.
 

guni

Bekanntes Mitglied
@Marco13 ... ich suchs dir raus - is schon über ein Jahr her, dass ich es geschrieben hab - auf einem ganz anderen PC - mal sehn, ob ichs noch find!

lg, guni
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Juelin Zugriff auf Bildschirmobjekte aus einem anderen Programm AWT, Swing, JavaFX & SWT 6
M Seltsame Exception bei setVisible(true) Methode in einem JFrame AWT, Swing, JavaFX & SWT 2
MartinNeuerlich Kann mir jemand, der einen Mac mit einem m1 oder m2-Chip hat, eine POM geben mit der Javafx-Fullscreen beim Mac mit m-Chip funktioniert? AWT, Swing, JavaFX & SWT 1
W 2 JTables in einem Swing-Fenster? AWT, Swing, JavaFX & SWT 5
J JavaFx PDF in einem Element in einem Fenster anzeigen. AWT, Swing, JavaFX & SWT 11
Mojo7310 Ändern von Text in JLabel mit einem Button AWT, Swing, JavaFX & SWT 11
I JTable mit einem Button zu einer Detail Seite springen AWT, Swing, JavaFX & SWT 4
S Swing zu einem Datum Tage addieren/subtrahieren AWT, Swing, JavaFX & SWT 6
E Swing Mausposition auf einem JFrame erkennen AWT, Swing, JavaFX & SWT 5
Jose05 NullPointerException bei Beschreiben eines Labels aus einem Array AWT, Swing, JavaFX & SWT 12
ExceptionOfExpectation Textdarstellung auf einem Canvas mit Hilfe von repaint(); AWT, Swing, JavaFX & SWT 6
2 JavaFX die ChoiceBox leitet den String nicht weiter oder es komm zu einem NullPointer AWT, Swing, JavaFX & SWT 8
L JavaFX javafx.fxml.LoadException bei einem Taschenrechner AWT, Swing, JavaFX & SWT 5
Z GUI Forms - Mehrere Fenster in einem Projekt AWT, Swing, JavaFX & SWT 18
N Nur bei einem Textfiled Nullpointerexception bei getText() AWT, Swing, JavaFX & SWT 1
H JComobox in einem JPopupNeu AWT, Swing, JavaFX & SWT 7
P Button simpler random auf einem JPanel verteilen? AWT, Swing, JavaFX & SWT 3
W Inject bei einem Swing Frontend AWT, Swing, JavaFX & SWT 8
H Daten aus einer XML(x83-Datei) in einem JFrame anzeigen lassen AWT, Swing, JavaFX & SWT 9
Z Swing Drag and Drop mit einem JButton AWT, Swing, JavaFX & SWT 1
Z Mit einem Button einen anderen Button Triggern AWT, Swing, JavaFX & SWT 3
D AWT Wie kann ich ein Frame von einem anderen aus beeinflussen? AWT, Swing, JavaFX & SWT 7
T Setzen von der Schriftgröße bei einem Shell AWT, Swing, JavaFX & SWT 15
A checkbox in einer TableView abhängig von einem anderen Celleninhalt disablen AWT, Swing, JavaFX & SWT 1
J Fenster mit Inhalten aus einem Array Füllen AWT, Swing, JavaFX & SWT 4
D JavaFX Ein Parameter von einem Stage(GUI) zu einem anderen übergeben AWT, Swing, JavaFX & SWT 6
T Bilder bei einem JFrame einfügen AWT, Swing, JavaFX & SWT 4
S JavaFX Variablen in einem FXML File verwenden AWT, Swing, JavaFX & SWT 8
A Objekt von einem Window erstellen? AWT, Swing, JavaFX & SWT 8
Drachenbauer Swing Wie ändere ich die helle geklickt-Farbe von einem JButton? AWT, Swing, JavaFX & SWT 4
ralfb1105 JavaFX Alert Confirmation Dialog aus einem Service Thread AWT, Swing, JavaFX & SWT 8
F JavaFX Aktuelle Zeit in einem TextField anzeigen AWT, Swing, JavaFX & SWT 7
M JavaFX Bild zur ImageView in einem Kreis anzeigen. AWT, Swing, JavaFX & SWT 4
F JavaFX PNG aus einem resource Ordner laden AWT, Swing, JavaFX & SWT 8
F JavaFX Checken ob der Input einem festgelegten Format gleicht AWT, Swing, JavaFX & SWT 7
B JavaFX Bilder in einem Gewissen bereich halten AWT, Swing, JavaFX & SWT 1
cool_brivk24 BufferedImage einem ClickEvent hinzufügen AWT, Swing, JavaFX & SWT 13
Q-bert Doppelclick auf einem List item AWT, Swing, JavaFX & SWT 9
J JavaFX von einem Array aus Buttons herausfinden auf welcher geklickt wurde aus dem Array. AWT, Swing, JavaFX & SWT 1
C SWT autosize bei gc.drawString() auf einem Label AWT, Swing, JavaFX & SWT 7
R Farbe zu einem Eckpunkt generieren AWT, Swing, JavaFX & SWT 2
T Reihenfolge der Komponenten im einem JFrame AWT, Swing, JavaFX & SWT 8
F abgeleitete Panels von einem ContentPanel AWT, Swing, JavaFX & SWT 4
heinz ketchup While-Schleife in einem Service für GUI AWT, Swing, JavaFX & SWT 22
D zwei JLabel stapeln in einem JPanel AWT, Swing, JavaFX & SWT 5
H Hintergrundbild in einem Programm AWT, Swing, JavaFX & SWT 4
F RGB-Werte aus einem String einlesen AWT, Swing, JavaFX & SWT 26
stroggi Swing Mehrere transparentes Objekte (Grafiken) über einem Bild (JLabel) darstellen AWT, Swing, JavaFX & SWT 4
I JavaFX Fenster wird auf einem anderen Rechner anders dargestellt AWT, Swing, JavaFX & SWT 5
DaCrazyJavaExpert Swing Zwei gleichgroße Panels in einem Scrollpane mit Layout AWT, Swing, JavaFX & SWT 9
W Swing Hilfe beim Einbinden von Bildern in einem JFrame AWT, Swing, JavaFX & SWT 8
F AWT mehrere Panels in einem Frame AWT, Swing, JavaFX & SWT 17
L JavaFX Mehrere JavaFX Szenen mit einem Menü AWT, Swing, JavaFX & SWT 1
L JavaFX Klickverhalten bei einem Panel AWT, Swing, JavaFX & SWT 1
V JavaFX Button Controller Fehler, trotz Erfolg in einem anderem Code? AWT, Swing, JavaFX & SWT 7
Y Darstellung und MouseHover bei bestimmten Wörtern in einem String AWT, Swing, JavaFX & SWT 2
GreenTeaYT Wie vergebe Ich den Jframe Title den Namen aus einem Element von der Arraylist ? AWT, Swing, JavaFX & SWT 4
H Geld pro Sekunde in einem Clickerspiel AWT, Swing, JavaFX & SWT 4
Java_RY wie kann ich auf JButtons in einem JPanel zugreifen AWT, Swing, JavaFX & SWT 3
F Zeichnung einem JPanel im Layoutmanager zuweisen AWT, Swing, JavaFX & SWT 3
Ghostman1711 Hinzufügen ausgewählter Dateinen des Filechoosers zu einem JTable AWT, Swing, JavaFX & SWT 9
T AWT Farben in einem Bild ändern AWT, Swing, JavaFX & SWT 8
R Swing JLabel berührung an einem anderen Label prüfen AWT, Swing, JavaFX & SWT 3
M Text in einem Label fett setzen AWT, Swing, JavaFX & SWT 4
E Swing Copy und Paste eines einzelnen Knoten aus einem JTree AWT, Swing, JavaFX & SWT 1
7 JavaFX Problem beim Zeichnen eines Dreiecks in einem GUI AWT, Swing, JavaFX & SWT 6
K JavaFX Mehrere Cell Editors in einem TreeView Item AWT, Swing, JavaFX & SWT 2
F JavaFX JavaFX - Hintergrundmusik in einem seperatem Task/Service AWT, Swing, JavaFX & SWT 6
D JavaFX Gesetzte Variable in einem Controller im Controller laden AWT, Swing, JavaFX & SWT 1
D Swing JCombobox in einem JTable vorbelegen AWT, Swing, JavaFX & SWT 4
T Swing JTable Zeile mit ausgelesenen Werten mit Hilfe von einem Button hinzufügen AWT, Swing, JavaFX & SWT 1
E JavaFX MenuBar und ToolBar zu einem Bereich AWT, Swing, JavaFX & SWT 3
Y Kann man Buttons in einem JFrame rund machen ? AWT, Swing, JavaFX & SWT 2
D Timer für Bildfolge in einem jLabel AWT, Swing, JavaFX & SWT 5
C (JavaFX 8) SQLite Datenbank in einem TableView darstellen AWT, Swing, JavaFX & SWT 2
M JavaFX wie kann mann sein frame mit einem Icon fersehen? AWT, Swing, JavaFX & SWT 2
L 2D-Grafik Dreieck in einem Kreis??? AWT, Swing, JavaFX & SWT 1
F Swing Image einem Button hinzufügen AWT, Swing, JavaFX & SWT 5
J Swing unterschiedliche Inhalte in einem JFrame AWT, Swing, JavaFX & SWT 3
R Swing Mehrere JTextFields mit einem Document Listener AWT, Swing, JavaFX & SWT 2
T Swing Größe einer Komponente in einem BoxLayout / FlowLayout festlegen AWT, Swing, JavaFX & SWT 7
S Punkt finden der in einem Shape liegt..? AWT, Swing, JavaFX & SWT 11
A Swing Externe Klassen aufrufen und in einem bereits vorhandenen Container einfügen AWT, Swing, JavaFX & SWT 0
P LayoutManager TextField.setSize(); in einem FlowLayout AWT, Swing, JavaFX & SWT 3
H Position eines JLabel in einem JPanel AWT, Swing, JavaFX & SWT 2
Shams Probleme bei dem Hinzufügen von Komponenten zu einem JFrame AWT, Swing, JavaFX & SWT 3
M Mehrere Jpanel in einem JScrollPane (Layout) AWT, Swing, JavaFX & SWT 2
M Java FX Innerhalb einem FXML-Dialog weiteren FXML-Dialog einblenden AWT, Swing, JavaFX & SWT 3
J Bilder als Variable an einem Objekt speichern AWT, Swing, JavaFX & SWT 3
D Swing &MouseListener in einem JFrame, sinnig? AWT, Swing, JavaFX & SWT 11
J RadioButton-Gruppe in Kombination mit einem Button AWT, Swing, JavaFX & SWT 6
S 3D-Grafik 3d Grafik auf einem JPanel oder im JScrollPane AWT, Swing, JavaFX & SWT 1
G Text im textfeld in einem Editor anzeigen AWT, Swing, JavaFX & SWT 18
V Fenster in einem Fenster anordnen AWT, Swing, JavaFX & SWT 7
E Alles in einem Fenster AWT, Swing, JavaFX & SWT 5
F SWT Problem mit Tabelle und Combobox in einem Wizard AWT, Swing, JavaFX & SWT 5
A Probleme mit 2 JFrames in einem Programm AWT, Swing, JavaFX & SWT 7
R Array aus einem Objekt auslesen AWT, Swing, JavaFX & SWT 4
S ComboBox-Werte aus einem Array an Textfields übergeben AWT, Swing, JavaFX & SWT 3
A Swing 2 JSlider verknüpfen und mit einem JTextField vergleichen, dann Ausgabe AWT, Swing, JavaFX & SWT 5

Ähnliche Java Themen


Oben