Jlist com Jbutton

Boa noite,

Estou a tentar criar um jbutton numa jlist, o meu problema não é adicionar o botão na lista o meu problema é como fazer para criar o action do jbutton.
Não sei se é possível de fazer, alguém já fez algo do genero?

Cumprimentos

Boa noite,

Estou farto de far voltas a isto, será que é mesmo possível?
Será que devo usar antes jtable?

Ab

Na verdade, você não obteve resposta porque não descreveu o que quer fazer.

Você quer que o Action do seu button faça o que?
Como você criou o LIst? Está usando o Netbeans ou fazendo diretamente no código?

Lembre-se que não temos seu código fonte, nem temos qualquer conhecimento do propósito de sua aplicação.

Se você não explicar, fica impossível ajudar.

Bom dia,

Tem razão peço desculpa :stuck_out_tongue:

Na verdade o meu problema é mesmo conseguir carregar no botão, eu carrego em cima do botão e ele muda apenas a row da lista.

Estou a fazer no netbeans.

Cumprimentos

Você só repetiu o que já havia dito.
Pode responder o que eu perguntei no post de cima? Está realmente difícil te ajudar sem você dar informação nenhuma.

Ok, vou tentar explicar melhor.

Estou a criar a Jlist pelo Netbeans.

E o que eu estou a tentar fazer é o seguinte, tenho uma lista onde vão ser adicionados JPanels com jtextfield e jbutton.

O meu problema é não conseguir passar o focus nem para jtextfield nem para jbutton, ao carregar sobre eles (no Jlist) apenas muda a linha da jlist.

Só quero conseguir escrever no Jtextfield e carregar no Jbutton.

Não sei se fui mais claro, posso enviar o código pode ser que fique mais claro :X

Cumprimentos.

Deixa eu ver se entendi direito, você quer editar os campos JTextField e acionar o evento do JButton, porém não conseguiu já que o campo apenas fica selecionado impedindo que você possa inserir o foco nos componentes especificados??

Manda o código ai então, para analisarmos melhor!

É isso mesmo :):slight_smile:

o que eu fiz foi criar a jlist e depois

class ListDragImageCellRenderer implements ListCellRenderer {

        @Override
        public Component getListCellRendererComponent(JList jlist, Object value,
                int cellIndex, boolean isSelected, boolean cellHasFocus) {

            javax.swing.JPanel pFundo = new javax.swing.JPanel();
            javax.swing.JPanel pFoto = new javax.swing.JPanel();
            javax.swing.JLabel lFoto = new javax.swing.JLabel();
            javax.swing.JLabel lTexto = new javax.swing.JLabel();
            javax.swing.JButton btAction = new javax.swing.JButton();
            javax.swing.JTextField tfTexto = new javax.swing.JTextField();

            pFundo.setBorder(javax.swing.BorderFactory.createTitledBorder(""));

            // Aqui digo o sitio do vao ficar os campos

            btAction.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent ae) {
                    System.out.println(jList1.getSelectedIndex());
                    
                }
            });

            if (value instanceof Object[]) {
                Object[] v = (Object[]) value;
                tfTexto.setText((String) v[0]);

                if (isSelected) {
                    pFundo.setBorder(new DotBorder(1, 1, 1, 1));
                }
            }

            return pFundo;
        }
    }

Que pelos vistos não chega.

Envio o Código todo

Cumprimentos

Acho que o seu caso é melhor usar um JTable para isso.
Veja o link abaixo, inclusive tinha um exemplo que acompalhava a SDK.
http://docs.oracle.com/javase/tutorial/uiswing/components/table.html#renderer

Nunca precisei disso para a JList mais vou ver se consigo alguma coisa aqui com o seu Exemplo, qualquer coisa eu posto aqui.

Ok, vou tentar fazer então com o jtable :slight_smile:

Obrigado