IceBreakeR
Сообщений: 2
Оценки: 0
Присоединился: 2009-01-26 08:07:16.623333
|
Первую проблему решил Всего-то надо было унаследовать Canvas и переопределить метод Paint
import java.awt.*;
import java.awt.Image;
public class MCanvas extends Canvas {
private Image img; //здесь храним картинку
public MCanvas () {
super();
super.setSize(100, 100);
}
public void setImage(Image Img)
{
this.img=Img;
}
@Override
public void paint(Graphics g)
{
if(this.img!=null)
{
g.drawImage(img, 0, 0, this);
}
}
/* @Override
public void updаtе(Graphics g) {
if(this.img!=null)
{
g.drawImage(img, 0, 0, this);
}
}*/
}
И в классе формы
public class FormMap extends javax.swing.JFrame {
/** Creates new form FormMap */
public FormMap() {
initComponents();
this.setSize(400, 300);
this.img=this.createImage(400, 300);
this.canvas=new MCanvas();
this.canvas.setSize(400, 300);
this.canvas.setImage(img);
Graphics g=this.img.getGraphics();
this.map=new TMap(10,10,20);
this.view=new MapView(this.map,g);
this.add(this.canvas);
this.view.show();
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new FormMap().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JDialog jDialog1;
private javax.swing.JFileChooser jFileChooser1;
// End of variables declaration
private TMap map;
private MapView view;
private MCanvas canvas;
private Image img;
А задача с двойным буфером остается актуальной
|