Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Θα ήθελα όπως στην εικόνα, να διπλοκλικάρω πχ το U2 από τη λίστα Φίλοι, και να λειτουργεί σαν να έχω κλικάρει το U2 από την αριστερή λίστα. Σας γράφω τον κώδικα του πάνελ όπως το έχω μέχρι στιγμής.

Java Beginner!

 

 

 

package userinterface;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.MouseEvent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import social.SocialNetwork;
import social.User;

public class SocialNetworkWindow extends JFrame implements ListSelectionListener {
    
    SocialNetwork network;
    JList userlist;
    JTextField txtUser;
    JList lstFriends;
    
    public SocialNetworkWindow(SocialNetwork sn){
        setTitle("Κοινωνικό Δίκτυο");
        network = sn;
        JLabel userLabel;
        JLabel friendsLabel;
        JPanel userPanel;
      
       
       
        
        userLabel = new JLabel("Όνομα:");
        userLabel.setBounds(10,10,100,20);
        txtUser = new JTextField();
        txtUser.setBounds(80,10,100,20);
        txtUser.setEditable(false);
        friendsLabel = new JLabel("Φίλοι:");
        friendsLabel.setBounds(10,40,100,20);
        lstFriends = new JList();
        lstFriends.setBounds(80,40,150,80);
        
        //To Panel
        userPanel = new JPanel();
        userPanel.setLayout(null);
        userPanel.add(userLabel);
        userPanel.add(txtUser);
        userPanel.add(friendsLabel);
        userPanel.add(lstFriends);
        userPanel.setPreferredSize(new Dimension (300,200));
        add(userPanel, BorderLayout.CENTER);
        
        
        userlist = new JList (network.getUsers());
        userlist.addListSelectionListener(this);
        add(userlist, BorderLayout.LINE_START);
        pack();
        setVisible(true);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
    }

    @Override
    public void valueChanged(ListSelectionEvent lse) {
        int index = userlist.getSelectedIndex(); // !!!
        User user = network.getUsers().elementAt(index);
        
        txtUser.setText(user.getName());
        lstFriends.setListData(user.getFriends());
    }
}

post-270489-0-25397000-1431185822_thumb.png

Δημοσ. (επεξεργασμένο)

public void mouseClicked(MouseEvent event)
{
  if (event.getClickCount() == 2) {
    onomaLabel.setOpaque(true);
    onomaLabel.setBackground(Color.Blue);
  }
}

Kάτι τέτοιο θες, προσαρμοσέτο στη περίπτωσή σου.

επειδή είναι 4 το χάραμα, δεν έχεις βάλει και το κώδικα σε tags δεν έχω το κουράγιο για περισσότερη βοήθεια

Επεξ/σία από ALLisCHAOS
  • 3 εβδομάδες αργότερα...
Δημοσ.

Ακριβώς κάτω από τον κώδικα του 1ου post,συμπλήρωσα αυτο

 

 public void mouseClicked(MouseEvent event){
        if (event.getClickCount()==2){
            int index = lstFriends.getSelectedIndex();
            User user = network.getUsers().elementAt(index);            
            txtUser.setText(user.getName());
            lstFriends.setListData(user.getFriends());
        }
    }

 

 

No errors!!! Aλλά δεν δουλεύει... :P

Δημοσ.

Πες μας αν θες που ήταν το πρόβλημα και τη λύση μήπως εξυπηρετήσει και άλλους στο μέλλον. Όσο για τα tags που σου είπα εννοώ την επιλογή του code που σου δίνει το forum(είναι το εικοιδιο <>) για να είναι πιο ευανάγνωστος ο κώδικας

Δημοσ.

Η λύση είναι η εξής

    // Double Click Task
    @Override
    public void mouseClicked(MouseEvent event){
        if (event.getClickCount()==2){
            int index = lstFriends.getSelectedIndex();
            currentUser = currentUser.getFriends().elementAt(index);
            dateUser.setText(currentUser.getDate());
            txtUser.setText(currentUser.getName());
            lstFriends.setListData(currentUser.getFriends());
        }
    }

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...