Login: password:
Forgot your password?
MiniTetris
package minitetris;
import javax.swing.*;
import java.awt.*;
public class MiniTetris extends JFrame{

  public static void main(String[ ] a){
        new MiniTetris();
  }
  public MiniTetris() {
      this.setSize(400,400);
      this.centerInScreen();
       // fai in modo che la chiusura della finestra
    // termini l'applicazione
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE );
    //
    this.setLayout(new BorderLayout());
    //
    Brick b=new Brick();
    MainPanel mp=new MainPanel(b);
    this.add(mp,BorderLayout.CENTER);
    ControlPanel cp= new ControlPanel(b);
    this.add(cp,BorderLayout.SOUTH);
    // rendi la finestra visibile
    this.validate();
    this.setVisible(true);
    Animator a=new Animator(b,mp);
    a.start();

  }

  private void centerInScreen() {
    // trova le dimensioni dello schermo e della finestra
    Dimension screenSize =
                 Toolkit.getDefaultToolkit().getScreenSize();
    Dimension frameSize = this.getSize();
    // assicurati che la finestra non sia più grande dello schermo
    if (frameSize.height > screenSize.height)
                 frameSize.height = screenSize.height;
    if (frameSize.width > screenSize.width)
                frameSize.width = screenSize.width;
    // centra la finestra nello schermo
    this.setLocation((screenSize.width - frameSize.width) / 2,
                (screenSize.height - frameSize.height) / 2);
  }
}

package minitetris;

import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JPanel;

public class MainPanel extends JPanel{
    Color bgColor=Color.GRAY;
    Brick brick=null;
    MainPanel(Brick b){
        this.brick=b;
    }
    public void paintComponent(Graphics g){
        super.paintComponent(g);
        this.setBackground(bgColor);
        brick.draw(g);
    }
}

package minitetris;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JPanel;

public class ControlPanel extends JPanel implements ActionListener{
    Brick brick=null;
    final int UP_STEP=-20;
    ControlPanel(Brick b){
        brick=b;
        JButton jb=new JButton("UP");
        this.add(jb);
        jb.addActionListener(this);
        this.validate();
    }
    public void actionPerformed(ActionEvent e) {
        brick.verticalMove(UP_STEP);
    }

}


package minitetris;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Point;

public class Brick {
    Dimension size;
    Point position;
    Color color=Color.RED;
    Graphics g=null;
    Brick(){
        size=new Dimension(50,80);
        position=new Point(100,100);
    }
    void verticalMove(int dy){
        position.y+=dy;
    }
    void draw(Graphics g){
        g.setColor(color);
        g.fillRect(position.x, position.y, size.width, size.height);
    }
}

package minitetris;

import java.awt.Graphics;
public class Animator extends Thread {
    Brick brick=null;
    final int PAUSE=50;
    final int DY=1;
    Graphics g=null;
    MainPanel p=null;
    Animator(Brick brick,MainPanel p) {
        this.brick=brick;
        this.p=p;
    }
    public void run() {
        while (true) {
            try {
                Thread.sleep(PAUSE);
            } catch (InterruptedException ex) {}
            brick.verticalMove(DY);
            p.repaint();
        }
    }

}



powered by segue
segue_logo