Advertisement
TrodelHD

Untitled

Apr 3rd, 2018
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.80 KB | None | 0 0
  1. package Spiel;
  2.  
  3. import java.awt.Color;
  4. import java.awt.Container;
  5. import java.awt.Dimension;
  6. import java.awt.Font;
  7. import java.awt.Graphics;
  8. import java.awt.Image;
  9. import java.awt.Toolkit;
  10. import java.awt.event.ActionEvent;
  11. import java.awt.event.ActionListener;
  12. import java.awt.im.InputMethodHighlight;
  13. import java.io.File;
  14. import java.io.IOException;
  15.  
  16. import javax.imageio.ImageIO;
  17. import javax.swing.ImageIcon;
  18. import javax.swing.JButton;
  19. import javax.swing.JColorChooser;
  20. import javax.swing.JFrame;
  21. import javax.swing.JLabel;
  22. import javax.swing.JOptionPane;
  23. import javax.swing.JPanel;
  24. import javax.swing.JScrollPane;
  25. import javax.swing.JSlider;
  26. import javax.swing.JTextArea;
  27. import javax.swing.JTextField;
  28. import javax.swing.event.ChangeEvent;
  29. import javax.swing.event.ChangeListener;
  30. import javax.swing.text.DefaultCaret;
  31.  
  32. public class MyPanel extends JPanel {
  33.  
  34. public Connection con;
  35.  
  36.  
  37.  
  38. public MyPanel(int width,int height) {
  39.  
  40. this.show(width, height);
  41. }
  42.  
  43. DrawArea drawArea;
  44. private Color oldColor = Color.BLACK;
  45. private JButton Faben,Löschen,radirgummi,red,blue,green,black,yellow,forcenextround,kickmenue;
  46. private static JTextArea log;
  47. private JScrollPane anzeige;
  48. private JSlider Big;
  49. private static JTextField poins;
  50. public static JFrame frame;
  51. private static int oldSize;
  52. ActionListener actionListener = new ActionListener() {
  53. public void actionPerformed(ActionEvent e) {
  54. if (e.getSource() == Faben) {
  55. setbig();
  56. JColorChooser colorChooser = new JColorChooser();
  57. Color c = colorChooser.showDialog(null, "color", oldColor);
  58. drawArea.setColor(c);
  59. oldColor = c;
  60. restoreOldsize();
  61. }else if (e.getSource() == Löschen) {
  62. drawArea.clear();
  63. con.serversendMessage("clear");
  64. restoreOldsize();
  65. }else if (e.getSource() == radirgummi) {
  66. oldSize=Big.getValue();
  67. drawArea.setColor(new Color(255, 255, 255));
  68. drawArea.radius = 30;
  69. Big.setValue(30);
  70. }else if(e.getSource()==red){
  71. setbig();
  72. drawArea.setColor(new Color(255, 0, 0));
  73. restoreOldsize();
  74. }else if(e.getSource()==blue){
  75. setbig();
  76. drawArea.setColor(new Color(0, 0, 255));
  77. restoreOldsize();
  78. }else if(e.getSource()==green){
  79. setbig();
  80. drawArea.setColor(new Color(0, 255, 0));
  81. restoreOldsize();
  82. }else if(e.getSource()==black){
  83. setbig();
  84. drawArea.setColor(new Color(0, 0, 0));
  85. restoreOldsize();
  86. }else if(e.getSource()==yellow){
  87. setbig();
  88. drawArea.setColor(new Color(255, 255, 0));
  89. restoreOldsize();
  90. }else if(e.getSource()==forcenextround){
  91. con.forceNextRound();
  92. }else if(e.getSource()==kickmenue){
  93. new KickWindow();
  94. }
  95. }
  96. };
  97. private void restoreOldsize(){
  98. if(oldSize!=0){
  99. Big.setValue(oldSize);
  100. oldSize=0;
  101. }
  102. }
  103. public void show(int width,int height) {
  104.  
  105. // create main frame
  106. frame = new JFrame("Malen");
  107.  
  108. //Set Position middle
  109. frame.setLocationRelativeTo(null);
  110. //Setze Frame größe
  111. frame.setSize(width, height);
  112. int x = (frame.getHeight()/2);
  113. int y = (frame.getWidth()/2);
  114. frame.setBounds(frame.getBounds().x-y, frame.getBounds().y-x, frame.getWidth(), frame.getHeight());
  115.  
  116. Container content = frame.getContentPane();
  117.  
  118. frame.setState(JFrame.NORMAL);
  119. //
  120. int minusx = frame.getWidth()-220;
  121. int minusPanelx = frame.getWidth()-260;
  122. int minusPanely = frame.getHeight()-70;
  123. addLog(frame,minusx);
  124. //Faben Button
  125. Faben = new JButton("Farben");
  126. Faben.setBounds(minusx, 430, 200, 30);
  127. Faben.addActionListener(actionListener);
  128. frame.add(Faben);
  129. //Löschen
  130. Löschen = new JButton("Reset");
  131. Löschen.setBounds(minusx, 470, 200, 30);
  132. Löschen.addActionListener(actionListener);
  133. frame.add(Löschen);
  134. //Radirgummi
  135. radirgummi = new JButton("Radiergummi");
  136. radirgummi.setBounds(minusx, 550, 200, 30);
  137. radirgummi.addActionListener(actionListener);
  138. frame.add(radirgummi);
  139. //Force next round
  140. forcenextround = new JButton("Force Next Round");
  141. forcenextround.setBounds(minusx, 840, 200, 30);
  142. forcenextround.addActionListener(actionListener);
  143. if(con.isServer()){
  144. frame.add(forcenextround);
  145. }
  146. //KickManue
  147. kickmenue = new JButton("Kick menue");
  148. kickmenue.setBounds(minusx, 810, 200, 30);
  149. kickmenue.addActionListener(actionListener);
  150. if(con.isServer()){
  151. frame.add(kickmenue);
  152. }
  153. //Poins anzeige
  154. poins = new JTextField();
  155. Font font = new Font("Calibri", Font.BOLD, 15);
  156. poins.setForeground(new Color(0, 0, 0));
  157. poins.setBackground(new Color(200, 200, 200));
  158. poins.setBounds(minusx, 0, 200, 20);
  159. poins.setBorder(null);
  160. poins.setFont(font);
  161. poins.setText("Punke: **");
  162. poins.setEditable(false);
  163. frame.add(poins);
  164. //Größe einstellbar
  165. Big = new JSlider(JSlider.HORIZONTAL,1, 50, 4);
  166. frame.add(Big);
  167. Big.setMajorTickSpacing(49);
  168. Big.setMinorTickSpacing(1);
  169. Big.setPaintTicks(true);
  170. Big.setPaintLabels(true);
  171. Big.setBackground(new Color(200, 200, 200));
  172. Big.setForeground(new Color(0, 0, 0));
  173. Big.setBounds(minusx, 510, 200, 35);
  174.  
  175. Big.addChangeListener(new ChangeListener() {
  176.  
  177. @Override
  178. public void stateChanged(ChangeEvent e) {
  179.  
  180. setbig();
  181. }
  182. });
  183.  
  184. SetupColorButtons(minusx);
  185. // create draw area
  186. drawArea = new DrawArea(minusPanelx,minusPanely);
  187. drawArea.radius = 4;
  188.  
  189.  
  190.  
  191.  
  192.  
  193. // add to content pane
  194. content.setBackground(new Color(200, 200, 200));
  195. content.add(drawArea);
  196.  
  197. //Setze frame nicht größenverziebar
  198. frame.setResizable(false);
  199. // can close frame
  200. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  201. // show the swing paint result
  202.  
  203.  
  204.  
  205. frame.setVisible(true);
  206. // Now you can try our Swing Paint !!! Enjoy <img draggable="false" class="emoji" alt="😀" src="https://s.w.org/images/core/emoji/2.3/svg/1f600.svg">
  207.  
  208. }
  209. private void SetupColorButtons(int minusx) {
  210.  
  211. //red,blue,green,black,yellow
  212.  
  213. red = new JButton("Rot");
  214. red.setBounds(minusx, 600, 200, 30);
  215. red.addActionListener(actionListener);
  216. red.setForeground(new Color(0, 0, 0));
  217. red.setBackground(new Color(255, 0, 0));
  218. frame.add(red);
  219.  
  220. blue = new JButton("Blau");
  221. blue.setBounds(minusx, 640, 200, 30);
  222. blue.addActionListener(actionListener);
  223. blue.setForeground(new Color(0, 0, 0));
  224. blue.setBackground(new Color(0, 0, 255));
  225. frame.add(blue);
  226.  
  227. green = new JButton("Grün");
  228. green.setBounds(minusx, 680, 200, 30);
  229. green.addActionListener(actionListener);
  230. green.setForeground(new Color(0, 0, 0));
  231. green.setBackground(new Color(0, 255, 0));
  232. frame.add(green);
  233.  
  234. black = new JButton("Schwarz");
  235. black.setBounds(minusx, 720, 200, 30);
  236. black.addActionListener(actionListener);
  237. black.setForeground(new Color(255, 255, 255));
  238. black.setBackground(new Color(0, 0, 0));
  239. frame.add(black);
  240.  
  241. yellow = new JButton("Gelb");
  242. yellow.setBounds(minusx, 760, 200, 30);
  243. yellow.addActionListener(actionListener);
  244. yellow.setForeground(new Color(0, 0, 0));
  245. yellow.setBackground(new Color(255, 255, 0));
  246. frame.add(yellow);
  247.  
  248. }
  249. private void addLog(JFrame controls,int minusx) {
  250. Font font = new Font("Calibri", Font.BOLD, 15);
  251.  
  252. log = new JTextArea();
  253. log.setEditable(false);
  254. log.setFont(font);
  255. log.setForeground(new Color(0, 0, 0));
  256.  
  257.  
  258.  
  259. anzeige = new JScrollPane(log);
  260.  
  261. DefaultCaret caret = (DefaultCaret)log.getCaret();
  262. caret.setUpdatePolicy(DefaultCaret.ALWAYS_UPDATE);
  263.  
  264. anzeige.setBounds(minusx, 20, 200, 400);
  265. controls.add(anzeige);
  266.  
  267. }
  268. public static void AddLogText(String word){
  269. String Text="Rateversuche:\n";
  270. log.setText("Wort: "+word+"\n"+Text);
  271. }
  272. public static void addToLog(String text){
  273. log.setText(log.getText()+text+"\n");
  274. }
  275. public static void rollenswaper(){
  276.  
  277. frame.dispose();
  278. frame=null;
  279.  
  280.  
  281. }
  282. public static boolean isAktive(){
  283. if(frame==null){
  284. return false;
  285. }else{
  286. return true;
  287. }
  288. }
  289. private void setbig(){
  290. int r = Big.getValue();
  291. drawArea.radius = r;
  292. }
  293. public static void setPoinsValue(int value){
  294. poins.setText("Punke: "+value);
  295. }
  296.  
  297. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement