Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class draw extends JPanel implements MouseListener,MouseMotionListener {
- public Point point1 ;
- public void paintComponent(Graphics g ){
- super.paintComponent(g);
- g.setFont(new Font("Serif",Font.BOLD,15));
- String x = new String();
- for(int i =0 ;i< Nodes.size();i++){
- for(int j =0 ; j<Nodes.get(i).Child.size();j++){
- int x2 =Nodes.get(i).Child.get(j);
- g.setColor(Color.BLUE);
- Edge=""+Nodes.get(i).Weight.get(j);
- g.drawString(Edge,(Nodes.get(i).Pointn.x+Nodes.get(x2).Pointn.x)/2+30,(Nodes.get(i).Pointn.y+Nodes.get(x2).Pointn.y)/2+30);
- g.drawLine(Nodes.get(i).Pointn.x+55,Nodes.get(i).Pointn.y+55,Nodes.get(x2).Pointn.x+55 ,Nodes.get(x2).Pointn.y+55 );
- }}
- for(int i =0 ;i< Nodes.size();i++){
- x=Nodes.get(i).ids ;
- g.setColor(Color.RED);
- g.fillOval(Nodes.get(i).Pointn.x,Nodes.get(i).Pointn.y, 110, 110);
- g.setColor(Color.BLACK);
- g.drawString("ID="+x ,Nodes.get(i).Pointn.x,Nodes.get(i ).Pointn.y);
- g.setColor(Color.YELLOW);
- g.drawString("Index="+Nodes.get(i).indexs,Nodes.get(i).Pointn.x+40,Nodes.get(i).Pointn.y+50);
- }
- }
- @Override
- public void mouseClicked(MouseEvent e) {
- }
- @Override
- public void mousePressed(MouseEvent e) {
- int X=0 ,Y=0 ;
- boolean newid = false ;
- if(e.isMetaDown()){
- X=e.getX();
- Y=e.getY();
- for(int J = 0 ;J<Nodes.size();J++){
- int NodeX ,NodeY ;
- NodeX=Nodes.get(J).Pointn.x;
- NodeY=Nodes.get(J).Pointn.y;
- if(X >= NodeX && X <= NodeX+110 &&Y >= NodeY && Y <= NodeY+110){
- String NewID=JOptionPane.showInputDialog(null,"Enter New Node Id");
- for(int i = 0 ; i <Nodes.size();i++){
- if(Nodes.get(i).ids.equals(NewID)){
- JOptionPane.showMessageDialog(null, "The New Id is Already Used");
- }
- }
- if(newid=true){
- Nodes.get(J).ids=NewID;
- pane1.repaint();
- }
- }
- }
- }
- }
- @Override
- public void mouseReleased(MouseEvent e) {
- if(Index!=-1){
- Nodes.get(Index).Pointn=e.getPoint();
- pane1.repaint();
- Index=-1;
- }
- }
- @Override
- public void mouseEntered(MouseEvent e) {
- }
- @Override
- public void mouseExited(MouseEvent e) {
- }
- @Override
- public void mouseDragged(MouseEvent e) {
- if(Index==-1){
- int X=0 ,Y=0 ;
- X=e.getX();
- Y=e.getY();
- for(int J = 0 ;J<Nodes.size();J++){
- int NodeX ,NodeY ;
- NodeX=Nodes.get(J).Pointn.x;
- NodeY=Nodes.get(J).Pointn.y;
- if(X >= NodeX && X <= (NodeX+110) &&Y >= NodeY && Y <= (NodeY+110)){
- Index=J;
- }
- }
- }
- else{
- Nodes.get(Index).Pointn.x=e.getX();
- Nodes.get(Index). Pointn.y=e.getY();
- pane1.repaint();
- }
- }
- @Override
- public void mouseMoved(MouseEvent e) {
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement