sixshoot95

Zoki@

Jan 12th, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.20 KB | None | 0 0
  1. package gui;
  2.  
  3. import geometrija.Tacka;
  4. import java.awt.BorderLayout;
  5. import java.awt.Color;
  6. import java.awt.Container;
  7. import java.awt.FlowLayout;
  8. import java.awt.GridBagConstraints;
  9. import java.awt.GridBagLayout;
  10. import java.awt.Insets;
  11. import java.awt.event.ActionEvent;
  12. import java.awt.event.ActionListener;
  13. import java.io.PrintStream;
  14. import javax.swing.JButton;
  15. import javax.swing.JColorChooser;
  16. import javax.swing.JDialog;
  17. import javax.swing.JLabel;
  18. import javax.swing.JOptionPane;
  19. import javax.swing.JPanel;
  20. import javax.swing.JRootPane;
  21. import javax.swing.JTextField;
  22. import javax.swing.border.EmptyBorder;
  23.  
  24. public class Izmena
  25. extends JDialog
  26. {
  27. private static int noviX;
  28. private static int noviY;
  29. private static Color novaB;
  30. private static int nX;
  31. private static int nY;
  32. private static Color nB;
  33. private final JPanel contentPanel = new JPanel();
  34. private JTextField textFieldNovaX;
  35. private JTextField textFieldNovaY;
  36.  
  37. public static void main(Object obj, Paint program)
  38. {
  39. try
  40. {
  41. Izmena dialog = new Izmena(obj);
  42. dialog.setDefaultCloseOperation(2);
  43. dialog.setVisible(true);
  44. }
  45. catch (Exception e)
  46. {
  47. e.printStackTrace();
  48. }
  49. }
  50.  
  51. public Izmena(final Object obj)
  52. {
  53. setTitle("Izmena oblika");
  54. setBounds(100, 100, 450, 300);
  55. getContentPane().setLayout(new BorderLayout());
  56. this.contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
  57. getContentPane().add(this.contentPanel, "Center");
  58. GridBagLayout gbl_contentPanel = new GridBagLayout();
  59. gbl_contentPanel.columnWidths = new int[2];
  60. gbl_contentPanel.rowHeights = new int[3];
  61. gbl_contentPanel.columnWeights = new double[] { 1.0D, Double.MIN_VALUE };
  62. gbl_contentPanel.rowWeights = new double[] { 1.0D, 1.0D, Double.MIN_VALUE };
  63. this.contentPanel.setLayout(gbl_contentPanel);
  64.  
  65. JPanel panel = new JPanel();
  66. GridBagConstraints gbc_panel = new GridBagConstraints();
  67. gbc_panel.insets = new Insets(0, 0, 5, 0);
  68. gbc_panel.fill = 1;
  69. gbc_panel.gridx = 0;
  70. gbc_panel.gridy = 0;
  71. this.contentPanel.add(panel, gbc_panel);
  72. GridBagLayout gbl_panel = new GridBagLayout();
  73. gbl_panel.columnWidths = new int[3];
  74. gbl_panel.rowHeights = new int[5];
  75. gbl_panel.columnWeights = new double[] { 0.0D, 1.0D, Double.MIN_VALUE };
  76. gbl_panel.rowWeights = new double[] { 0.0D, 0.0D, 0.0D, 1.0D, Double.MIN_VALUE };
  77. panel.setLayout(gbl_panel);
  78.  
  79. JLabel lblNovaPozicijaX = new JLabel("Nova pozicija X koordinate: ");
  80. GridBagConstraints gbc_lblNovaPozicijaX = new GridBagConstraints();
  81. gbc_lblNovaPozicijaX.insets = new Insets(0, 0, 5, 5);
  82. gbc_lblNovaPozicijaX.anchor = 13;
  83. gbc_lblNovaPozicijaX.gridx = 0;
  84. gbc_lblNovaPozicijaX.gridy = 1;
  85. panel.add(lblNovaPozicijaX, gbc_lblNovaPozicijaX);
  86.  
  87. this.textFieldNovaX = new JTextField();
  88. GridBagConstraints gbc_textFieldNovaX = new GridBagConstraints();
  89. gbc_textFieldNovaX.insets = new Insets(0, 0, 5, 0);
  90. gbc_textFieldNovaX.fill = 2;
  91. gbc_textFieldNovaX.gridx = 1;
  92. gbc_textFieldNovaX.gridy = 1;
  93. panel.add(this.textFieldNovaX, gbc_textFieldNovaX);
  94. this.textFieldNovaX.setColumns(10);
  95.  
  96. JLabel lblNovaPozicijaY = new JLabel("Nova pozicija Y koordinate:");
  97. GridBagConstraints gbc_lblNovaPozicijaY = new GridBagConstraints();
  98. gbc_lblNovaPozicijaY.anchor = 13;
  99. gbc_lblNovaPozicijaY.insets = new Insets(0, 0, 5, 5);
  100. gbc_lblNovaPozicijaY.gridx = 0;
  101. gbc_lblNovaPozicijaY.gridy = 2;
  102. panel.add(lblNovaPozicijaY, gbc_lblNovaPozicijaY);
  103.  
  104. this.textFieldNovaY = new JTextField();
  105. GridBagConstraints gbc_textFieldNovaY = new GridBagConstraints();
  106. gbc_textFieldNovaY.insets = new Insets(0, 0, 5, 0);
  107. gbc_textFieldNovaY.fill = 2;
  108. gbc_textFieldNovaY.gridx = 1;
  109. gbc_textFieldNovaY.gridy = 2;
  110. panel.add(this.textFieldNovaY, gbc_textFieldNovaY);
  111. this.textFieldNovaY.setColumns(10);
  112.  
  113. final JPanel pnlBojaKonture = new JPanel();
  114. if ((obj instanceof Tacka))
  115. {
  116. Tacka pomocna = (Tacka)obj;
  117.  
  118. pnlBojaKonture.setBackground(pomocna.getBojaTacke());
  119. }
  120. GridBagConstraints gbc_pnlBojaKonture = new GridBagConstraints();
  121. gbc_pnlBojaKonture.gridwidth = 2;
  122. gbc_pnlBojaKonture.fill = 1;
  123. gbc_pnlBojaKonture.gridx = 0;
  124. gbc_pnlBojaKonture.gridy = 3;
  125. panel.add(pnlBojaKonture, gbc_pnlBojaKonture);
  126. pnlBojaKonture.setLayout(new FlowLayout(1, 5, 5));
  127.  
  128. JButton btnBiranjeBojeKonture = new JButton("Biranje boje konture");
  129. btnBiranjeBojeKonture.addActionListener(new ActionListener()
  130. {
  131. public void actionPerformed(ActionEvent e)
  132. {
  133. Izmena.novaB = Izmena.this.izaberiBoju();
  134. pnlBojaKonture.setBackground(Izmena.novaB);
  135. }
  136. });
  137. pnlBojaKonture.add(btnBiranjeBojeKonture);
  138.  
  139. JPanel panel = new JPanel();
  140. GridBagConstraints gbc_panel = new GridBagConstraints();
  141. gbc_panel.fill = 1;
  142. gbc_panel.gridx = 0;
  143. gbc_panel.gridy = 1;
  144. this.contentPanel.add(panel, gbc_panel);
  145.  
  146. JPanel pnlOpcije = new JPanel();
  147. pnlOpcije.setLayout(new FlowLayout(2));
  148. getContentPane().add(pnlOpcije, "South");
  149.  
  150. JButton btnSacuvaj = new JButton("Sacuvaj");
  151. btnSacuvaj.addActionListener(new ActionListener()
  152. {
  153. public void actionPerformed(ActionEvent e)
  154. {
  155. Izmena.this.sacuvaj(obj);
  156. }
  157. });
  158. btnSacuvaj.setActionCommand("OK");
  159. pnlOpcije.add(btnSacuvaj);
  160. getRootPane().setDefaultButton(btnSacuvaj);
  161.  
  162. JButton btnOdustani = new JButton("Odustani");
  163. btnOdustani.addActionListener(new ActionListener()
  164. {
  165. public void actionPerformed(ActionEvent e)
  166. {
  167. Izmena.this.dispose();
  168. }
  169. });
  170. btnOdustani.setActionCommand("Cancel");
  171. pnlOpcije.add(btnOdustani);
  172. }
  173.  
  174. public Color izaberiBoju()
  175. {
  176. Color boja = Color.red;
  177. Color izabranaB = JColorChooser.showDialog(null,
  178. "Choose a color", boja);
  179. if (izabranaB != null) {
  180. boja = izabranaB;
  181. }
  182. return boja;
  183. }
  184.  
  185. private boolean proveraIspravnostiUnosa()
  186. {
  187. boolean unos = true;
  188. try
  189. {
  190. noviX = Integer.parseInt(this.textFieldNovaX.getText());
  191. }
  192. catch (NumberFormatException ex)
  193. {
  194. unos = false;
  195. }
  196. try
  197. {
  198. noviY = Integer.parseInt(this.textFieldNovaY.getText());
  199. }
  200. catch (NumberFormatException ex)
  201. {
  202. unos = false;
  203. }
  204. return unos;
  205. }
  206.  
  207. private void sacuvaj(Object obj)
  208. {
  209. if (proveraIspravnostiUnosa())
  210. {
  211. int i = JOptionPane.showConfirmDialog(null, "Da ste sigurni da zelite da promenite podatke");
  212. if (i == 0)
  213. {
  214. izmeni(obj);
  215.  
  216. dispose();
  217. }
  218. else if (i == 2)
  219. {
  220. dispose();
  221. }
  222. }
  223. else
  224. {
  225. JOptionPane.showMessageDialog(null, "Potrebno je uneti celobrojne vrednosti", "Greska", 1);
  226. }
  227. }
  228.  
  229. public void izmeni(Object obj)
  230. {
  231. if ((obj instanceof Tacka))
  232. {
  233. Tacka pomocna = (Tacka)obj;
  234. pomocna.setX(noviX + 125);
  235. pomocna.setY(noviY + 62);
  236. pomocna.setBojaTacke(novaB);
  237. System.out.println("ss");
  238. }
  239. }
  240. }
Add Comment
Please, Sign In to add comment