@Override public void mouseClicked(MouseEvent event) { Object obj = event.getSource(); if (obj instanceof JButton) { JButton clickedButton = (JButton) obj; if (clickedButton.equals(one)) { this.clearPanel(); Game next = new Game(this.frame, 1, this.bc); next.setBounds(0, 0, this.getWidth(), this.getHeight()); this.frame.setContentPane(next); this.revalidate(); this.repaint(); } if (clickedButton.equals(two)) { this.clearPanel(); Game next = new Game(this.frame, 2, this.bc); next.setBounds(0, 0, this.getWidth(), this.getHeight()); this.frame.setContentPane(next); this.revalidate(); this.repaint(); } if (clickedButton.equals(three)) { this.clearPanel(); Game next = new Game(this.frame, 3, this.bc); next.setBounds(0, 0, this.frame.getWidth(), this.frame.getHeight()); this.frame.setContentPane(next); this.revalidate(); this.repaint(); } if (clickedButton.equals(four)) { this.clearPanel(); Game next = new Game(this.frame, 4, this.bc); next.setBounds(0, 0, this.frame.getWidth(), this.frame.getHeight()); // this.frame.setContentPane(next); this.frame.add(next); this.revalidate(); this.repaint(); } if (clickedButton.equals(back)) { this.clearPanel(); HomePanel next = new HomePanel(this.frame, bc); next.setBounds(0, 0, this.getWidth(), this.getHeight()); // this.frame.setContentPane(next); this.frame.add(next); this.revalidate(); this.repaint(); } } }
/** * Builds the UI based on a VCard. * * @param vcard the vcard used to build the UI. */ private void buildUI(VCard vcard) { personalPanel.setFirstName(vcard.getFirstName()); personalPanel.setMiddleName(vcard.getMiddleName()); personalPanel.setLastName(vcard.getLastName()); personalPanel.setEmailAddress(vcard.getEmailHome()); personalPanel.setNickname(vcard.getNickName()); personalPanel.setJID(vcard.getJabberId()); businessPanel.setCompany(vcard.getOrganization()); businessPanel.setDepartment(vcard.getOrganizationUnit()); businessPanel.setStreetAddress(vcard.getAddressFieldWork("STREET")); businessPanel.setCity(vcard.getAddressFieldWork("LOCALITY")); businessPanel.setState(vcard.getAddressFieldWork("REGION")); businessPanel.setZipCode(vcard.getAddressFieldWork("PCODE")); businessPanel.setCountry(vcard.getAddressFieldWork("CTRY")); businessPanel.setJobTitle(vcard.getField("TITLE")); businessPanel.setPhone(vcard.getPhoneWork("VOICE")); businessPanel.setFax(vcard.getPhoneWork("FAX")); businessPanel.setPager(vcard.getPhoneWork("PAGER")); businessPanel.setMobile(vcard.getPhoneWork("CELL")); businessPanel.setWebPage(vcard.getField("URL")); // Load Home Info homePanel.setStreetAddress(vcard.getAddressFieldHome("STREET")); homePanel.setCity(vcard.getAddressFieldHome("LOCALITY")); homePanel.setState(vcard.getAddressFieldHome("REGION")); homePanel.setZipCode(vcard.getAddressFieldHome("PCODE")); homePanel.setCountry(vcard.getAddressFieldHome("CTRY")); homePanel.setPhone(vcard.getPhoneHome("VOICE")); homePanel.setFax(vcard.getPhoneHome("FAX")); homePanel.setPager(vcard.getPhoneHome("PAGER")); homePanel.setMobile(vcard.getPhoneHome("CELL")); // Set avatar byte[] bytes = vcard.getAvatar(); if (bytes != null && bytes.length > 0) { ImageIcon icon = new ImageIcon(bytes); avatarPanel.setAvatar(icon); avatarPanel.setAvatarBytes(bytes); if (avatarLabel != null) { icon = GraphicUtils.scaleImageIcon(icon, 48, 48); avatarLabel.setIcon(icon); } } }
/** Saves the VCard. */ private void saveVCard() { final VCard vcard = new VCard(); // Save personal info vcard.setFirstName(personalPanel.getFirstName()); vcard.setLastName(personalPanel.getLastName()); vcard.setMiddleName(personalPanel.getMiddleName()); vcard.setEmailHome(personalPanel.getEmailAddress()); vcard.setNickName(personalPanel.getNickname()); // Save business info vcard.setOrganization(businessPanel.getCompany()); vcard.setAddressFieldWork("STREET", businessPanel.getStreetAddress()); vcard.setAddressFieldWork("LOCALITY", businessPanel.getCity()); vcard.setAddressFieldWork("REGION", businessPanel.getState()); vcard.setAddressFieldWork("PCODE", businessPanel.getZipCode()); vcard.setAddressFieldWork("CTRY", businessPanel.getCountry()); vcard.setField("TITLE", businessPanel.getJobTitle()); vcard.setOrganizationUnit(businessPanel.getDepartment()); vcard.setPhoneWork("VOICE", businessPanel.getPhone()); vcard.setPhoneWork("FAX", businessPanel.getFax()); vcard.setPhoneWork("PAGER", businessPanel.getPager()); vcard.setPhoneWork("CELL", businessPanel.getMobile()); vcard.setField("URL", businessPanel.getWebPage()); // Save Home Info vcard.setAddressFieldHome("STREET", homePanel.getStreetAddress()); vcard.setAddressFieldHome("LOCALITY", homePanel.getCity()); vcard.setAddressFieldHome("REGION", homePanel.getState()); vcard.setAddressFieldHome("PCODE", homePanel.getZipCode()); vcard.setAddressFieldHome("CTRY", homePanel.getCountry()); vcard.setPhoneHome("VOICE", homePanel.getPhone()); vcard.setPhoneHome("FAX", homePanel.getFax()); vcard.setPhoneHome("PAGER", homePanel.getPager()); vcard.setPhoneHome("CELL", homePanel.getMobile()); // Save Avatar final File avatarFile = avatarPanel.getAvatarFile(); byte[] avatarBytes = avatarPanel.getAvatarBytes(); if (avatarFile != null) { try { // Make it 48x48 ImageIcon icon = new ImageIcon(avatarFile.toURI().toURL()); Image image = icon.getImage(); image = image.getScaledInstance(-1, 48, Image.SCALE_SMOOTH); avatarBytes = GraphicUtils.getBytesFromImage(image); } catch (MalformedURLException e) { Log.error("Unable to set avatar.", e); } } // If avatar bytes, persist as vcard. if (avatarBytes != null) { vcard.setAvatar(avatarBytes); } try { final VCardManager vcardManager = SparkManager.getVCardManager(); vcardManager.setPersonalVCard(vcard); vcard.save(SparkManager.getConnection()); // Notify users. if (avatarFile != null || avatarBytes != null) { Presence presence = SparkManager.getWorkspace().getStatusBar().getPresence(); Presence newPresence = new Presence( presence.getType(), presence.getStatus(), presence.getPriority(), presence.getMode()); // Change my own presence SparkManager.getSessionManager().changePresence(newPresence); // Chnage avatar in status bar. StatusBar statusBar = SparkManager.getWorkspace().getStatusBar(); statusBar.setAvatar(new ImageIcon(vcard.getAvatar())); } else { String firstName = vcard.getFirstName(); String lastName = vcard.getLastName(); StatusBar statusBar = SparkManager.getWorkspace().getStatusBar(); if (ModelUtil.hasLength(firstName) && ModelUtil.hasLength(lastName)) { statusBar.setNickname(firstName + " " + lastName); } else if (ModelUtil.hasLength(firstName)) { statusBar.setNickname(firstName); } statusBar.setAvatar(null); } // Notify listenres SparkManager.getVCardManager().notifyVCardListeners(); } catch (XMPPException e) { Log.error(e); JOptionPane.showMessageDialog( SparkManager.getMainWindow(), Res.getString("message.vcard.not.supported"), Res.getString("title.error"), JOptionPane.ERROR_MESSAGE); } }
/** * Displays the VCard for an individual. * * @param vCard the users vcard. * @param parent the parent component, used for location. */ public void viewFullProfile(final VCard vCard, JComponent parent) { final JTabbedPane tabbedPane = new JTabbedPane(); // Initialize Panels personalPanel = new PersonalPanel(); personalPanel.allowEditing(false); personalPanel.showJID(false); // tabbedPane.addTab(Res.getString("tab.personal"), personalPanel); businessPanel = new BusinessPanel(); businessPanel.allowEditing(false); tabbedPane.addTab(Res.getString("tab.business"), businessPanel); homePanel = new HomePanel(); homePanel.allowEditing(false); // tabbedPane.addTab(Res.getString("tab.home"), homePanel); avatarPanel = new AvatarPanel(); avatarPanel.allowEditing(false); tabbedPane.addTab(Res.getString("tab.avatar"), avatarPanel); // employeePanel = new EmployeePanel(); // employeePanel.allowEditing(false); // tabbedPane.addTab("Pracownicy", employeePanel); String employeeOf = vCard.getField("employeeOf"); if (vCard.getJabberId() == SparkManager.getUserManager() .getJIDFromDisplayName(SparkManager.getUserManager().getNickname())) { if ((employeeOf == null || employeeOf.isEmpty())) { employeeListPanel = new EmployeeListPanel(); tabbedPane.addTab(Res.getString("tab.home"), homePanel); tabbedPane.addTab(Res.getString("tab.business"), businessPanel); tabbedPane.addTab("Pracownicy", employeeListPanel); employee = false; } else { } } // Build the UI buildUI(vCard); final JOptionPane pane; final JDialog dlg; TitlePanel titlePanel; ImageIcon icon = VCardManager.getAvatarIcon(vCard); if (icon == null) { icon = SparkRes.getImageIcon(SparkRes.BLANK_24x24); } // Create the title panel for this dialog titlePanel = new TitlePanel(Res.getString("title.profile.information"), "", icon, true); // Construct main panel w/ layout. final JPanel mainPanel = new JPanel(); mainPanel.setLayout(new BorderLayout()); mainPanel.add(titlePanel, BorderLayout.NORTH); // The user should only be able to close this dialog. Object[] options = {Res.getString("close")}; pane = new JOptionPane( tabbedPane, JOptionPane.PLAIN_MESSAGE, JOptionPane.OK_CANCEL_OPTION, null, options, options[0]); mainPanel.add(pane, BorderLayout.CENTER); JOptionPane p = new JOptionPane(); dlg = p.createDialog(parent, Res.getString("title.profile.information")); dlg.setModal(false); dlg.pack(); dlg.setSize(600, 400); dlg.setResizable(true); dlg.setContentPane(mainPanel); dlg.setLocationRelativeTo(parent); PropertyChangeListener changeListener = new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent e) { Object o = pane.getValue(); if (o instanceof Integer) { pane.removePropertyChangeListener(this); dlg.dispose(); return; } String value = (String) pane.getValue(); if (Res.getString("close").equals(value)) { pane.removePropertyChangeListener(this); dlg.dispose(); } } }; pane.addPropertyChangeListener(changeListener); dlg.setVisible(true); dlg.toFront(); dlg.requestFocus(); personalPanel.focus(); }
public MainForm() { GUIStandartOperations.FrameStartOperations(this); setSize(960, 610); setLocationRelativeTo(null); setLayout(null); addMouseListener( new MouseAdapter() { public void mouseReleased(MouseEvent e) { mouseDownCompCoords = null; } public void mousePressed(MouseEvent e) { mouseDownCompCoords = e.getPoint(); } }); addMouseMotionListener( new MouseAdapter() { public void mouseDragged(MouseEvent e) { Point currCoords = e.getLocationOnScreen(); setLocation(currCoords.x - mouseDownCompCoords.x, currCoords.y - mouseDownCompCoords.y); } }); dialogPanelArrayList = new ArrayList<>(); dialogTabArrayList = new ArrayList<>(); bigPanel = new JPanel(null); bigPanel.setSize(1300, 600); bigPanel.setOpaque(false); bigPanel.setBackground(new Color(0, 0, 0, 0)); dialogTabsPanel = new JPanel(null); dialogTabsPanel.setBackground(new Color(0, 0, 0, 150)); JPanel topPanel = new JPanel(null); topPanel.setBackground(new Color(0, 0, 0, 150)); topPanel.setBounds(30, 20, 900, 65); topPanel.setBorder(BorderFactory.createMatteBorder(1, 0, 1, 0, Color.WHITE)); bigPanel.add(topPanel); notificationPanel = new NotificationPanel(); notificationPanel.setBounds(5, 0, 500, 65); notificationPanel.setBorder(null); topPanel.add(notificationPanel); RepaintPanel repaintPanel = new RepaintPanel(notificationPanel); Thread thread = new Thread(repaintPanel); thread.start(); RepaintPanel repaintPanel2 = new RepaintPanel(bigPanel); Thread thread2 = new Thread(repaintPanel2); thread2.start(); changeAccButton = GUIStandartOperations.ButtonStartOperations( changeAccButIcon, changeAccButIconEntered, true); settingsButton = GUIStandartOperations.ButtonStartOperations(settingsButIcon, settingsButIconEntered, true); contactsButton = GUIStandartOperations.ButtonStartOperations(contactsButIcon, contactsButIconEntered, true); exitButton = GUIStandartOperations.ButtonStartOperations(exitButIcon, exitButIconEntered, true); plusButton = GUIStandartOperations.ButtonStartOperations(plusButIcon, plusButIconEntered, true); homeButton = GUIStandartOperations.ButtonStartOperations(dialogButIcon, dialogButIconEntered, true); changeAccButton.setToolTipText("Change account"); settingsButton.setToolTipText("Your personal settings"); contactsButton.setToolTipText("Contacts"); exitButton.setToolTipText("Exit ChatApp"); homeButton.setToolTipText("Dialog page / Home"); friendPanelButton = new JButton(); friendPanelButton.setOpaque(false); friendPanelButton.setBorder(null); friendPanelButton.setFocusPainted(false); friendPanelButton.setContentAreaFilled(false); friendPanelButton.setIcon(friendSideOpenIcon); friendPanelButton.addMouseListener( new MouseAdapter() { @Override public void mouseEntered(MouseEvent e) { friendPanelButton.setIcon(friendSideOpenIconEntered); } @Override public void mouseExited(MouseEvent e) { friendPanelButton.setIcon(friendSideOpenIcon); } }); friendPanelButton.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { isFriendPanelOpened = !isFriendPanelOpened; friendPanelMode(); } }); friendSidePanel = new FriendSidePanel(); friendSidePanel.setBorder(null); friendSidePanel.setBounds(970, 50, 450, 650); bigPanel.add(friendSidePanel); noConversationsPanel = new JPanel(null); noConversationsPanel.setOpaque(false); noConversationsPanel.setBackground(new Color(0, 0, 0, 0)); noConversationsPanel.setBounds(0, 0, 960, 600); JLabel noConversationLabel = new JLabel("You have no active conversations now..."); noConversationLabel.setFont(Fonts.nickFont); noConversationLabel.setHorizontalAlignment(SwingConstants.CENTER); noConversationLabel.setForeground(Color.WHITE); noConversationLabel.setBackground(new Color(0, 0, 0, 0)); noConversationLabel.setBounds(0, 300, 960, 50); JButton noConversationsButton = GUIStandartOperations.ButtonStartOperations(null, null, false); noConversationsButton.setText("<HTML><U>It's time to begin, isn't it?</U></HTML>"); noConversationsButton.setFont(Fonts.nickFont); noConversationsButton.setBounds(0, 350, 960, 50); noConversationsButton.setHorizontalAlignment(SwingConstants.CENTER); noConversationsButton.setForeground(Color.RED); noConversationsButton.addActionListener( new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { isFriendPanelOpened = true; friendPanelMode(); } }); noConversationsPanel.add(noConversationsButton); noConversationsPanel.add(noConversationLabel); noConversationsPanel.setVisible(false); final int shiftRight = 90; changeAccButton.setBounds(420 + shiftRight, 6, 64, 64); topPanel.add(changeAccButton); homeButton.setBounds(550 + shiftRight, 6, 64, 64); topPanel.add(homeButton); settingsButton.setBounds(650 + shiftRight, 0, 64, 64); topPanel.add(settingsButton); contactsButton.setBounds(600 + shiftRight, 0, 64, 64); topPanel.add(contactsButton); exitButton.setBounds(470 + shiftRight, 0, 64, 64); topPanel.add(exitButton); friendPanelButton.setBounds(730 + shiftRight, 6, 64, 64); topPanel.add(friendPanelButton); friendPanelButton.setVisible(false); homePanel = new HomePanel(); homePanel.setBounds(0, 84, 960, 1000); dialogTabsPanel.setBounds(30, 100, 900, 40); dialogTabsPanel.setVisible(false); bigPanel.add(dialogTabsPanel); bigPanel.add(homePanel); bigPanel.add(noConversationsPanel); this.add(bigPanel); exitButton.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { System.exit(0); } }); }
public void changeMode(Mode mode) { if (mode == Mode.DIALOG) { boolean newMessages = false; for (int i = 0; i < dialogTabArrayList.size(); i++) { if (dialogTabArrayList.get(i).getNewMessageLabel().isVisible()) { newMessages = true; } } if (newMessages) { homeButton.setIcon(newDialogButIcon); } else { homeButton.setIcon(dialogButIcon); } final boolean finalNewMessages = newMessages; homeButton.addMouseListener( new MouseAdapter() { @Override public void mouseEntered(MouseEvent e) { if (finalNewMessages) { homeButton.setIcon(newDialogButIconEntered); } else { homeButton.setIcon(dialogButIconEntered); } } @Override public void mouseExited(MouseEvent e) { if (finalNewMessages) { homeButton.setIcon(newDialogButIcon); } else { homeButton.setIcon(dialogButIcon); } } }); if (!(currentDialogTab == null)) currentDialogPanel.setVisible(false); homePanel.setVisible(true); friendPanelButton.setVisible(false); dialogTabsPanel.setVisible(false); isFriendPanelOpened = false; noConversationsPanel.setVisible(false); friendPanelMode(); } else if (mode == Mode.HOME_PANEL) { homeButton.setIcon(homeButIcon); homeButton.addMouseListener( new MouseAdapter() { @Override public void mouseEntered(MouseEvent e) { homeButton.setIcon(homeButIconEntered); } @Override public void mouseExited(MouseEvent e) { homeButton.setIcon(homeButIcon); } }); friendPanelButton.setVisible(true); homePanel.setVisible(false); if (dialogTabArrayList.size() > 0) { dialogTabsPanel.setVisible(true); } else { noConversationsPanel.setVisible(true); } if (!(currentDialogPanel == null)) { currentDialogPanel.setVisible(true); } friendPanelButton.setVisible(true); repaint(); } }