всем здраствуите , мине надо как проект написать программу каторая управлает базои данны , я написал 3 класса ето 1: школа 2: комната 3: ПК в ПК находится картинка ну и методы гет и сет , патом в комнате находится лист с этими КП и тагже методы гет сет каторые нужны и в школе находится лис с комнатами .. вот тепер я всё это рисую комната ето у меня отделная панел я в ней рисую все компы каторые есть но когда начинаю двигать один из них то получается так что картинка движется позади мышки тоесть неуспевает за курсором чо делать ? понимаю что надо как можно менше рисовать тода будет всё тип топ но ведь это всё тоже надо рисовать вот в чем проблема прошу прошение за правописание
Код | public void paintComponent(Graphics g) { super.paintComponent(g); Graphics2D g2 = (Graphics2D) g; setBackground(Color.WHITE); Ellipse2D ellipse = new Ellipse2D.Double(); Dimension panelSize=this.getSize(); g2.setColor(Color.BLACK); for(int x=0;x<panelSize.getWidth();x+=10){ for(int y=0;y<panelSize.getHeight();y+=10){ ellipse.setFrame(x, y, 1, 1); g2.draw(ellipse); } } for(int i=0;i<AES.getRaum(1).getPC_Number();i++) g2.drawImage(AES.getRoom(1).getPC_byIndex(i).getItsImage(),(int) AES.getRoom(1).getPC_byIndex(i).getItsPosition().getX(), (int)AES.getroom(1).getPC_byIndex(i).getItsPosition().getY(),50,50,null);
}
|
Код | private class MouseHandler extends MouseAdapter { public void mousePressed(MouseEvent event) { currentPC=find(event.getPoint()); if(currentPC!=null){ pX_Image=(event.getX())- ((int)currentPC.getItsPosition().getX()); pY_Image=(event.getY())- ((int)currentPC.getItsPosition().getY()); } }
}
|
Код | public void mouseDragged(MouseEvent event) { if(currentPC!=null){ currentPC.setItsPosition(new Point(event.getX()-pX_Image,event.getY()-pY_Image)); repaint();} }
|
|