Advertisement
Guest User

Untitled

a guest
Dec 11th, 2016
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.79 KB | None | 0 0
  1. класс Main
  2. import java.awt.*;
  3.  
  4. public class Main {
  5.  
  6. public static void main(String[] args) {
  7.  
  8. EventQueue.invokeLater(new Runnable() {
  9. @Override
  10. public void run() {
  11. MyWindow frame = new MyWindow("Очень удобное окно");
  12.  
  13. //frame.pack();
  14. //frame.setSize(30,30);
  15. frame.setLocationRelativeTo(null);
  16. frame.setVisible(true);
  17. }
  18. });
  19.  
  20.  
  21. }
  22. }
  23.  
  24.  
  25. класс MyWindow
  26. import javax.swing.*;
  27. import java.awt.*;
  28. import java.awt.event.*;
  29. import java.io.FileNotFoundException;
  30. import java.io.IOException;
  31.  
  32. /**
  33. * Created by Kubitskivlad on 21.11.16.
  34. */
  35. public class MyWindow extends JFrame {
  36.  
  37. String sX = "";
  38. String sY = "";
  39. String sXX = "";
  40. String sYY = "";
  41. StringBuffer sss = new StringBuffer("");
  42. double x = 0.0;
  43. double y = 0.0;
  44. double xx = 0.0;
  45. double yy = 0.0;
  46. char backSpace = KeyEvent.VK_BACK_SPACE;
  47. char ch ;
  48.  
  49. MyWindow(String nameFrame)
  50. {
  51. super(nameFrame);
  52. setDefaultCloseOperation(EXIT_ON_CLOSE);
  53.  
  54.  
  55. JPanel panel = new JPanel();
  56. panel.setLayout(null);
  57.  
  58. final JButton button = new JButton();
  59. button.setSize(300,50);
  60. button.setLocation(100,100);
  61. panel.add(button);
  62.  
  63. final JTextField textFieldX = new JTextField(25);
  64. textFieldX.setEditable(false);
  65. final JTextField textFieldY = new JTextField(25);
  66. textFieldY.setEditable(false);
  67. textFieldX.setSize(100,30);
  68. textFieldY.setSize(100,30);
  69. textFieldX.setLocation(900,615);
  70. textFieldY.setLocation(900,650);
  71.  
  72. panel.add(textFieldX);
  73. panel.add(textFieldY);
  74.  
  75. panel.addMouseListener(new MouseAdapter() {
  76. @Override
  77. public void mouseClicked(MouseEvent e) {
  78. button.setLocation(e.getX(),e.getY());
  79.  
  80. }
  81. });
  82. panel.addMouseMotionListener(new MouseMotionAdapter() {
  83. @Override
  84. public void mouseMoved(MouseEvent e) {
  85. x = e.getX();
  86. sX = Double.toString(x);
  87. textFieldX.setText(sX);
  88. y = e.getY();
  89. sY = Double.toString(y);
  90. textFieldY.setText(sY);
  91. }
  92. });
  93.  
  94. button.addKeyListener(new KeyAdapter() {
  95. @Override
  96. public void keyTyped(KeyEvent e) {
  97. try
  98. {
  99. if (e.getKeyChar() == backSpace) {
  100. sss.deleteCharAt(sss.length() - 1);
  101. button.setText(sss.toString());
  102. } else {
  103. ch = e.getKeyChar();
  104. sss.append(ch);
  105. button.setText(sss.toString());
  106.  
  107. }
  108. }
  109. catch(StringIndexOutOfBoundsException ee)
  110. {
  111. JOptionPane.showMessageDialog(null, "Есть проблемы");
  112. }
  113.  
  114. }
  115. });
  116.  
  117. button.addMouseMotionListener(new MouseMotionAdapter() {
  118. @Override
  119. public void mouseMoved(MouseEvent e) {
  120. x = e.getX();
  121. xx = button.getX();
  122. sXX = Double.toString(xx +x);
  123. textFieldX.setText(sXX);
  124.  
  125. y = e.getY();
  126. yy = button.getY();
  127. sYY = Double.toString(yy + y);
  128. textFieldY.setText(sYY);
  129. }
  130. });
  131. button.addMouseMotionListener(new MouseMotionAdapter() {
  132. @Override
  133. public void mouseDragged(MouseEvent e) {
  134. if (e.isControlDown())
  135. {
  136. button.setLocation(button.getX() + e.getX(),button.getY() + e.getY());
  137.  
  138. }
  139. x = e.getX();
  140. xx = button.getX();
  141. sXX = Double.toString(xx +x);
  142. textFieldX.setText(sXX);
  143.  
  144. y = e.getY();
  145. yy = button.getY();
  146. sYY = Double.toString(yy + y);
  147. textFieldY.setText(sYY);
  148. }
  149. });
  150. panel.addMouseMotionListener(new MouseMotionAdapter() {
  151. @Override
  152. public void mouseDragged(MouseEvent e) {
  153. x = e.getX();
  154. xx = button.getX();
  155. sXX = Double.toString(xx +x);
  156. textFieldX.setText(sXX);
  157.  
  158. y = e.getY();
  159. yy = button.getY();
  160. sYY = Double.toString(yy + y);
  161. textFieldY.setText(sYY);
  162. }
  163. });
  164.  
  165. setContentPane(panel);
  166. setSize(1000,700);
  167. }
  168. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement