Itens dinamicos[RESOLVIDO]

Entao galera eu tenho um JScollPane na minha tela e quero adicionar alguns itens dinamicamente nele entaum faço o seguinte…

List<TipoRecDesp> listaTipo = new TipoRecDespBO().buscarTodosTipos(new TipoRecDesp(null, Constantes.TIPO_DESPESA));
        this.lista = new ArrayList<TipoSelecionadoBean>();
        
        for(TipoRecDesp tipo : listaTipo) {
            JCheckBox check = new JCheckBox();
            check.setText(tipo.getDescricao());
            check.setSelected(true);
            this.lista.add(new TipoSelecionadoBean(tipo, check));
            this.panelScroll.add(check);
        }
        
        this.pack();
        this.repaint();

porem quando a tela é aberta o itens não estao a aonde deveriam estar eles naum aparecem, alerto que esse codigo esta no construtor da minha classe, mas e ai alguem sabe no que estou errando…

valeu pela atenção de todos que tentarem me ajudar…

Java pra desktop ?’

[quote=CristianPalmaSola10]Entao galera eu tenho um JScollPane na minha tela e quero adicionar alguns itens dinamicamente nele entaum faço o seguinte…

List<TipoRecDesp> listaTipo = new TipoRecDespBO().buscarTodosTipos(new TipoRecDesp(null, Constantes.TIPO_DESPESA));
        this.lista = new ArrayList<TipoSelecionadoBean>();
        
        for(TipoRecDesp tipo : listaTipo) {
            JCheckBox check = new JCheckBox();
            check.setText(tipo.getDescricao());
            check.setSelected(true);
            this.lista.add(new TipoSelecionadoBean(tipo, check));
            this.panelScroll.add(check);
        }
        
        this.pack();
        this.repaint();

porem quando a tela é aberta o itens não estao a aonde deveriam estar eles naum aparecem, alerto que esse codigo esta no construtor da minha classe, mas e ai alguem sabe no que estou errando…

valeu pela atenção de todos que tentarem me ajudar…[/quote]

Estranho, voce quer inserir itens ao JScrollPane ? tem certeza ? JScrollPane é só a API que faz a barra de rolagem, heheh, acho que nao tem como voce inserir qualquer coisa na barrar de rolagem.

Sim java para desktop…

Então concerteza eu me confundi um pouco…

o que eu quero na verdade é adicionar um check box para cada tipo que esta gravado no banco e pode se adicionado alterado e excluido conforme a lua em que o usuario se encontra…

entaum podendo haver muitos itens queria coloca-los em uma panel que contenham uma barra de rolagem automatica que se haja a necessidade ela aparece e possibilite a rolagem para a visualizacao de todos os itens…

que componente devo usar entao ?

valeu pela ajuda…

List<TipoRecDesp> listaTipo = new TipoRecDespBO().buscarTodosTipos(new TipoRecDesp(null, Constantes.TIPO_DESPESA));  
        this.lista = new ArrayList<TipoSelecionadoBean>();  
          
        for(TipoRecDesp tipo : listaTipo) {  
            JCheckBox check = new JCheckBox();  
            check.setText(tipo.getDescricao());  
            check.setSelected(true);  
            this.lista.add(new TipoSelecionadoBean(tipo, check));  
            this.panelScroll.add(check);  
        }  
          
        this.pack();  
        this.repaint();  

Vamo ver se entendi pelo seu codigo…

Acho que ali em cima ta errado, o this.panelScroll.add(check) deveria estar fora do laço, pois a cada iteracao voce preenche o panelScroll, e sobreescreve a informacao anterior. Na verdade nao conheco bem o JCheckBox, mas acho que tem algo a ver com a logica que voce criou.

outro detalhe, a cada iteracao, voce da um new JCheckBox(), perceba que a cada new, o nome check permanece o MESMO, logo, voce sempre tera apenas 1 check =D…voce deveria criar 1 nome para cada JCheckBox adicionado.

Cara eu uso essa classe aqui

http://javaaberto.blogspot.com.br/2012/08/jlist-com-checkbox.html

rof20004 pelo que percebi voce naum conhece java swing pois se conhecesse saberia que o JCheckBox se trata de um componente de tela que possibilita selecionar e deseleciona-lo…

valeu charleston10 vou dar uma olhada e qualquer duvida volto a perguntar, se conseguir resolver posto como ficou a solucao, valeu pela atenção…

[quote=CristianPalmaSola10]
rof20004 pelo que percebi voce naum conhece java swing pois se conhecesse saberia que o JCheckBox se trata de um componente de tela que possibilita selecionar e deseleciona-lo…[/quote]

Nao entendi sua colocacao, o que isso tem a ver ?

Se eu nao conheco swing, voce muito menos, querer inserir informacoes em um JSCROLLPANE.

Para ajudar alguem em um problema voce tem que conhecer mais que ela ter mais vivencia no assunto e se voce ja tiver passado por aquela situação melhor ainda… mas se voce naum conhece nada, naum sabe nada, e nem sabe que componente é o que faz me de desculpe mas naum tem como ajudar alguem… eu respondo os foruns depois de ler a duvida e souber alguma coisa que ajude mas eu procuro ja saber aonde estou entrando e com o que estou mexendo e nuam ficar tentando dar tiros no escuro, ninguem sabe tudo mas temos que ter a nocao disso e deixar certos assuntos de que naum temos muito conhecimento para quem tem mais conhecimento naquele assunto,…

Posso naum conhecer muito bem mas estou tentando apreender e naum estou bravinho por que alguem me falou o que é verdade…

v nao estou conseguindo fazer o seguinte parte…

 lista.setCellRenderer(new CheckBoxCellRenderer());

a minha ide nao acha classe preciso adicionar mais algum jar a minha aplicação ?

Oloco menino, c ta com problema tao grande assim ? nao fiz nada pra voce, so tentei lhe ajudar, nao fique achando que vou dar de mao beijada a solucao para o seu problema, quem parece que ta com raivinha aqui é voce, so verificar suas postagens e as minhas. Voce e um belo exemplo que falta de educacao gera burrice. Se voce quer aprender, deveria pelo menos ser humilde e reconhecer que alguem quer lhe ajudar, pois mesmo que alguem nao saiba lhe ajudar o que vale é a intencao, voce tem o tipico comportamento de muleque que vem aqui no forum querer que os outros lhe deem tudo facilmente.

que lixo, tentando lhe ajudar, e porque nao consegui lhe ajudar age dessa forma…rsrsrsrs

so uma ultima ajuda, sua logica ta mal feita, corrija.

[quote]v nao estou conseguindo fazer o seguinte parte…

view plaincopy to clipboardprint?
lista.setCellRenderer(new CheckBoxCellRenderer());

a minha ide nao acha classe preciso adicionar mais algum jar a minha aplicação ?[/quote]

Não, é só criar a classe CheckBoxCellRenderer


import java.awt.Component;
import javax.swing.JCheckBox;
import javax.swing.JList;
import javax.swing.ListCellRenderer;
import javax.swing.UIManager;
import javax.swing.border.Border;
import javax.swing.border.EmptyBorder;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author Charleston Anjos
 */
public class CheckBoxCellRenderer implements ListCellRenderer{

    Border noFocusBorder = new EmptyBorder(1, 1, 1, 1);

    public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {

        JCheckBox checkbox = (JCheckBox) value;

        checkbox.setBackground(isSelected ? list.getSelectionBackground() : list.getBackground());
        checkbox.setForeground(isSelected ? list.getSelectionForeground() : list.getForeground());
        checkbox.setEnabled(list.isEnabled());
        checkbox.setFont(list.getFont());
        checkbox.setFocusPainted(false);
        checkbox.setBorderPainted(true);
        checkbox.setBorder(isSelected ? UIManager.getBorder("List.focusCellHighlightBorder") : noFocusBorder);

        return checkbox;
    }

}

Tenho mais o que fazer do que perder o meu tempo com o mago da idiotice, ajude quem vc pode ajudar quem voce naum pode ajudar naum ajude outros que podem ajudar o ajudaram, ta bele…

desculpa se minha logica naum é tao boa mestre da logicas escabrosas…

kkkkkkkkkkkkkk

rachei o bico com sua raivinha agora …

charleston10 valeu pela ajuda so lhe peço desculpa pelos comentarios desnecessarios que foram colocados aqui nesse post, as pessoas deveriam achar o que fazer ao inves de ficar se metendo no que naum sabem…

Gente é sério isso?

Aff… parecem até criancinhas mimadas brigando.

Não percam o tempo discutindo besteira

Relaxa…

mas ai deu certo ?’

to fazendo qualquer duvida eu posto novamente…