Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package game;
- import java.awt.BorderLayout;
- import java.awt.CardLayout;
- import java.awt.Color;
- import java.awt.Component;
- import java.awt.Dimension;
- import java.awt.FlowLayout;
- import java.awt.GridLayout;
- import java.awt.LayoutManager;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.awt.event.MouseAdapter;
- import java.awt.event.MouseEvent;
- import java.awt.event.MouseListener;
- import java.awt.event.MouseMotionListener;
- import java.io.File;
- import java.io.IOException;
- import java.util.ArrayList;
- import java.util.Dictionary;
- import java.util.HashMap;
- import java.util.Map;
- import java.util.Map.Entry;
- import javax.imageio.ImageIO;
- import javax.swing.BoxLayout;
- import javax.swing.ImageIcon;
- import javax.swing.JButton;
- import javax.swing.JComboBox;
- import javax.swing.JFileChooser;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JPanel;
- import javax.swing.JTextField;
- import javax.swing.plaf.DimensionUIResource;
- import javax.swing.plaf.basic.BasicTabbedPaneUI.MouseHandler;
- public class Main extends JFrame {
- private static final long serialVersionUID = 1L;
- public String GameSelected = "";
- public JPanel panelOne = new JPanel();
- public JPanel makePanel = new JPanel();
- public static ArrayList<JLabel> images = new ArrayList<JLabel>();
- public static Map<Component, String> maps = new HashMap();
- int i =0;
- Component component;
- public static void main(String[] args)
- {
- Main obj = new Main();
- obj.createAdjacentJpanels();
- }
- public void createAdjacentJpanels()
- {
- this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- this.setSize(configuration.APP_WIDTH, configuration.APP_HEIGHT);
- this.setLayout(new BorderLayout());
- this.setVisible(true);
- JPanel container = new JPanel();
- JPanel panelTwo = new JPanel();
- JButton breakout = new JButton();
- breakout.setText("Breakout");
- breakout.setFocusable(false);
- JButton addshape = new JButton();
- addshape.setText("Add Object");
- addshape.setFocusable(false);
- String[] breakoutObjects = {"Brick" , "Ball" , "Paddle"};
- JComboBox<String> comboBox1 = new JComboBox<String>();
- for(int i =0 ; i<breakoutObjects.length; ++i)
- {
- comboBox1.addItem(breakoutObjects[i]);
- }
- comboBox1.setPreferredSize(new Dimension(90,30));
- comboBox1.setMaximumSize( comboBox1.getPreferredSize() );
- //petList.addActionListener((ActionListener) this);
- makePanel.setLayout(null);
- makePanel.setBackground(Color.white);
- makePanel.setPreferredSize(new Dimension(400,400));
- makePanel.setVisible(true);
- // JLabel test = new JLabel("Makeee Game");
- // test.setBounds(300, 300, 400, 400);
- // makePanel.add(test);
- panelOne.setLayout(new BoxLayout(panelOne, BoxLayout.Y_AXIS));
- panelOne.setPreferredSize(new DimensionUIResource(600, 900));
- panelOne.add(new JLabel("Make Game"));
- panelOne.add(breakout);
- panelOne.add(addshape);
- panelTwo.add(new JLabel("Play Game"));
- panelOne.add(comboBox1);
- panelOne.add(makePanel);
- container.setLayout(new GridLayout(1,2));
- container.add(panelOne);
- container.add(panelTwo);
- this.add(container);
- breakout.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- GameSelected = "breakout";
- }
- });
- addshape.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- JFileChooser fileChooser = new JFileChooser();
- fileChooser.setMultiSelectionEnabled(false);
- int option = fileChooser.showOpenDialog(panelOne);
- if(option == JFileChooser.APPROVE_OPTION){
- File file = fileChooser.getSelectedFile();
- try {
- String x = String.valueOf(comboBox1.getSelectedItem());
- System.out.println(x);
- JLabel temp = new JLabel();
- temp.setIcon(new ImageIcon(ImageIO.read(file)));
- temp.setPreferredSize(new Dimension(configuration.BRICK_WIDTH,configuration.BRICK_HEIGHT));
- String str = temp.getX()+","+temp.getY();
- maps.put(temp, "0,0");
- i++;
- // for (Entry<Component, String> entry : maps.entrySet())
- //{
- // component = entry.getKey();
- //System.out.println(entry.getValue());
- temp.setBounds(0, 0, configuration.BRICK_WIDTH, configuration.BRICK_HEIGHT);
- makePanel.add(temp);
- //System.out.println("________________________");
- //}
- temp.addMouseListener(new MouseDrag());
- temp.addMouseMotionListener(new MouseDrag());
- makePanel.revalidate();
- makePanel.repaint();
- } catch (IOException e1) {
- e1.printStackTrace();
- }
- }else{
- //System.out.println("Open command canceled");
- }
- //System.out.println(images);
- }
- });
- }
- public void attributewindow(Component component)
- {
- JFrame frame = new JFrame();
- JPanel attributes = new JPanel();
- JLabel setwidth = new JLabel();
- JLabel setheight = new JLabel();
- JLabel speedx = new JLabel();
- JLabel speedy = new JLabel();
- JTextField setwidthtext = new JTextField();
- JTextField setheighttext = new JTextField();
- JTextField speedxtext = new JTextField();
- JTextField speedytext = new JTextField();
- JButton confirm = new JButton();
- confirm.setText("Confirm");
- confirm.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- ComponentAttributes obj = new ComponentAttributes(component);
- obj.setWidth(Integer.parseInt(setwidthtext.getText()));
- obj.setHeight(Integer.parseInt(setheighttext.getText()));
- obj.setSpeedX(Integer.parseInt(speedxtext.getText()));
- obj.setSpeedY(Integer.parseInt(speedytext.getText()));
- obj.confirm();
- makePanel.revalidate();
- makePanel.repaint();
- frame.dispose();
- }
- });
- setwidth.setText("Width");
- setheight.setText("Height");
- speedx.setText("Speed-X");
- speedy.setText("Speed-Y");
- setwidthtext.setPreferredSize(new Dimension(90,20));
- setheighttext.setPreferredSize(new Dimension(90,20));
- speedxtext.setPreferredSize(new Dimension(90,20));
- speedytext.setPreferredSize(new Dimension(90,20));
- attributes.setLayout(new FlowLayout());
- attributes.add(setwidth);
- attributes.add(setwidthtext);
- attributes.add(setheight);
- attributes.add(setheighttext);
- attributes.add(speedx);
- attributes.add(speedxtext);
- attributes.add(speedy);
- attributes.add(speedytext);
- attributes.add(confirm);
- frame.setPreferredSize(new Dimension(200,200));
- attributes.setPreferredSize(new Dimension(200,200));
- frame.add(attributes);
- frame.setVisible(true);
- }
- public class MouseDrag implements MouseListener, MouseMotionListener {
- private int X,Y;
- public Main objj = new Main();
- public MouseDrag() {
- }
- public void setComponents(Component component)
- {
- component.addMouseListener(this);
- component.addMouseMotionListener(this);
- }
- @Override
- public void mouseDragged(MouseEvent arg0) {
- // TODO Auto-generated method stub
- //System.out.println("Co-ordinates" + " "+ arg0.getComponent().getX() + " " + arg0.getComponent().getY() + " " +arg0.getX()+ " " + arg0.getY() + " " + X + " "+ Y );
- //System.out.println("Conditions" + " " + (arg0.getX() + arg0.getComponent().getX()-X) + " " + (arg0.getY() + arg0.getComponent().getY()-Y));
- //if( arg0.getComponent().getX() >= 0 && (arg0.getComponent().getX() + arg0.getComponent().getWidth()) <= 600 && arg0.getComponent().getY() >= 0 && (arg0.getComponent().getY() + arg0.getComponent().getHeight()) <= 500)
- //{
- //System.out.println(arg0.getX() + " " + arg0.getY());
- boolean flag = false;
- if((arg0.getX() + arg0.getComponent().getX()-X) < 0)
- {
- arg0.getComponent().setLocation(0, arg0.getY() + arg0.getComponent().getY()-Y);
- flag = true;
- }
- if((arg0.getX() + arg0.getComponent().getX()-X) >= 550)
- {
- arg0.getComponent().setLocation(550, arg0.getY() + arg0.getComponent().getY()-Y);
- flag = true;
- }
- if((arg0.getY() + arg0.getComponent().getY()-Y) < 70)
- {
- arg0.getComponent().setLocation(arg0.getX() + arg0.getComponent().getX()-X, 70);
- flag = true;
- }
- if((arg0.getY() + arg0.getComponent().getY()-Y) > 500)
- {
- arg0.getComponent().setLocation(arg0.getX() + arg0.getComponent().getX()-X, 500);
- flag = true;
- }
- if(!flag)
- {
- arg0.getComponent().setLocation(arg0.getX() + arg0.getComponent().getX()-X, arg0.getY() + arg0.getComponent().getY()-Y);
- }
- String str = arg0.getComponent().getX() + "," + arg0.getComponent().getY();
- objj.maps.put(arg0.getComponent(), str);
- }
- @Override
- public void mouseMoved(MouseEvent arg0) {
- // TODO Auto-generated method stub
- }
- @Override
- public void mouseClicked(MouseEvent e) {
- // TODO Auto-generated method stub
- Component component = e.getComponent();
- Main obj = new Main();
- obj.attributewindow(component);
- }
- @Override
- public void mouseEntered(MouseEvent e) {
- // TODO Auto-generated method stub
- }
- @Override
- public void mouseExited(MouseEvent e) {
- // TODO Auto-generated method stub
- }
- @Override
- public void mousePressed(MouseEvent e) {
- // TODO Auto-generated method stub
- X = e.getX();
- Y = e.getY();
- }
- @Override
- public void mouseReleased(MouseEvent e) {
- // TODO Auto-generated method stub
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement