Hallo Leute,
ich hänge (mal wieder) beim Zeichnungsvorgang.
Ich hab mir zwar einige Posts durchgelesen, werde jedoch immernoch net schlau und verstehs mehr oder weniger auch nicht.
Hier mein bisheriger Code:
Nun würde ich gerne die Methode paintComponent() aus Spielfeld aufrufen, um auf dem Panel dann zu zeichnen. Jedoch habe ich weder nen Plan, wie ich das mach, noch eine hilfreiche Lösung im Netz gefunden
Hoffe, ihr könnt mir helfen
Grüße,
Schrubber
ich hänge (mal wieder) beim Zeichnungsvorgang.
Ich hab mir zwar einige Posts durchgelesen, werde jedoch immernoch net schlau und verstehs mehr oder weniger auch nicht.
Hier mein bisheriger Code:
Java:
import java.awt.Dimension;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
public class Main implements KeyListener {
private Window window = new Window();
static int wx = 500;
static int wy = 500;
static int lx = 200;
static int ly = 200;
public static void main(String[] args) {
new Main().init();
}
public void init() {
JFrame mainwindow;
String gamename = "Schrubber's TestRPG";
mainwindow = new JFrame(gamename);
mainwindow.add(window.init());
mainwindow.addKeyListener(new Main());
mainwindow.setVisible(true);
mainwindow.setPreferredSize(new Dimension(wx,wy));
mainwindow.setLocation(lx,ly);
mainwindow.setResizable(false);
mainwindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mainwindow.pack();
mainwindow.repaint();
}
@Override
public void keyPressed(KeyEvent e) {
int keycode = e.getKeyCode();
//System.out.println(keycode);
if(keycode == 38) {
System.out.println("Pfeiltaste hoch");
} else {
if(keycode == 37) {
System.out.println("Pfeiltaste links");
} else {
if(keycode == 40) {
System.out.println("Pfeiltaste runter");
} else {
if(keycode == 39) {
System.out.println("Pfeiltaste rechts");
} else {
if(keycode == 73) {
System.out.println("Taste I"); //Inventory
} else {
if(keycode == 67) {
System.out.println("Taste C"); //Character
}
}
}
}
}
}
}
@Override
public void keyReleased(KeyEvent e) {
}
@Override
public void keyTyped(KeyEvent e) {
}
}
Java:
import java.awt.Dimension;
import javax.swing.JPanel;
public class Window {
public JPanel init() {
JPanel mainpanel = new JPanel();
mainpanel.add(new Spielfeld().spielfeld());
mainpanel.add(new Navi().navigation());
mainpanel.setLayout(null);
mainpanel.setSize(new Dimension(500,500));
mainpanel.setVisible(true);
return mainpanel;
}
}
Java:
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import javax.swing.JPanel;
public class Spielfeld extends JPanel {
public JPanel spielfeld() {
JPanel spielfeld = new JPanel();
spielfeld.setBounds(0,0,Main.wx,Main.wy-100);
spielfeld.setPreferredSize(new Dimension(Main.wx,Main.wy-100));
spielfeld.setBackground(Color.green);
return spielfeld;
}
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawLine(50,50,150,80);
}
}
Nun würde ich gerne die Methode paintComponent() aus Spielfeld aufrufen, um auf dem Panel dann zu zeichnen. Jedoch habe ich weder nen Plan, wie ich das mach, noch eine hilfreiche Lösung im Netz gefunden
Hoffe, ihr könnt mir helfen
Grüße,
Schrubber