Preciso de uma ajuda…
estou com essa classe e gostaria de transforma-la em uma classe "JInternalFrame " pra q outra janela a chame pelo menu…
ja tenho um programa principal q esta chamado através de um menu outras classes q são "JInternalFrame ".
Eu fiz um teste, alterei essa classe pra uma casse "JInternalFrame ", mas qndo eu a chamo pelo menu na classe principal, ela ñ aparece.
alguém pode me ajudar?
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionListener;
import java.awt.geom.AffineTransform;
import javax.swing.JComponent;
import javax.swing.JFrame;
public class Teste extends JComponent {
Retangulo[] rects = new Retangulo[] {
// new Retangulo(100, 100, 50, 50, 1),
new Retangulo(100, 500, 95, 95, 1),
// new Retangulo(500, 100, 95, 50, 1),
// new Retangulo(500, 500, 50, 95, 1)
};
int selection = 0;
public Teste() {
Controller controller = new Controller();
addMouseListener(controller);
addMouseMotionListener(controller);
}
protected void paintComponent(Graphics g) {
Graphics2D g2 = (Graphics2D) g;
g2.setColor(Color.BLUE);
for (int i=0; i<rects.length; i++) {
Retangulo r = rects[i];
int x = r.cx - (r.width/2);
int y = r.cy - (r.height/2);
AffineTransform original = g2.getTransform();
AffineTransform trans = new AffineTransform(original);
trans.translate(r.cx, r.cy);
trans.rotate(r.rotation);
trans.translate(-r.cx, -r.cy);
g2.setTransform(trans);
g2.fillRect(x, y, r.width, r.height);
g2.setTransform(original);
}
}
private class Controller extends MouseAdapter implements MouseMotionListener {
int x, y;
public void mousePressed(MouseEvent evt) {
selection = (selection + 1) % rects.length;
x = evt.getX();
y = evt.getY();
}
public void mouseDragged(MouseEvent evt) {
rects[selection].rotation += ((double) evt.getX() - x) / 10;
x = evt.getX();
y = evt.getY();
repaint();
}
public void mouseMoved(MouseEvent evt) {}
}
public static void main(String[] args) {
Teste t = new Teste();
JFrame f = new JFrame();
f.setSize(640,480);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setLayout(new BorderLayout());
f.add(t, BorderLayout.CENTER);
f.setVisible(true);
}
}
class Retangulo {
int cx, cy, width, height;
double rotation;
Retangulo() {
rotation=cx=cy=width=height=0;
}
Retangulo(int cx, int cy, int width, int height, double rotation) {
this.cx = cx;
this.cy = cy;
this.width = width;
this.height = height;
this.rotation = rotation;
}
}>