Reklama
Pokazuje wyniki od 1 do 5 z 5

Temat: [Java]Cos nie tak z moim kodem.

  1. #1
    Avatar Absynt
    Data rejestracji
    2009
    Wiek
    30
    Posty
    1,266
    Siła reputacji
    15

    Domyślny [Java]Cos nie tak z moim kodem.

    kod ktory mi nie dziala:

    Kod:
    package assignment1;
    
    import java.awt.*;
    
    public class FleetOfShips
    {
        Ship[] fleetMembers; 
        int total = 5; 
     
        FleetOfShips() 
        {
            fleetMembers = new Ship[total]; 
            for (int i = 0; i < total; i = i++) 
            {
                fleetMembers[i] = new Ship();  
                fleetMembers[i].setX (i * 10); 
                fleetMembers[i].setY (i * 10);
            }
        }
        
        public void draw(Graphics g)
        {
            for (int i = 0; i < total; i = i++)
            {
                fleetMembers[i].draw(g); 
            }
        }
        
        public void goSouth(int howFar)
        {
            for (int i = 0; i < total; i = i + 1) 
            {    
                fleetMembers[i].setY (fleetMembers[i].getY() + howFar); 
            
        }   
    } 
    }
    Wszystko kompiluje sie bez problemow, ale gdy w BlueJ klikne prawym i dam "new" to sie blokuje na tworzeniu nowego objektu i po prostu nie dziala. Strzelam ze jest cos nie tak z moim kodem, ale dopiero sie ucze i nie mam pojecia co z tym zrobic.

    Pomocy :3.

  2. #2
    Avatar Rocket Man
    Data rejestracji
    2007
    Położenie
    Zach-Pom
    Posty
    423
    Siła reputacji
    17

    Domyślny

    wklej caly kod tutaj albo na pm, to zobacze.

  3. Reklama
  4. #3
    Avatar Cybuch
    Data rejestracji
    2004
    Położenie
    Poznań
    Wiek
    32
    Posty
    2,161
    Siła reputacji
    21

    Domyślny

    Czemu nie Eclipse albo chociaż Netbeans?
    No i tak, cały kod byłby mile widziany, a nawet jeśli nie chcesz wkleić to chociaż stack i klasy, do których się on odwołuje

  5. #4
    Avatar Absynt
    Data rejestracji
    2009
    Wiek
    30
    Posty
    1,266
    Siła reputacji
    15

    Domyślny

    Dobra wiec w moim programie chodzi o mniej wiecej cos takiego:

    Mam 3 klasy:

    Square - Ma narysowac w applecie kwardrat ktory reaguje na akcje uzytkownika (w tym wypadku zmienia rozmiar przy kliknieciu)

    Ship - To samo co wyzej, z tym ze ma to byc zrobione z 5 "Square"

    I teraz ten z ktorym mam problem, "FleetOfShips" czyli 5 "Ships" na raz

    Kod:

    Square:
    Kod:
    package assignment1;
    
    import java.awt.*;
    
    public class Square  
    {   
       private double x,y;    
       
       public Color color;    
    
       private int side;
    
       public Square()
       {
          x = 100;
          y = 100;
          side = 5;
    	  color = Color.orange;
       }
      
       
       public void draw(Graphics g) 
       {
          g.setColor(color);
          g.fillRect( (int)(x), (int)(y), (int)(2*side), (int)(2*side) );
       }
       
       public void setSide(int s)
       {
           side = s;
       }
       
       public int getSide()
       {
           return side;
       }
        
       public int getX()
       {
            return (int) x;
       }
        
       public int getY()
       {
            return (int) y;
       }
       
       public void setX(int xIn)
       {
           x = xIn;
       }
       
       public void setY(int setY)
       {
           y = setY;
       }
    }
    Ship:

    Kod:
    package assignment1;
    
    import java.awt.*;
    
    public class Ship extends Square  
    {   
    
    
        public Ship()
        {
            super();
        }
    
       public void draw(Graphics g) 
       {
          int side = super.getSide();
          int x = super.getX();
          int y = super.getY();
          
          g.setColor(color);
          g.fillRect( (int)(x), (int)(y), (int)(2*side), (int)(2*side) );
            
          g.setColor(color);
          g.fillRect( (int)(x), (int)(y - (2*side)), (int)(2*side), (int)(2*side) );
          
          g.setColor(color);
          g.fillRect( (int)(x - (2*side)), (int)(y - (2*side)), (int)(2*side), (int)(2*side) );
          
          g.setColor(color);
          g.fillRect( (int)(x + (2*side)), (int)(y - (2*side)), (int)(2*side), (int)(2*side) );
          
          g.setColor(color);
          g.fillRect( (int)(x), (int)(y - (4*side)), (int)(2*side), (int)(2*side) );
       }
        
    }
    i FleetOfShips:

    Kod:
    package assignment1;
    
    import java.awt.*;
    
    public class FleetOfShips
    {
        Ship[] fleetMembers; 
        int total = 5; 
     
        FleetOfShips() 
        {
            fleetMembers = new Ship[total]; 
            for (int i = 0; i < total; i = i++) 
            {
                fleetMembers[i] = new Ship();  
                fleetMembers[i].setX (i * 10); 
                fleetMembers[i].setY (i * 10);
            }
        }
        
        public void draw(Graphics g)
        {
            for (int i = 0; i < total; i = i++)
            {
                fleetMembers[i].draw(g); 
            }
        }
        
        public void goSouth(int howFar)
        {
            for (int i = 0; i < total; i = i + 1) 
            {    
                fleetMembers[i].setY (fleetMembers[i].getY() + howFar); 
            
        }   
    } 
    }
    Wszystkie 3 mi w BlueJ kompiluja bez problemow ale ten ostatni mi po prostu wywala applet.

    Skad wiem ze ostatni jest problemem? Nasz nauczyciel dal nam ten kawalek kodu ktory pozwala nam "odpalic" kazda klase z osobna, wystarczy pozmieniac nazwy klas w kodzie (w tym wypadku to co wkleilem odnosi sie do "square"). Normalnie mi wyswietla tak jak ma wyswietlac "square" i "ship" ale "FleetOfShips" nie dziala.

    Kod:
    package assignment1;
    
    import java.awt.event.*;
    import java.applet.Applet;
    import java.awt.*;
    import javax.swing.*; 
    
    public class AnimateInTabSquare extends JApplet 
                        implements ActionListener, MouseListener, MouseMotionListener  
    {
    
        JPanel display;
        JTabbedPane tabpane;
        JEditorPane helpPane;
        Square mySquare;
           
        private int x;
        private int y;
        
        private Timer timer = new Timer(100,this);
        
        public AnimateInTabSquare() // constructor
        {
               display = new JPanel() 
               {
                    public void paintComponent(Graphics g) 
                    {
                        drawFrame(g);
                    }
                };
                //getContentPane().add(display);
        }
        
        public void init( ) 
        { 
            display.addMouseListener(this);
            display.addMouseMotionListener(this);
            timer.setDelay(10);
            timer.start();
              
            mySquare = new Square();
            
            tabpane = new JTabbedPane( ); 
            
            helpPane = new JEditorPane();
            // allow embedded html in your rendered text
            helpPane.setContentType( "text/html" );
            String helpText;
            helpText = "<html><body>line 1 of help<br>";
            helpText = helpText + "<em> another lne of help </em><br>";
            helpText = helpText + "last line of help</body></html>";
            helpPane.setText(helpText);
            
            // add tabs
            tabpane.addTab( "Game", display );
            tabpane.addTab( "Help", helpPane );
            // add tabbed pane to applet
            add( tabpane, BorderLayout.CENTER);
        }
        
        public void drawFrame(Graphics g) 
        {     
              // to compute and draw the next frame in the animation.          
              g.setColor(Color.black);  // fill the applet with a black background.
              g.fillRect(0, 0, getSize().width, getSize().height);
              
              // place here code that should happen every time that the timer makes the frame get re-drawn
              // Ask the myFleet object to draw itself.
              mySquare.draw(g);
        } // end drawFrame()
           
        // empty methods below must be here for mouseEventListener   
        public void mousePressed(MouseEvent evt) { }
        public void mouseDragged(MouseEvent evt) { }    
        public void mouseReleased(MouseEvent evt) { }   
        public void mouseMoved(MouseEvent evt) { } 
        public void mouseEntered(MouseEvent evt) { }
        public void mouseExited(MouseEvent evt) { }
        
        public void mouseClicked(MouseEvent evt) 
        { 
               if (mySquare.getSide() == 5)
                        mySquare.setSide(50);
                 else
                        mySquare.setSide(5); 
               display.repaint();
        }
           
        public void actionPerformed(ActionEvent evt) // triggered by timer
        {
                //display.repaint();
        }
    }
    Jak uzyje tego z "fleetofships" to applet po prostu sie wiesza i musze wylaczyc go ctrl+alt+del

    Jedyna rzecz jaka potrzebuje to zeby wyswietlilo mi to "FleetOfShips" w applecie, bo musze porobic screeny dla mojego nauczyciela. Ten kod ktory mam byl robiony z PDL od nauczyciela ale nadal nie dziala mi.



    @Rocket Man

    @Cybuch

  6. #5
    Avatar Cybuch
    Data rejestracji
    2004
    Położenie
    Poznań
    Wiek
    32
    Posty
    2,161
    Siła reputacji
    21

    Domyślny

    Nie umiesz into pętla for xD
    jak ty robisz
    Kod:
    for (int i = 0; i < total; i = i++) { (...) }
    Jak być powinno
    Kod:
    for (int i = 0; i < total; i++) { (...) }
    Pozamieniaj se we FleetOfShips i bedzie działać, bo unikniesz nieskonczonej petli ;)
    @Absynt ;
    Ostatnio zmieniony przez Cybuch : 28-04-2014, 01:00

Reklama

Informacje o temacie

Użytkownicy przeglądający temat

Aktualnie 1 użytkowników przegląda ten temat. (0 użytkowników i 1 gości)

Podobne tematy

  1. Zapotrzebowanie RAM przez tibie? Cos jest nie tak?
    Przez Mentoll w dziale Sprzęt i oprogramowanie
    Odpowiedzi: 16
    Ostatni post: 03-02-2014, 23:57
  2. [Problem] Coś złego dzieje się z moim laptopem
    Przez Katalonczyk w dziale Sprzęt i oprogramowanie
    Odpowiedzi: 9
    Ostatni post: 15-01-2014, 11:56
  3. Nie da się połączyć z moim ots
    Przez Kuksza w dziale Strefa developerska
    Odpowiedzi: 5
    Ostatni post: 11-11-2013, 15:35
  4. Modem Huawei E353 - problem z sygnałem, coś jest nie tak.
    Przez Dzzej w dziale Sprzęt i oprogramowanie
    Odpowiedzi: 0
    Ostatni post: 11-06-2012, 20:43
  5. Battlefield 3, coś tu jest nie tak -,-
    Przez konto usunięte w dziale Inne gry
    Odpowiedzi: 5
    Ostatni post: 18-03-2012, 18:29

Zakładki

Zakładki

Zasady postowania

  • Nie możesz pisać nowych tematów
  • Nie możesz pisać postów
  • Nie możesz używać załączników
  • Nie możesz edytować swoich postów
  •