Ich komme mal wieder nicht mit Swing und Image klar.

Status
Nicht offen für weitere Antworten.

Titanpharao

Bekanntes Mitglied
Hi,

ich wollte mir einen Editor für mein Spiel zusammenbauen....

Also wollte ganz einfach ein JFrame machen mit einem Bereich, wo ein Bild geladen wird und ein anderer für parr Buttons.

Es soll ein Button geben, wo ein Rastergitter über die Map gelegt wird. Also denke ich mal in der paint Methode ein Gitter erzeugen(is ja nicht schwer).

Nur wie verknüpfe ich jetzt das Bild und die Buttons. Wenn ich im normalen Frame paint() was reinschreibe zeichnet er das auch, nur legt sofort eine neue schickt mit denn buttons und ein grau drauf.

Hat jemand eine schnelle, einfache Idee? Später müssen auch noch Labels auf das Bild, wobei sie das Bild nicht überdecken dürfen, erst wenn man auf diese klickt.
 

Titanpharao

Bekanntes Mitglied
omg :oops:

Was habe ich da fürn scheiß geschrieben.
Ich will es jetzt mit einem Label probieren. Wie kann ich auf ein Label im nachhinein noch zeichnen?

Also mein Label = Karte, darauf soll jetzt ein Rastergitter(denke mal über eine paint()) Methode.

Nicht vergessen, das muss auch mal wieder weg gehen.
 

Titanpharao

Bekanntes Mitglied
Poste mal bissel Code...

die Obere Klasse ist belanglos
Code:
package clash_editor;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;
import java.awt.image.ImageObserver;
import java.awt.image.ImageProducer;
import java.io.File;
import java.awt.*;

import javax.imageio.ImageIO;
import javax.swing.*;

public class Auswahl extends JFrame{

	JLabel map=new JLabel("Map:");
	JTextField mappfad=new JTextField("D:\\HAUBOLD_DATEN\\map.gif");
	JButton buttonpfad=new JButton("Map");
	JLabel xanz=new JLabel("X-Anzahl:");
	JLabel yanz=new JLabel("Y-Anzahl:");
	JTextField x=new JTextField("20");
	JTextField y=new JTextField("15");
	JButton ok=new JButton("Start");

	public Auswahl(){
		super("Clash-Editor");
		this.setResizable(false);
		this.setSize(304, 125);
		this.setVisible(true);
		this.setLayout(null);
		this.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
		this.setLocationRelativeTo(null); 
		setelements();
		loadelements();
	}
	
	public void setelements(){
		setsizelocation(map, 5, 5, 290, 15);
		setsizelocation(mappfad, 5, 20, 195, 25);
		setsizelocation(buttonpfad, 200, 20, 95, 25);
		setsizelocation(xanz, 5, 50, 100, 10);
		setsizelocation(yanz, 105, 50, 100, 10);
		setsizelocation(x, 5, 65, 100, 25);		
		setsizelocation(y, 100, 65, 100, 25);
		setsizelocation(ok, 200, 50, 95, 40);
		buttonpfad.addActionListener(new ActionListener() {//Dem Button wird ein Filechoser angehangen
			public void actionPerformed(ActionEvent evt) {
			    if (evt.getSource() == buttonpfad) {      
			           JFileChooser fileChooser = new JFileChooser();
			           fileChooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
			           fileChooser.showOpenDialog(Auswahl.this);
			           File fileSelected = fileChooser.getSelectedFile();
			           mappfad.setText(fileSelected.getAbsolutePath());			           
			    }		    
			}
		});
		ok.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent evt) {
				new Editor(mappfad.getText(),x.getText(),y.getText());				

			}
		});		
	}

	public void loadelements(){
		this.add(map);
		this.add(mappfad);
		this.add(buttonpfad);
		this.add(xanz);		
		this.add(yanz);
		this.add(x);
		this.add(y);
		this.add(ok);
	}
	public void setsizelocation(JComponent c,int x,int y,int breite,int hoehe){//schnelles Plazieren von Componenten
		c.setSize(breite, hoehe);
		c.setLocation(x, y);
	}
	public static void main(String[] args) {
		Auswahl main=new Auswahl();

	}
}

class Editor extends JFrame{
	JPanel mappanel=new JPanel();
	BufferedImage karte;  
	String pfad;
	int xanz,yanz;
	JLabel maplabel; 
	public Editor(String pfad,String xanz,String yanz){
		super("Clash-Editor");
		try {
			karte=ImageIO.read(new File(pfad));	
		} catch (Exception e) {
		}
		maplabel=new JLabel(new ImageIcon(karte));
		this.pfad=pfad;
		this.xanz=Integer.parseInt(xanz);
		this.yanz=Integer.parseInt(yanz);
		this.setResizable(false);
		this.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
		this.setSize(800,600);
		this.setVisible(true);		
		this.setLayout(null);
		this.setsizelocation(maplabel, 0, 0, karte.getWidth(), karte.getHeight());
		mappanel.setSize(karte.getWidth(),karte.getHeight());
		mappanel.add(maplabel);
		this.add(mappanel);
		setelements();
	}
	
	public void setelements(){
		JButton setgitteran = new JButton("Gitter An");
		JButton setgitteraus = new JButton("Gitter Aus");
		setsizelocation(setgitteran, 10, 480, 100, 32);
		setsizelocation(setgitteraus, 110, 480, 100, 32);
		setgitteran.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent evt) {
				rasteran();
			}
		});	
		setgitteraus.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent evt) {
				rasteraus();
			}
		});			
		this.add(setgitteran);
		this.add(setgitteraus);
	}
	
	public void rasteran(){
		System.out.println("an");
	}
	

	
	public void rasteraus(){
		System.out.println("aus");
	}
	
	public void setsizelocation(JComponent c,int x,int y,int breite,int hoehe){//schnelles Plazieren von Componenten
		c.setSize(breite, hoehe);
		c.setLocation(x, y);
	}
}
 

merlin2

Top Contributor
Titanpharao hat gesagt.:
Code:
public void setsizelocation(JComponent c,int x,int y,int breite,int hoehe){//schnelles Plazieren von Componenten
		c.setSize(breite, hoehe);
		c.setLocation(x, y);
	}
}
:shock: Warum nicht setBounds() verwenden?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Wie komme ich an ein Objekt aus einem JTree? AWT, Swing, JavaFX & SWT 10
A TreeNode abgeleitet -> Wie komme ich an meine Methoden? AWT, Swing, JavaFX & SWT 2
C Komme nicht an mein textfeld AWT, Swing, JavaFX & SWT 3
M Hilfe ich komme nicht an ein JTextArea AWT, Swing, JavaFX & SWT 4
G Wie komme ich an die richtigen daten nach dem sortieren? AWT, Swing, JavaFX & SWT 6
D Wie komme ich an die Pfeile ran? AWT, Swing, JavaFX & SWT 3
A Dialog! Kontrolle! Wie komme ich aus dem Wizard raus??? AWT, Swing, JavaFX & SWT 15
S Wie komme ich an das Paint von der "nicht" Canvas AWT, Swing, JavaFX & SWT 3
richis-fragen Wie kann man den RowSorter dazu bringen die ursprünglich liste wieder anzuzeigen. AWT, Swing, JavaFX & SWT 28
J Eingaben aus Textfield & ComboBox speichern und in ComboBox wieder ausgeben AWT, Swing, JavaFX & SWT 3
B Text mit Absatz + OK-Button, der Fenster wieder schließt AWT, Swing, JavaFX & SWT 7
J JOptionPane ruft sich selbst immer wieder neu auf AWT, Swing, JavaFX & SWT 3
R JOptionPane schließt sich nicht wieder AWT, Swing, JavaFX & SWT 2
S Swing Mal wieder JTable Ansicht aktualisieren AWT, Swing, JavaFX & SWT 10
C Memory Karten nach Paar offen bleiben sonst wieder umdrehen AWT, Swing, JavaFX & SWT 1
C Benutzername in GUI eingeben und nach Spiel neues Fenster Benutzername wieder anzeigen AWT, Swing, JavaFX & SWT 1
T SWT Mysql Tabelle zeigt immer nur den ersten Wert immer wieder an AWT, Swing, JavaFX & SWT 3
X AWT Text der mit Graphics "drawString(...)" geschreiben wurde wieder löschen. AWT, Swing, JavaFX & SWT 6
F Swing Java Swing Array in Datei und wieder raus AWT, Swing, JavaFX & SWT 7
A Swing Paint mit Button Clear den Hintergrund säubern um wieder zeichnen zu können AWT, Swing, JavaFX & SWT 2
M Java anwendung VOR vollbildspielen (schon wieder...) AWT, Swing, JavaFX & SWT 5
P jframe setVisible(false) wieder sichtbar machen? AWT, Swing, JavaFX & SWT 4
B Swing Repaint Problem - mal wieder AWT, Swing, JavaFX & SWT 5
A jformattedtextfield unsichtbar und wieder sichtbar machen AWT, Swing, JavaFX & SWT 13
J Swing Fenster lässt sich nach Schließung nicht wieder öffnen AWT, Swing, JavaFX & SWT 4
O JTable zeigt die alte Daten wieder AWT, Swing, JavaFX & SWT 23
A AWT Nach dem generieren von bildern verschwinden diese wieder AWT, Swing, JavaFX & SWT 9
J Mal wieder Probleme mit paintComponent AWT, Swing, JavaFX & SWT 3
C SWT CTabItem wieder sichtbar machen AWT, Swing, JavaFX & SWT 3
C Schon wieder JTable AWT, Swing, JavaFX & SWT 7
GUI-Programmer Wieder ne Layout Frage AWT, Swing, JavaFX & SWT 11
R Komponente wieder entfernen AWT, Swing, JavaFX & SWT 13
E wieder einmal JTable AWT, Swing, JavaFX & SWT 5
A Fokus wieder in ein JTextField setzen AWT, Swing, JavaFX & SWT 4
L Buttons aus Arrayliste erstellt wie komm ich nun wieder an das Oobjekt aus der arrayliste ran AWT, Swing, JavaFX & SWT 3
Z Swing Buttons wieder entfernen vom Bildschirm AWT, Swing, JavaFX & SWT 5
O Swing JButton werden richtig gewechselt aber die Maus macht die alten wieder Sichtbar?? AWT, Swing, JavaFX & SWT 5
N gezeichnete Graphiken speichern und wieder anzeigen AWT, Swing, JavaFX & SWT 8
hdi SWT Operation auf GUI-Komponente kommt mal wieder nicht an... AWT, Swing, JavaFX & SWT 9
Ollek Swing JPnales nach bestimmtenVorgang wieder anzeigen AWT, Swing, JavaFX & SWT 4
P Swing Hintergrundfarbe auslesen und wieder setzen AWT, Swing, JavaFX & SWT 4
M AWT Zurücksetzbutton, wieder auf das original Bild AWT, Swing, JavaFX & SWT 3
S ProgressBar newRunnable (schon wieder!) AWT, Swing, JavaFX & SWT 9
M Fenster nach minimierung zum tray wieder öffnen AWT, Swing, JavaFX & SWT 3
E Swing Wieder ein Bild einfügen AWT, Swing, JavaFX & SWT 2
P schon wieder schlange AWT, Swing, JavaFX & SWT 8
Luy Per TAB-Taste aus TextArea wieder raus? AWT, Swing, JavaFX & SWT 5
D Swing JMenu wieder schließen lassen AWT, Swing, JavaFX & SWT 7
F JFileChooser mal wieder AWT, Swing, JavaFX & SWT 2
B Wie kann ich ein event wieder beseitigen AWT, Swing, JavaFX & SWT 2
hdi Swing mal wieder EDT -> nichts passiert AWT, Swing, JavaFX & SWT 20
S Feintuning, mal wieder Threading + swing ... AWT, Swing, JavaFX & SWT 8
P JTable...mal wieder AWT, Swing, JavaFX & SWT 7
S JDialog startet immer wieder neu AWT, Swing, JavaFX & SWT 2
A Wie werde ich beim JTable die Selection wieder los? AWT, Swing, JavaFX & SWT 6
PAX Iconified JFrame per Code wieder anzeigen lassen (deiconify) AWT, Swing, JavaFX & SWT 2
T Mal wieder Swing GUI AWT, Swing, JavaFX & SWT 7
hdi repaint() mag mal wieder nicht. AWT, Swing, JavaFX & SWT 9
T JCheckBox deselektieren (Haken wieder entfernen) - wie? AWT, Swing, JavaFX & SWT 5
M ich will die alten "alte JButtons"wieder haben AWT, Swing, JavaFX & SWT 6
G Ein jTextField im laufe das Programmes immer wieder updaten AWT, Swing, JavaFX & SWT 2
G wieder mal das leidige thema listener AWT, Swing, JavaFX & SWT 3
G Drag and Drop mal wieder? AWT, Swing, JavaFX & SWT 2
C JTable. Mal wieder AWT, Swing, JavaFX & SWT 10
G SWT Toolbar: Toolitem entfernen und wieder hinzufügen AWT, Swing, JavaFX & SWT 16
M wieder einmal JScrollPane und JList AWT, Swing, JavaFX & SWT 4
S getSize gibt keine Größe wieder AWT, Swing, JavaFX & SWT 4
T Linien zeichnen und wieder löschen AWT, Swing, JavaFX & SWT 9
Z Und schon wieder die Linien (Problem beim überzeichnen) AWT, Swing, JavaFX & SWT 4
V mal wieder das gute alte gridbaglayout AWT, Swing, JavaFX & SWT 4
W JTabele Aktualisieren - Wieder einmal AWT, Swing, JavaFX & SWT 4
B Schon wieder ein Problem mit paintComponent(). AWT, Swing, JavaFX & SWT 2
S JScrollPane mal wieder AWT, Swing, JavaFX & SWT 2
R JLabel Icon wieder entfernen AWT, Swing, JavaFX & SWT 4
A Wieder einmal Event-Dispatch-Thread AWT, Swing, JavaFX & SWT 5
R Mal wieder JTable AWT, Swing, JavaFX & SWT 11
I JProgressBar String anzeigen, danach wieder normale Ansicht AWT, Swing, JavaFX & SWT 3
G mal wieder table. AWT, Swing, JavaFX & SWT 3
X wieder mal ein prob mit dnd AWT, Swing, JavaFX & SWT 14
Luma Alle Fenster verstecken und wieder sichtbar machen? AWT, Swing, JavaFX & SWT 6
S JFrame minimieren und wieder herstellen AWT, Swing, JavaFX & SWT 2
J Spalte in JTable aus- und wieder einblenden AWT, Swing, JavaFX & SWT 10
R Anonymen CaretListener wieder entfernen AWT, Swing, JavaFX & SWT 4
G JTabbedPane: Tabs verschwinden lassen und wieder anzeigen AWT, Swing, JavaFX & SWT 3
G TableModel von JTable wieder entfernen AWT, Swing, JavaFX & SWT 10
juppi JFrame will nicht wieder verschwinden AWT, Swing, JavaFX & SWT 2
K Und schon wieder JInternalFrame AWT, Swing, JavaFX & SWT 2
S Wieder eine Frage zu javax.swing.text AWT, Swing, JavaFX & SWT 2
F JavaFX Per Jpacke erstellte exe startet nicht AWT, Swing, JavaFX & SWT 5
Juelin Text und Backgroundcolor im Label geht nicht AWT, Swing, JavaFX & SWT 7
richis-fragen Spaltenbreite bei drag nicht änderbar AWT, Swing, JavaFX & SWT 4
Juelin if Abfrage funktioniert nicht richtig AWT, Swing, JavaFX & SWT 10
MiMa Darstellung von FXML ateien nicht korrekt (SceneBuilder) AWT, Swing, JavaFX & SWT 2
P Methode wird nicht überprüft AWT, Swing, JavaFX & SWT 4
C Button ActionListener funktioniert nicht AWT, Swing, JavaFX & SWT 1
M Mandelbrot mit BigDecimal erstellen und in der UI zeichnen, funktionierte nicht. AWT, Swing, JavaFX & SWT 1
H JavaFX PixelWriter.setColor setzt Farbe nicht AWT, Swing, JavaFX & SWT 2
M JavaFX Diagonale Linie nicht ausgegeben/angezeigt AWT, Swing, JavaFX & SWT 1
M JavaFX Mandelbrot-bild noch nicht optimiert AWT, Swing, JavaFX & SWT 7
Hatsi09 Javafx MediaPlayer spielt nicht immer AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen


Oben