S
soulrider
Gast
Hello
ich habe ein kleines Problem: Ich möchte in einem Panel ein JComponent-Objekt (Rectangle) darstellen. Dieses wiederum wird dem Frame geaddet.
Wenn ich das JComponent Objekt direkt dem frame adde, funktioniert alles wunderbar. Wenn ich über das JPanel gehe, sieht man nichts. Was mach isch falsch?
RectangleComponent Klasse
DraggingTester Klasse
Vielen Dank für jeden Hinweis!
ich habe ein kleines Problem: Ich möchte in einem Panel ein JComponent-Objekt (Rectangle) darstellen. Dieses wiederum wird dem Frame geaddet.
Wenn ich das JComponent Objekt direkt dem frame adde, funktioniert alles wunderbar. Wenn ich über das JPanel gehe, sieht man nichts. Was mach isch falsch?
RectangleComponent Klasse
Code:
package test1;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionListener;
import javax.swing.JComponent;
public class RectangleComponent extends JComponent {
class MyMouseMotionListener3 implements MouseMotionListener{
public void mouseMoved(MouseEvent e){
}
public void mouseDragged(MouseEvent e) {
moveTo(e.getX(),e.getY());
}
}
public void paintComponent(Graphics g)
{
Rectangle box = new Rectangle(5,5,50,50);
this.addMouseMotionListener(new MyMouseMotionListener3());
Graphics2D g2 = (Graphics2D) g;
g2.draw(box);
}
public void moveTo(int x, int y){
this.setLocation(x,y);
repaint();
}
}
DraggingTester Klasse
Code:
package test1;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Forum extends JFrame{
public static void main(String[] args){
RectangleComponent component = new RectangleComponent();
JFrame frame = new JFrame();
JPanel panel0 = new JPanel();
panel0.add(component);
frame.add(panel0);
frame.setSize(350,400);
frame.setTitle("Dragg it!");
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Vielen Dank für jeden Hinweis!