Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package client;
- import java.awt.Color;
- import java.awt.Component;
- import java.awt.Dimension;
- import java.awt.GridLayout;
- import java.awt.Image;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.io.File;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.sql.Statement;
- import javax.swing.BorderFactory;
- import javax.swing.Box;
- import javax.swing.BoxLayout;
- import javax.swing.ImageIcon;
- import javax.swing.JButton;
- import javax.swing.JFileChooser;
- import javax.swing.JLabel;
- import javax.swing.JPanel;
- import javax.swing.JTextArea;
- import javax.swing.JTextField;
- import javax.swing.SwingConstants;
- import javax.swing.border.Border;
- import javax.swing.event.ChangeEvent;
- import javax.swing.event.ChangeListener;
- import javax.swing.filechooser.FileNameExtensionFilter;
- import networking.Client;
- import users.Student;
- public class StudentProfile extends JPanel {
- /**
- *
- */
- private static final long serialVersionUID = 1L;
- private JButton save, edit, newImage;
- private JLabel profilePicture, bioLabel, joinDate, university, major, GPA, firstnamelabel, lastnamelabel, email;
- private JTextField firstnametext, lastnametext , joinDatetext, universitytext, majortext, GPAtext, emailtext;
- private JTextArea bio;
- private JPanel bottomPanel, editPanel;
- String username;
- Connection conn = null;
- Statement st = null;
- ResultSet rs = null;
- String imagepath;
- Border original;
- String absoluteimagepath;
- Client client;
- JPanel topPanel;
- public StudentProfile(String username, Client client){
- this.username = username;
- this.client = client;
- initialization();
- createGUI2();
- addListeners();
- }
- /*public StudentProfile() {
- initComponents();
- createGUI();
- addListeners();
- }*/
- public void initialization(){
- String studentname = "";
- String lastname = "";
- String fullname = "";
- String biotext = "";
- String joindate = "";
- String universityname = "";
- String majorname = "";
- String gpa = "";
- String emailstring = "";
- joinDatetext = new JTextField();
- universitytext = new JTextField();
- majortext = new JTextField();
- GPAtext = new JTextField();
- email = new JLabel("Email: ");
- firstnamelabel = new JLabel("First Name: ");
- lastnamelabel = new JLabel("Last Name: ");
- emailtext = new JTextField(emailstring);
- original = emailtext.getBorder();
- joinDatetext.setBorder(null);
- universitytext.setBorder(null);
- majortext.setBorder(null);
- GPAtext.setBorder(null);
- emailtext.setBorder(null);
- try{
- Class.forName("com.mysql.jdbc.Driver");
- conn = DriverManager.getConnection("jdbc:mysql://localhost/TheInternsClub?user=root&password=123MySQL&useSSL=false");
- st = conn.createStatement();
- String selectName = "SELECT * FROM `student` WHERE `username`=?";
- try{
- PreparedStatement ps = conn.prepareStatement(selectName);
- ps.setString(1,username);
- rs = ps.executeQuery();
- while (rs.next())
- {
- studentname = rs.getString(4);
- lastname = rs.getString(5);
- biotext = rs.getString(9);
- imagepath = rs.getString(7);
- //joindate = rs.getString(columnIndex);
- universityname = rs.getString(3);
- //majorname = rs.getString(columnIndex);
- //gpa = rs .getString(columnIndex);
- }
- }catch(SQLException sql){
- System.out.println("sqle:" + sql.getMessage());
- }
- }catch(SQLException sql){
- System.out.println("sqle:" + sql.getMessage());
- } catch (ClassNotFoundException e1) {
- // TODO Auto-generated catch block
- //e1.printStackTrace();
- }finally{
- try{
- if(rs != null)
- rs.close();
- if(st != null)
- st.close();
- if(conn != null)
- conn.close();
- }catch(SQLException sqle){
- System.out.println("sql problem");
- }
- }
- save = new JButton("Save");
- edit = new JButton("Edit Profile");
- newImage = new JButton("Upload New Picture");
- bioLabel = new JLabel("Bio: ");
- bioLabel.setAlignmentX(LEFT_ALIGNMENT);
- firstnametext = new JTextField(studentname);
- firstnametext.setEditable(false);
- firstnametext.setBorder(null);
- lastnametext = new JTextField(lastname);
- lastnametext.setEditable(false);
- lastnametext.setBorder(null);
- joinDate = new JLabel("Join Date: ");
- joinDatetext.setText(joindate);
- joinDate.setAlignmentX(LEFT_ALIGNMENT);
- joinDate.setHorizontalAlignment(SwingConstants.LEFT);
- university = new JLabel("University: ");
- universitytext.setText(universityname);
- university.setAlignmentX(LEFT_ALIGNMENT);
- university.setHorizontalAlignment(SwingConstants.LEFT);
- major = new JLabel("Major: ");
- majortext.setText(majorname);
- major.setAlignmentX(LEFT_ALIGNMENT);
- major.setHorizontalAlignment(SwingConstants.LEFT);
- major.setAlignmentX(Component.LEFT_ALIGNMENT);
- GPA = new JLabel("GPA: ");
- GPAtext.setText(gpa);
- GPA.setAlignmentX(LEFT_ALIGNMENT);
- GPA.setHorizontalAlignment(SwingConstants.LEFT);
- bio = new JTextArea(biotext);
- bio.setPreferredSize(new Dimension(500, 200));
- bio.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
- bio.setEditable(false);
- bio.setWrapStyleWord(true);
- bio.setLineWrap(true);
- joinDatetext.setEditable(false);
- universitytext.setEditable(false);
- majortext.setEditable(false);
- GPAtext.setEditable(false);
- emailtext.setEditable(false);
- }
- public void createGUI2(){
- setSize(500, 470);
- setMaximumSize(new Dimension(500, 450));
- setMinimumSize(new Dimension(500, 450));
- setBackground(Color.WHITE);
- JPanel mainArea = new JPanel();
- mainArea.setLayout(new BoxLayout(mainArea, BoxLayout.Y_AXIS));
- mainArea.setBackground(Color.white);
- topPanel = new JPanel();
- topPanel.setLayout(new BoxLayout(topPanel, BoxLayout.X_AXIS));
- if((imagepath!= null) && (imagepath.trim().length() != 0)){
- ImageIcon noImg = new ImageIcon(imagepath);
- Image dum1 = noImg.getImage().getScaledInstance(150, 150, java.awt.Image.SCALE_SMOOTH);
- noImg = new ImageIcon(dum1);
- profilePicture = new JLabel(noImg);
- profilePicture.setPreferredSize(new Dimension(150, 150));
- }
- else{
- ImageIcon noImg = new ImageIcon("images/noimg.jpg");
- Image dum1 = noImg.getImage().getScaledInstance(150, 150, java.awt.Image.SCALE_SMOOTH);
- noImg = new ImageIcon(dum1);
- profilePicture = new JLabel(noImg);
- profilePicture.setPreferredSize(new Dimension(150, 150));
- }
- JPanel nameDate = new JPanel();
- nameDate.setLayout(new GridLayout(7, 2));
- nameDate.setBackground(Color.white);
- nameDate.add(firstnamelabel);
- nameDate.add(firstnametext);
- nameDate.add(lastnamelabel);
- nameDate.add(lastnametext);
- nameDate.add(email);
- nameDate.add(emailtext);
- nameDate.add(university);
- nameDate.add(universitytext);
- nameDate.add(major);
- nameDate.add(majortext);
- nameDate.add(GPA);
- nameDate.add(GPAtext);
- nameDate.add(joinDate);
- nameDate.add(joinDatetext);
- nameDate.setMaximumSize(new Dimension(300, 150));
- nameDate.setAlignmentX(LEFT_ALIGNMENT);
- topPanel.add(Box.createHorizontalStrut(40));
- topPanel.add(profilePicture);
- topPanel.add(Box.createHorizontalStrut(10));
- topPanel.add(nameDate);
- editPanel = new JPanel();
- editPanel.setBackground(Color.white);
- editPanel.add(edit);
- topPanel.add(editPanel);
- topPanel.setBackground(Color.WHITE);
- mainArea.add(topPanel);
- mainArea.setBackground(Color.white);
- JPanel bioLabelPanel = new JPanel();
- bioLabelPanel.setPreferredSize(new Dimension(500, 20));
- bioLabelPanel.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 463));
- bioLabelPanel.add(bioLabel);
- bioLabelPanel.setBackground(Color.WHITE);
- mainArea.add(bioLabelPanel);
- JPanel bioPanel = new JPanel();
- bioPanel.setBorder(BorderFactory.createEmptyBorder(5, 15, 5, 15));
- bioPanel.setBackground(Color.WHITE);
- bioPanel.add(bio);
- mainArea.add(bioPanel);
- bottomPanel = new JPanel();
- bottomPanel.setLayout(new GridLayout(1, 2));
- bottomPanel.setPreferredSize(new Dimension(500, 20));
- bottomPanel.add(save);
- bottomPanel.add(newImage);
- bottomPanel.setBackground(Color.white);
- bottomPanel.setVisible(false);
- mainArea.add(bottomPanel);
- add(mainArea);
- }
- /*public void initComponents() {
- save = new JButton("Save");
- edit = new JButton("Edit Profile");
- newImage = new JButton("Upload New Picture");
- bioLabel = new JLabel("Bio: ");
- bioLabel.setAlignmentX(LEFT_ALIGNMENT);
- name = new JTextField("Student Name");
- name.setEditable(false);
- joinDate = new JLabel("Join Date: 1/1/2001");
- joinDate.setAlignmentX(LEFT_ALIGNMENT);
- joinDate.setHorizontalAlignment(SwingConstants.LEFT);
- university = new JLabel("University: USC");
- university.setAlignmentX(LEFT_ALIGNMENT);
- university.setHorizontalAlignment(SwingConstants.LEFT);
- major = new JLabel("Major: Computer Science");
- major.setAlignmentX(LEFT_ALIGNMENT);
- major.setHorizontalAlignment(SwingConstants.LEFT);
- major.setAlignmentX(Component.LEFT_ALIGNMENT);
- GPA = new JLabel("GPA: 4.0");
- GPA.setAlignmentX(LEFT_ALIGNMENT);
- GPA.setHorizontalAlignment(SwingConstants.LEFT);
- bio = new JTextArea("Bio Goes Here");
- bio.setPreferredSize(new Dimension(500, 200));
- bio.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
- bio.setEditable(false);
- bio.setWrapStyleWord(true);
- bio.setLineWrap(true);
- }
- public void createGUI() {
- setSize(500, 470);
- setMaximumSize(new Dimension(500, 450));
- setMinimumSize(new Dimension(500, 450));
- setBackground(Color.WHITE);
- JPanel mainArea = new JPanel();
- mainArea.setLayout(new BoxLayout(mainArea, BoxLayout.Y_AXIS));
- mainArea.setBackground(Color.white);
- JPanel topPanel = new JPanel();
- topPanel.setLayout(new BoxLayout(topPanel, BoxLayout.X_AXIS));
- ImageIcon noImg = new ImageIcon("images/noimg.jpg");
- Image dum1 = noImg.getImage().getScaledInstance(150, 150, java.awt.Image.SCALE_SMOOTH);
- noImg = new ImageIcon(dum1);
- profilePicture = new JLabel(noImg);
- profilePicture.setPreferredSize(new Dimension(150, 150));
- JPanel nameDate = new JPanel();
- nameDate.setLayout(new GridLayout(5, 1));
- nameDate.setBackground(Color.white);
- nameDate.add(name);
- nameDate.add(university);
- nameDate.add(major);
- nameDate.add(GPA);
- nameDate.add(joinDate);
- nameDate.setMaximumSize(new Dimension(300, 150));
- nameDate.setAlignmentX(LEFT_ALIGNMENT);
- topPanel.add(Box.createHorizontalStrut(40));
- topPanel.add(profilePicture);
- topPanel.add(Box.createHorizontalStrut(10));
- topPanel.add(nameDate);
- editPanel = new JPanel();
- editPanel.setBackground(Color.white);
- editPanel.add(edit);
- topPanel.add(editPanel);
- topPanel.setBackground(Color.WHITE);
- mainArea.add(topPanel);
- mainArea.setBackground(Color.white);
- JPanel bioLabelPanel = new JPanel();
- bioLabelPanel.setPreferredSize(new Dimension(500, 20));
- bioLabelPanel.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 463));
- bioLabelPanel.add(bioLabel);
- bioLabelPanel.setBackground(Color.WHITE);
- mainArea.add(bioLabelPanel);
- JPanel bioPanel = new JPanel();
- bioPanel.setBorder(BorderFactory.createEmptyBorder(5, 15, 5, 15));
- bioPanel.setBackground(Color.WHITE);
- bioPanel.add(bio);
- mainArea.add(bioPanel);
- bottomPanel = new JPanel();
- bottomPanel.setLayout(new GridLayout(1, 2));
- bottomPanel.setPreferredSize(new Dimension(500, 20));
- bottomPanel.add(save);
- bottomPanel.add(newImage);
- bottomPanel.setBackground(Color.white);
- bottomPanel.setVisible(false);
- mainArea.add(bottomPanel);
- add(mainArea);
- }*/
- public void addListeners() {
- edit.addChangeListener(new ChangeListener() {
- @Override
- public void stateChanged(ChangeEvent evt) {
- editPanel.setVisible(false);
- bio.setEditable(true);
- firstnametext.setEditable(true);
- joinDatetext.setEditable(false);
- universitytext.setEditable(true);
- majortext.setEditable(true);
- GPAtext.setEditable(true);
- emailtext.setEditable(true);
- bottomPanel.setVisible(true);
- joinDatetext.setBorder(original);
- universitytext.setBorder(original);
- majortext.setBorder(original);
- GPAtext.setBorder(original);
- emailtext.setBorder(original);
- firstnametext.setBorder(original);
- lastnametext.setBorder(original);
- lastnametext.setEditable(true);
- }
- });
- save.addChangeListener(new ChangeListener() {
- @Override
- public void stateChanged(ChangeEvent evt) {
- editPanel.setVisible(true);
- bio.setEditable(false);
- firstnametext.setEditable(false);
- bottomPanel.setVisible(false);
- joinDatetext.setEditable(false);
- universitytext.setEditable(false);
- majortext.setEditable(false);
- GPAtext.setEditable(false);
- emailtext.setEditable(false);
- joinDatetext.setBorder(null);
- universitytext.setBorder(null);
- majortext.setBorder(null);
- GPAtext.setBorder(null);
- emailtext.setBorder(null);
- firstnametext.setBorder(null);
- lastnametext.setBorder(null);
- lastnametext.setEditable(false);
- Student temp = new Student(client.username);
- temp.setFirstName(firstnametext.getText());
- temp.setLastName(lastnametext.getText());
- temp.setSchool(universitytext.getText());
- temp.setEmail(emailtext.getText());
- temp.setBio(bio.getText());
- temp.setProfilePic(absoluteimagepath);
- //temp.setResume(textFileChooser.getSelectedFile().getAbsolutePath());
- client.sendMessage(temp, "updateStudent", client.username);
- }
- });
- newImage.addActionListener(new ActionListener(){
- @Override
- public void actionPerformed(ActionEvent e) {
- // TODO Auto-generated method stub
- JFileChooser filechooser = new JFileChooser();
- filechooser.setSize(350, 450);
- filechooser.setLocation(350, 150);
- FileNameExtensionFilter filter = new FileNameExtensionFilter(".JPG Files", "JPG");
- filechooser.setFileFilter(filter);
- filechooser.setAcceptAllFileFilterUsed(false);
- filechooser.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- filechooser.setSize(350, 450);
- filechooser.setLocation(350, 150);
- }
- });
- int status = filechooser.showOpenDialog(null);
- if (status == JFileChooser.APPROVE_OPTION) {
- File selectedFile = filechooser.getSelectedFile();
- absoluteimagepath = selectedFile.getAbsolutePath();
- System.out.println(absoluteimagepath);
- if((imagepath!= null) && (imagepath.trim().length() != 0)){
- ImageIcon noImg = new ImageIcon(absoluteimagepath);
- Image dum1 = noImg.getImage().getScaledInstance(150, 150, java.awt.Image.SCALE_SMOOTH);
- noImg = new ImageIcon(dum1);
- profilePicture.setIcon(noImg);
- profilePicture.setPreferredSize(new Dimension(150, 150));
- profilePicture.removeAll();
- profilePicture.revalidate();
- profilePicture.repaint();
- }
- else{
- ImageIcon noImg = new ImageIcon(absoluteimagepath);
- Image dum1 = noImg.getImage().getScaledInstance(150, 150, java.awt.Image.SCALE_SMOOTH);
- noImg = new ImageIcon(dum1);
- profilePicture.setIcon(noImg);
- profilePicture.setPreferredSize(new Dimension(150, 150));
- profilePicture.removeAll();
- profilePicture.revalidate();
- profilePicture.repaint();
- }
- } else if (status == JFileChooser.CANCEL_OPTION) {
- }
- }
- });
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement