DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

Fórum DevMedia


Autor
Mensagem
Alberto Souza Leal
 

País: Brasil
Estado: MS
Cidade: Campo Grande
Mensagens: 18
 Postado em: 3/2/2012 11:01:53 AM

Ola bom dia
Estou criando um cadastro de usuarios para definir permissoes, por exemplo:
eu seleciono o usuario e depois seleciono o programa para qual quero editar as permissoes
cada programa tem um numero variado de permissoes diversas, ae gostaria de criar um check box para cada campo, para depois pegar as alteracoes
#Código

private void AddCheckBox(JPanel panel, String programa) {
String S075 = acesso.Read(SGVAR075, programa); // leio o registro do cadastro do programa
listaChecks.setCellRenderer(new CheckBoxCellRender());//Defino o render q vou usar
int Linha = 0;
int totalPermissao = acesso.Dcount(S075, REGG.SGVAR075.S75$PRIVILEGIOS, MVConstants.VAL_MARK); // aki recebo o total de permissoes q tenho para este programa
Object[] cbArray = new Object[totalPermissao];
String S122;
for(int permisa = 1;permisa < totalPermissao ;permisa++){
S122 = acesso.Read(SGVAR122, acesso.Extrair(S075, REGG.SGVAR075.S75$PRIVILEGIOS,permisa));
cbArray[permisa] = new JCheckBox(acesso.Extrair(S122, REGG.SGVAR122.S122$DESCRICAO));
Linha = Linha+28;
((JCheckBox) cbArray[permisa]).setBounds(0, Linha, 97, 23);

}

listaChecks.setListData(cbArray);
listaChecks.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
panel.add(listaChecks);


ae crei um butao q pega o valor da textfield com seguinte evento
#Código


panelPermissao = new JPanel();
panelPermissao.setBounds(426, 175, 200, 275);
getContentPane().add(panelPermissao);
panelPermissao.setLayout(null);

JButton btnAlterar = new JButton(**);
btnAlterar.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {

AddCheckBox(panelPermissao,tFProgramas.getText());
panelPermissao.setBorder(new LineBorder(new Color(0, 0, 0)));
panelPermissao.validate();
panelPermissao.repaint();

}
});


e o meu cellrender é este
#Código

public class CheckBoxCellRender implements ListCellRenderer {

Border noFocusBorder = new EmptyBorder(1,1,1,1);
/* (non-Javadoc)
* @see javax.swing.ListCellRenderer#getListCellRendererComponent(javax.swing.JList, java.lang.Object, int, boolean, boolean)
*/
@Override
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;
}


quando clico no botao ele me traz isso na console

Exception in thread AWT-EventQueue-0 java.lang.NullPointerException
at SGV.SGVPR001.AddCheckBox(SGVPR001.java:390) listaChecks.setCellRenderer(new CheckBoxCellRender());
at SGV.SGVPR001.access$5(SGVPR001.java:386) private void AddCheckBox(JPanel panel,String programa) {
at SGV.SGVPR001$6.actionPerformed(SGVPR001.java:364) AddCheckBox(panelPermissao,tFProgramas.getText());
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
DYEGO SOUZA DO CARMO
 
 


País: Brasil
Estado: PR
Cidade: xxxxx
Mensagens: 1836
 Postado em: 20/2/2012 8:58:37 AM
Chegou a ver se listaChecks é null ?

 
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03