Guest User

FormProfile

a guest
Jun 8th, 2016
36
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.08 KB | None | 0 0
  1. import java.awt.BorderLayout;
  2. import java.sql.SQLException;
  3.  
  4. import javax.swing.ButtonGroup;
  5. import javax.swing.JDialog;
  6. import javax.swing.JInternalFrame;
  7. import javax.swing.JPanel;
  8. import javax.swing.border.EmptyBorder;
  9. import javax.swing.JLabel;
  10. import javax.swing.JOptionPane;
  11. import javax.swing.JTextField;
  12. import javax.swing.JPasswordField;
  13. import javax.swing.JRadioButton;
  14. import javax.swing.JButton;
  15. import java.awt.event.ActionListener;
  16. import java.awt.event.ActionEvent;
  17. import java.awt.event.KeyAdapter;
  18. import java.awt.event.KeyEvent;
  19. import java.awt.event.WindowAdapter;
  20. import java.awt.event.WindowEvent;
  21. import javax.swing.JTextArea;
  22. import javax.swing.event.InternalFrameAdapter;
  23. import javax.swing.event.InternalFrameEvent;
  24.  
  25. public class FormProfile extends JInternalFrame {
  26. Koneksi con = new Koneksi();
  27. EmailValidator EmailValidator = new EmailValidator();
  28. JRadioButton RadioButtonMale = new JRadioButton("Male");
  29. JRadioButton RadioButtonFemale = new JRadioButton("Female");
  30. ButtonGroup ButtonGroup = new ButtonGroup();
  31. JTextArea TextBoxAddress = new JTextArea();
  32. JButton ButtonEdit = new JButton("Edit");
  33. JButton ButtonSave = new JButton("Save");
  34. private final JPanel contentPanel = new JPanel();
  35. private JTextField TextBoxUsername;
  36. private JPasswordField TextBoxPassword;
  37. private JTextField TextBoxName;
  38. private JTextField TextBoxEmail;
  39. private JTextField TextBoxPhoneNumber;
  40.  
  41. public void DataUser() throws SQLException {
  42. con.rs = con.st.executeQuery("select * from MsUser where UserID='" + FormLogin.UserID + "'");
  43. if (con.rs.next()) {
  44. String Username = con.rs.getString(2);
  45. String Password = con.rs.getString(3);
  46. String Name = con.rs.getString(4);
  47. String Email = con.rs.getString(5);
  48. String PhoneNumber = con.rs.getString(6);
  49. String Address = con.rs.getString(7);
  50. String Gender = con.rs.getString(8);
  51. TextBoxUsername.setText(Username);
  52. TextBoxPassword.setText(Password);
  53. TextBoxName.setText(Name);
  54. TextBoxEmail.setText(Email);
  55. TextBoxPhoneNumber.setText(PhoneNumber);
  56. TextBoxAddress.setText(Address);
  57. if (Gender.equals("Male")) {
  58. RadioButtonMale.setSelected(true);
  59. }
  60. else if (Gender.equals("Female")) {
  61. RadioButtonFemale.setSelected(true);
  62. }
  63. }
  64. }
  65.  
  66. public void ProsesSimpan() throws SQLException {
  67. String UsernameLama = FormLogin.UsernameLama;
  68. String Username = TextBoxUsername.getText();
  69. String Password = String.valueOf(TextBoxPassword.getPassword());
  70. String Name = TextBoxName.getText();
  71. String Email = TextBoxEmail.getText();
  72. String PhoneNumber = TextBoxPhoneNumber.getText();
  73. String Address = TextBoxAddress.getText();
  74. String Gender = "";
  75. if (Username.equals("")) {
  76. JOptionPane.showMessageDialog(null,"Please fill Username.","Information",JOptionPane.INFORMATION_MESSAGE);
  77. TextBoxUsername.requestFocus(true);
  78. }
  79. else if(Username.length() > 15 || Username.length() < 5 ) {
  80. JOptionPane.showMessageDialog(null,"Username length must be between 5 and 15 characters.","Information",JOptionPane.INFORMATION_MESSAGE);
  81. TextBoxUsername.requestFocus(true);
  82. }
  83. else if (Password.equals("")) {
  84. JOptionPane.showMessageDialog(null,"Please fill Password.","Information",JOptionPane.INFORMATION_MESSAGE);
  85. TextBoxPassword.requestFocus(true);
  86. }
  87. else if(Password.length() > 15 || Password.length() < 5 ) {
  88. JOptionPane.showMessageDialog(null,"Password length must be between 5 and 15 characters.","Information",JOptionPane.INFORMATION_MESSAGE);
  89. TextBoxPassword.requestFocus(true);
  90. }
  91. else if (Name.equals("")) {
  92. JOptionPane.showMessageDialog(null,"Please fill Name.","Information",JOptionPane.INFORMATION_MESSAGE);
  93. TextBoxName.requestFocus(true);
  94. }
  95. else if (Email.equals("")) {
  96. JOptionPane.showMessageDialog(null,"Please fill Email.","Information",JOptionPane.INFORMATION_MESSAGE);
  97. TextBoxEmail.requestFocus(true);
  98. }
  99. else if(!EmailValidator.validate(TextBoxEmail.getText().trim())) {
  100. JOptionPane.showMessageDialog(null,"Invalid Email.","Information",JOptionPane.INFORMATION_MESSAGE);
  101. TextBoxEmail.requestFocus(true);
  102. }
  103. else if (PhoneNumber.equals("")) {
  104. JOptionPane.showMessageDialog(null,"Please fill Phone Number.","Information",JOptionPane.INFORMATION_MESSAGE);
  105. TextBoxPhoneNumber.requestFocus(true);
  106. }
  107. else if(PhoneNumber.length() > 12 || PhoneNumber.length() < 10 ) {
  108. JOptionPane.showMessageDialog(null,"Phone Number length must be between 10 and 12 characters.","Information",JOptionPane.INFORMATION_MESSAGE);
  109. TextBoxPhoneNumber.requestFocus(true);
  110. }
  111. else if (Address.equals("")) {
  112. JOptionPane.showMessageDialog(null,"Please fill Address.","Information",JOptionPane.INFORMATION_MESSAGE);
  113. TextBoxAddress.requestFocus(true);
  114. }
  115. else if(Address.length() > 30 || Address.length() < 6 ) {
  116. JOptionPane.showMessageDialog(null,"Address length must be between 6 and 30 characters.","Information",JOptionPane.INFORMATION_MESSAGE);
  117. TextBoxAddress.requestFocus(true);
  118. }
  119. else {
  120. if (RadioButtonMale.isSelected()==true) {
  121. if (Username.equals(UsernameLama)) {
  122. Gender = "Male";
  123. con.st.executeUpdate("update MsUser set Username='" + Username + "',UserPass='" + Password + "',UserFullName='" + Name + "',UserEmail='" + Email + "',UserPhone='" + PhoneNumber + "',UserAddress='" + Address + "',UserGender='" + Gender + "' where UserID ='" + FormLogin.UserID + "'");
  124. JOptionPane.showMessageDialog(null,"Successful edit data.","Information",JOptionPane.INFORMATION_MESSAGE);
  125. DisableTextBox();
  126. }
  127. else {
  128. con.rs = con.st.executeQuery("select * from MsUser where Username='" + Username + "'");
  129. if (con.rs.next()){
  130. JOptionPane.showMessageDialog(null,"Username have been used.","Information",JOptionPane.INFORMATION_MESSAGE);
  131. TextBoxUsername.requestFocus(true);
  132. }
  133. else {
  134. Gender = "Male";
  135. con.st.executeUpdate("update MsUser set Username='" + Username + "',UserPass='" + Password + "',UserFullName='" + Name + "',UserEmail='" + Email + "',UserPhone='" + PhoneNumber + "',UserAddress='" + Address + "',UserGender='" + Gender + "' where UserID ='" + FormLogin.UserID + "'");
  136. JOptionPane.showMessageDialog(null,"Successful edit data.","Information",JOptionPane.INFORMATION_MESSAGE);
  137. DisableTextBox();
  138. }
  139. }
  140. }
  141. else if (RadioButtonFemale.isSelected()==true) {
  142. if (Username.equals(UsernameLama)) {
  143. Gender = "Female";
  144. con.st.executeUpdate("update MsUser set Username='" + Username + "',UserPass='" + Password + "',UserFullName='" + Name + "',UserEmail='" + Email + "',UserPhone='" + PhoneNumber + "',UserAddress='" + Address + "',UserGender='" + Gender + "' where UserID ='" + FormLogin.UserID + "'");
  145. JOptionPane.showMessageDialog(null,"Successful edit data.","Information",JOptionPane.INFORMATION_MESSAGE);
  146. DisableTextBox();
  147. }
  148. else {
  149. con.rs = con.st.executeQuery("select * from MsUser where Username='" + Username + "'");
  150. if (con.rs.next()){
  151. JOptionPane.showMessageDialog(null,"Username have been used.","Information",JOptionPane.INFORMATION_MESSAGE);
  152. TextBoxUsername.requestFocus(true);
  153. }
  154. else {
  155. Gender = "Female";
  156. con.st.executeUpdate("update MsUser set Username='" + Username + "',UserPass='" + Password + "',UserFullName='" + Name + "',UserEmail='" + Email + "',UserPhone='" + PhoneNumber + "',UserAddress='" + Address + "',UserGender='" + Gender + "' where UserID ='" + FormLogin.UserID + "'");
  157. JOptionPane.showMessageDialog(null,"Successful edit data.","Information",JOptionPane.INFORMATION_MESSAGE);
  158. DisableTextBox();
  159. }
  160. }
  161. }
  162. else {
  163. JOptionPane.showMessageDialog(null,"Please fill Gender.","Information",JOptionPane.INFORMATION_MESSAGE);
  164. }
  165. }
  166. }
  167.  
  168. public void DisableTextBox() {
  169. TextBoxUsername.setEnabled(false);
  170. TextBoxPassword.setEnabled(false);
  171. TextBoxName.setEnabled(false);
  172. TextBoxEmail.setEnabled(false);
  173. TextBoxPhoneNumber.setEnabled(false);
  174. TextBoxAddress.setEnabled(false);
  175. RadioButtonMale.setEnabled(false);
  176. RadioButtonFemale.setEnabled(false);
  177. ButtonSave.setEnabled(false);
  178. ButtonEdit.setEnabled(true);
  179. }
  180.  
  181. public void EnableTextBox() {
  182. TextBoxUsername.setEnabled(true);
  183. TextBoxPassword.setEnabled(true);
  184. TextBoxName.setEnabled(true);
  185. TextBoxEmail.setEnabled(true);
  186. TextBoxPhoneNumber.setEnabled(true);
  187. TextBoxAddress.setEnabled(true);
  188. RadioButtonMale.setEnabled(true);
  189. RadioButtonFemale.setEnabled(true);
  190. ButtonSave.setEnabled(true);
  191. ButtonEdit.setEnabled(false);
  192. TextBoxUsername.requestFocus(true);
  193. }
  194.  
  195. public FormProfile() throws SQLException {
  196. setClosable(true);
  197. setTitle("Aplikasi Toko Pakaian - My Profile");
  198. setResizable(false);
  199. setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
  200. setBounds(100, 100, 360, 300);
  201. getContentPane().setLayout(new BorderLayout());
  202. contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
  203. getContentPane().add(contentPanel, BorderLayout.CENTER);
  204. contentPanel.setLayout(null);
  205.  
  206. JLabel label = new JLabel("Username :");
  207. label.setBounds(44, 40, 72, 14);
  208. contentPanel.add(label);
  209.  
  210. TextBoxUsername = new JTextField();
  211. TextBoxUsername.addKeyListener(new KeyAdapter() {
  212. public void keyTyped(KeyEvent evt) {
  213. FormRegister.ValidasiUsername(evt);
  214. }
  215. });
  216. TextBoxUsername.setColumns(10);
  217. TextBoxUsername.setBounds(169, 36, 141, 20);
  218. contentPanel.add(TextBoxUsername);
  219.  
  220. JLabel label_1 = new JLabel("Password :");
  221. label_1.setBounds(44, 65, 72, 14);
  222. contentPanel.add(label_1);
  223.  
  224. TextBoxPassword = new JPasswordField();
  225. TextBoxPassword.setBounds(169, 62, 141, 20);
  226. contentPanel.add(TextBoxPassword);
  227.  
  228. JLabel label_2 = new JLabel("Name :");
  229. label_2.setBounds(44, 90, 72, 14);
  230. contentPanel.add(label_2);
  231.  
  232. TextBoxName = new JTextField();
  233. TextBoxName.addKeyListener(new KeyAdapter() {
  234. public void keyTyped(KeyEvent evt) {
  235. FormRegister.ValidasiName(evt);
  236. }
  237. });
  238. TextBoxName.setColumns(10);
  239. TextBoxName.setBounds(169, 86, 141, 20);
  240. contentPanel.add(TextBoxName);
  241.  
  242. JLabel label_3 = new JLabel("Email :");
  243. label_3.setBounds(44, 115, 72, 14);
  244. contentPanel.add(label_3);
  245.  
  246. TextBoxEmail = new JTextField();
  247. TextBoxEmail.setColumns(10);
  248. TextBoxEmail.setBounds(169, 111, 141, 20);
  249. contentPanel.add(TextBoxEmail);
  250.  
  251. JLabel label_4 = new JLabel("Phone Number :");
  252. label_4.setBounds(44, 140, 97, 14);
  253. contentPanel.add(label_4);
  254.  
  255. TextBoxPhoneNumber = new JTextField();
  256. TextBoxPhoneNumber.addKeyListener(new KeyAdapter() {
  257. public void keyTyped(KeyEvent evt) {
  258. FormRegister.ValidasiPhoneNumber(evt);
  259. }
  260. });
  261. TextBoxPhoneNumber.setColumns(10);
  262. TextBoxPhoneNumber.setBounds(169, 136, 141, 20);
  263. contentPanel.add(TextBoxPhoneNumber);
  264.  
  265. JLabel label_5 = new JLabel("Address :");
  266. label_5.setBounds(44, 165, 97, 14);
  267. contentPanel.add(label_5);
  268.  
  269. JLabel label_6 = new JLabel("Gender :");
  270. label_6.setBounds(44, 190, 97, 14);
  271. contentPanel.add(label_6);
  272.  
  273. RadioButtonMale.setBounds(169, 185, 55, 23);
  274. contentPanel.add(RadioButtonMale);
  275.  
  276. RadioButtonFemale.setBounds(238, 185, 72, 23);
  277. contentPanel.add(RadioButtonFemale);
  278.  
  279. ButtonGroup.add(RadioButtonMale);
  280. ButtonGroup.add(RadioButtonFemale);
  281.  
  282. ButtonEdit.addActionListener(new ActionListener() {
  283. public void actionPerformed(ActionEvent e) {
  284. EnableTextBox();
  285. }
  286. });
  287.  
  288. ButtonEdit.setBounds(76, 225, 89, 23);
  289. contentPanel.add(ButtonEdit);
  290.  
  291. ButtonSave.setBounds(175, 225, 89, 23);
  292. ButtonSave.addActionListener(new ActionListener() {
  293. public void actionPerformed(ActionEvent e) {
  294. try {
  295. ProsesSimpan();
  296. } catch (SQLException e1) {
  297. e1.printStackTrace();
  298. }
  299. }
  300. });
  301. contentPanel.add(ButtonSave);
  302.  
  303. TextBoxAddress.setBounds(169, 160, 141, 22);
  304. contentPanel.add(TextBoxAddress);
  305.  
  306. DisableTextBox();
  307. DataUser();
  308. }
  309.  
  310. public static void main(String[] args) throws SQLException {
  311. FormProfile dialog = new FormProfile();
  312. dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
  313. dialog.setVisible(true);
  314. }
  315. }
Add Comment
Please, Sign In to add comment