Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.Color;
- import java.awt.EventQueue;
- import java.awt.Graphics;
- import java.awt.Graphics2D;
- import java.awt.Image;
- import java.awt.Toolkit;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.awt.event.KeyEvent;
- import java.awt.event.KeyListener;
- import java.awt.geom.Rectangle2D;
- import java.awt.image.BufferedImage;
- import java.io.File;
- import java.io.IOException;
- import javax.imageio.ImageIO;
- import javax.swing.BorderFactory;
- import javax.swing.ImageIcon;
- import javax.swing.JComponent;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JPanel;
- import javax.swing.JLayeredPane;
- import javax.swing.Timer;
- public class MyForm extends JFrame {
- private BufferedImage image;
- /**
- * Launch the application.
- */
- public static void main(String[] args) {
- EventQueue.invokeLater(new Runnable() {
- public void run() {
- MyForm frame = new MyForm();
- //frame.add(new MyCanva());
- frame.setVisible(true);
- }
- });
- }
- /**
- * Create the frame.
- */
- public MyForm() {
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- setBounds(0, 0, 1000, 1000);
- setTitle("ThaiCreate.Com Java GUI Tutorial");
- try {
- image = ImageIO.read(new File("B:\\images\\universe.jpg"));
- // Set your Image Here.
- //this.setContentPane(new JLabel(new ImageIcon(image)));
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- JLayeredPane layeredPane = getLayeredPane();
- // Panel 1
- JPanel panel1 = new JPanel();
- panel1.setBounds(300, 300,500, 500);
- //panel1.setBorder(BorderFactory.createTitledBorder("Panel 1"));
- panel1.add(new JLabel(new ImageIcon(image)));
- panel1.add(new MyCanva());
- layeredPane.add(panel1, new Integer(1));
- // Panel 2
- JPanel panel2 = new JPanel();
- panel2.setBounds(500, 500, 700, 700);
- //panel2.setBorder(BorderFactory.createTitledBorder("Panel 2"));
- panel2.add(new MyCanva());
- layeredPane.add(panel2, new Integer(2));
- // Panel 3
- /*JPanel panel3 = new JPanel();
- panel3.setBounds(80, 140, 187, 109);
- panel3.setBorder(BorderFactory.createTitledBorder("Panel 3"));
- panel3.add(new JLabel("Label 5"));
- panel3.add(new JLabel("Label 6"));
- layeredPane.add(panel3, new Integer(3));*/
- }
- }
- class Spaceship extends JComponent {
- public void paint(Graphics g){
- Graphics2D g2 = (Graphics2D) g;
- Rectangle2D df = new Rectangle2D.Double(175, 540, 30, 40);
- g2.fill(df);
- }
- }
- class MyCanva extends JPanel implements ActionListener, KeyListener {
- Timer tm = new Timer(10, this);
- int x = 0, velX = 0, y = 0, velY = 0;
- Image img1 = Toolkit.getDefaultToolkit().getImage("B:\\images\\ufa.png");
- int step = 8;
- public MyCanva() {
- tm.start();
- addKeyListener(this);
- setFocusable(true);
- setFocusTraversalKeysEnabled(false);
- }
- public void paintComponent(Graphics g) {
- super.paintComponent(g);
- g.setColor(Color.red);
- g.fillRect(x, y, 50, 30);
- // g.drawImage(img1, x, 0, this);
- }
- void move() {
- }
- @Override
- public void actionPerformed(ActionEvent e) {
- x += (step * velX);
- if (x < 0) {
- x = 0;
- }
- if (x > 650) {
- x = 400;
- }
- if(y<0)
- {
- velY=0;
- y=0;
- }
- if(y>330)
- {
- velY=0;
- y=330;
- }
- x = x+ velX;
- y = y+ velY;
- repaint();
- }
- @Override
- public void keyTyped(KeyEvent e) {
- }
- @Override
- public void keyPressed(KeyEvent e) {
- int c = e.getKeyCode();
- if (c == KeyEvent.VK_LEFT) {
- velX = -1;
- }
- if(c==KeyEvent.VK_UP)
- {
- velX=0;
- velY=-1;
- }
- if (c == KeyEvent.VK_RIGHT) {
- velX = 1;
- // velY = 0;
- }
- if(c==KeyEvent.VK_DOWN)
- {
- velX=0;
- velY=1;
- }
- }
- @Override
- public void keyReleased(KeyEvent ke) {
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment