Advertisement
Guest User

Untitled

a guest
Sep 18th, 2019
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.22 KB | None | 0 0
  1. package game;
  2.  
  3. import java.awt.BorderLayout;
  4. import java.awt.CardLayout;
  5. import java.awt.Color;
  6. import java.awt.Component;
  7. import java.awt.Dimension;
  8. import java.awt.FlowLayout;
  9. import java.awt.GridLayout;
  10. import java.awt.LayoutManager;
  11. import java.awt.event.ActionEvent;
  12. import java.awt.event.ActionListener;
  13. import java.awt.event.MouseAdapter;
  14. import java.awt.event.MouseEvent;
  15. import java.awt.event.MouseListener;
  16. import java.awt.event.MouseMotionListener;
  17. import java.io.File;
  18. import java.io.IOException;
  19. import java.util.ArrayList;
  20. import java.util.Dictionary;
  21. import java.util.HashMap;
  22. import java.util.Map;
  23. import java.util.Map.Entry;
  24.  
  25. import javax.imageio.ImageIO;
  26. import javax.swing.BoxLayout;
  27. import javax.swing.ImageIcon;
  28. import javax.swing.JButton;
  29. import javax.swing.JComboBox;
  30. import javax.swing.JFileChooser;
  31. import javax.swing.JFrame;
  32. import javax.swing.JLabel;
  33. import javax.swing.JPanel;
  34. import javax.swing.JTextField;
  35. import javax.swing.plaf.DimensionUIResource;
  36. import javax.swing.plaf.basic.BasicTabbedPaneUI.MouseHandler;
  37.  
  38. public class Main extends JFrame {
  39. private static final long serialVersionUID = 1L;
  40. public String GameSelected = "";
  41. public JPanel panelOne = new JPanel();
  42. public JPanel makePanel = new JPanel();
  43. public static ArrayList<JLabel> images = new ArrayList<JLabel>();
  44. public static Map<Component, String> maps = new HashMap();
  45. int i =0;
  46. Component component;
  47.  
  48. public static void main(String[] args)
  49. {
  50. Main obj = new Main();
  51. obj.createAdjacentJpanels();
  52. }
  53.  
  54. public void createAdjacentJpanels()
  55. {
  56. this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  57. this.setSize(configuration.APP_WIDTH, configuration.APP_HEIGHT);
  58. this.setLayout(new BorderLayout());
  59. this.setVisible(true);
  60.  
  61. JPanel container = new JPanel();
  62. JPanel panelTwo = new JPanel();
  63.  
  64. JButton breakout = new JButton();
  65. breakout.setText("Breakout");
  66. breakout.setFocusable(false);
  67.  
  68. JButton addshape = new JButton();
  69. addshape.setText("Add Object");
  70. addshape.setFocusable(false);
  71.  
  72. String[] breakoutObjects = {"Brick" , "Ball" , "Paddle"};
  73.  
  74. JComboBox<String> comboBox1 = new JComboBox<String>();
  75. for(int i =0 ; i<breakoutObjects.length; ++i)
  76. {
  77. comboBox1.addItem(breakoutObjects[i]);
  78. }
  79. comboBox1.setPreferredSize(new Dimension(90,30));
  80. comboBox1.setMaximumSize( comboBox1.getPreferredSize() );
  81.  
  82.  
  83. //petList.addActionListener((ActionListener) this);
  84.  
  85. makePanel.setLayout(null);
  86. makePanel.setBackground(Color.white);
  87. makePanel.setPreferredSize(new Dimension(400,400));
  88. makePanel.setVisible(true);
  89.  
  90. // JLabel test = new JLabel("Makeee Game");
  91. // test.setBounds(300, 300, 400, 400);
  92. // makePanel.add(test);
  93.  
  94.  
  95.  
  96. panelOne.setLayout(new BoxLayout(panelOne, BoxLayout.Y_AXIS));
  97. panelOne.setPreferredSize(new DimensionUIResource(600, 900));
  98.  
  99. panelOne.add(new JLabel("Make Game"));
  100. panelOne.add(breakout);
  101. panelOne.add(addshape);
  102. panelTwo.add(new JLabel("Play Game"));
  103.  
  104. panelOne.add(comboBox1);
  105.  
  106. panelOne.add(makePanel);
  107. container.setLayout(new GridLayout(1,2));
  108. container.add(panelOne);
  109. container.add(panelTwo);
  110.  
  111.  
  112. this.add(container);
  113.  
  114.  
  115.  
  116. breakout.addActionListener(new ActionListener() {
  117. @Override
  118. public void actionPerformed(ActionEvent e) {
  119. GameSelected = "breakout";
  120. }
  121. });
  122.  
  123. addshape.addActionListener(new ActionListener() {
  124. @Override
  125. public void actionPerformed(ActionEvent e) {
  126. JFileChooser fileChooser = new JFileChooser();
  127. fileChooser.setMultiSelectionEnabled(false);
  128.  
  129. int option = fileChooser.showOpenDialog(panelOne);
  130. if(option == JFileChooser.APPROVE_OPTION){
  131. File file = fileChooser.getSelectedFile();
  132. try {
  133. String x = String.valueOf(comboBox1.getSelectedItem());
  134. System.out.println(x);
  135. JLabel temp = new JLabel();
  136. temp.setIcon(new ImageIcon(ImageIO.read(file)));
  137.  
  138. temp.setPreferredSize(new Dimension(configuration.BRICK_WIDTH,configuration.BRICK_HEIGHT));
  139.  
  140. String str = temp.getX()+","+temp.getY();
  141. maps.put(temp, "0,0");
  142. i++;
  143. // for (Entry<Component, String> entry : maps.entrySet())
  144. //{
  145. // component = entry.getKey();
  146. //System.out.println(entry.getValue());
  147. temp.setBounds(0, 0, configuration.BRICK_WIDTH, configuration.BRICK_HEIGHT);
  148. makePanel.add(temp);
  149. //System.out.println("________________________");
  150.  
  151. //}
  152.  
  153. temp.addMouseListener(new MouseDrag());
  154. temp.addMouseMotionListener(new MouseDrag());
  155. makePanel.revalidate();
  156. makePanel.repaint();
  157. } catch (IOException e1) {
  158. e1.printStackTrace();
  159. }
  160. }else{
  161. //System.out.println("Open command canceled");
  162. }
  163.  
  164. //System.out.println(images);
  165. }
  166. });
  167.  
  168. }
  169.  
  170. public void attributewindow(Component component)
  171. {
  172. JFrame frame = new JFrame();
  173. JPanel attributes = new JPanel();
  174. JLabel setwidth = new JLabel();
  175. JLabel setheight = new JLabel();
  176. JLabel speedx = new JLabel();
  177. JLabel speedy = new JLabel();
  178.  
  179. JTextField setwidthtext = new JTextField();
  180. JTextField setheighttext = new JTextField();
  181. JTextField speedxtext = new JTextField();
  182. JTextField speedytext = new JTextField();
  183.  
  184. JButton confirm = new JButton();
  185. confirm.setText("Confirm");
  186.  
  187. confirm.addActionListener(new ActionListener() {
  188. @Override
  189. public void actionPerformed(ActionEvent e) {
  190. ComponentAttributes obj = new ComponentAttributes(component);
  191. obj.setWidth(Integer.parseInt(setwidthtext.getText()));
  192. obj.setHeight(Integer.parseInt(setheighttext.getText()));
  193. obj.setSpeedX(Integer.parseInt(speedxtext.getText()));
  194. obj.setSpeedY(Integer.parseInt(speedytext.getText()));
  195. obj.confirm();
  196. makePanel.revalidate();
  197. makePanel.repaint();
  198. frame.dispose();
  199. }
  200. });
  201.  
  202. setwidth.setText("Width");
  203. setheight.setText("Height");
  204. speedx.setText("Speed-X");
  205. speedy.setText("Speed-Y");
  206.  
  207. setwidthtext.setPreferredSize(new Dimension(90,20));
  208. setheighttext.setPreferredSize(new Dimension(90,20));
  209. speedxtext.setPreferredSize(new Dimension(90,20));
  210. speedytext.setPreferredSize(new Dimension(90,20));
  211.  
  212. attributes.setLayout(new FlowLayout());
  213.  
  214. attributes.add(setwidth);
  215. attributes.add(setwidthtext);
  216.  
  217. attributes.add(setheight);
  218. attributes.add(setheighttext);
  219.  
  220. attributes.add(speedx);
  221. attributes.add(speedxtext);
  222.  
  223. attributes.add(speedy);
  224. attributes.add(speedytext);
  225.  
  226. attributes.add(confirm);
  227.  
  228.  
  229. frame.setPreferredSize(new Dimension(200,200));
  230. attributes.setPreferredSize(new Dimension(200,200));
  231. frame.add(attributes);
  232. frame.setVisible(true);
  233. }
  234.  
  235. public class MouseDrag implements MouseListener, MouseMotionListener {
  236.  
  237. private int X,Y;
  238. public Main objj = new Main();
  239.  
  240. public MouseDrag() {
  241.  
  242.  
  243. }
  244. public void setComponents(Component component)
  245. {
  246. component.addMouseListener(this);
  247. component.addMouseMotionListener(this);
  248. }
  249. @Override
  250. public void mouseDragged(MouseEvent arg0) {
  251. // TODO Auto-generated method stub
  252. //System.out.println("Co-ordinates" + " "+ arg0.getComponent().getX() + " " + arg0.getComponent().getY() + " " +arg0.getX()+ " " + arg0.getY() + " " + X + " "+ Y );
  253. //System.out.println("Conditions" + " " + (arg0.getX() + arg0.getComponent().getX()-X) + " " + (arg0.getY() + arg0.getComponent().getY()-Y));
  254.  
  255. //if( arg0.getComponent().getX() >= 0 && (arg0.getComponent().getX() + arg0.getComponent().getWidth()) <= 600 && arg0.getComponent().getY() >= 0 && (arg0.getComponent().getY() + arg0.getComponent().getHeight()) <= 500)
  256. //{
  257. //System.out.println(arg0.getX() + " " + arg0.getY());
  258.  
  259. boolean flag = false;
  260. if((arg0.getX() + arg0.getComponent().getX()-X) < 0)
  261. {
  262. arg0.getComponent().setLocation(0, arg0.getY() + arg0.getComponent().getY()-Y);
  263. flag = true;
  264. }
  265.  
  266. if((arg0.getX() + arg0.getComponent().getX()-X) >= 550)
  267. {
  268. arg0.getComponent().setLocation(550, arg0.getY() + arg0.getComponent().getY()-Y);
  269. flag = true;
  270.  
  271. }
  272.  
  273.  
  274. if((arg0.getY() + arg0.getComponent().getY()-Y) < 70)
  275. {
  276. arg0.getComponent().setLocation(arg0.getX() + arg0.getComponent().getX()-X, 70);
  277. flag = true;
  278.  
  279. }
  280. if((arg0.getY() + arg0.getComponent().getY()-Y) > 500)
  281. {
  282. arg0.getComponent().setLocation(arg0.getX() + arg0.getComponent().getX()-X, 500);
  283. flag = true;
  284. }
  285.  
  286. if(!flag)
  287. {
  288. arg0.getComponent().setLocation(arg0.getX() + arg0.getComponent().getX()-X, arg0.getY() + arg0.getComponent().getY()-Y);
  289. }
  290. String str = arg0.getComponent().getX() + "," + arg0.getComponent().getY();
  291. objj.maps.put(arg0.getComponent(), str);
  292.  
  293.  
  294. }
  295.  
  296. @Override
  297. public void mouseMoved(MouseEvent arg0) {
  298. // TODO Auto-generated method stub
  299.  
  300. }
  301.  
  302. @Override
  303. public void mouseClicked(MouseEvent e) {
  304. // TODO Auto-generated method stub
  305. Component component = e.getComponent();
  306. Main obj = new Main();
  307. obj.attributewindow(component);
  308.  
  309. }
  310.  
  311. @Override
  312. public void mouseEntered(MouseEvent e) {
  313. // TODO Auto-generated method stub
  314.  
  315. }
  316.  
  317. @Override
  318. public void mouseExited(MouseEvent e) {
  319. // TODO Auto-generated method stub
  320.  
  321. }
  322.  
  323. @Override
  324. public void mousePressed(MouseEvent e) {
  325. // TODO Auto-generated method stub
  326. X = e.getX();
  327. Y = e.getY();
  328. }
  329.  
  330. @Override
  331. public void mouseReleased(MouseEvent e) {
  332. // TODO Auto-generated method stub
  333.  
  334. }
  335.  
  336. }
  337.  
  338.  
  339. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement