Provavelmente só tem um objeto pra ser lido no seu InputStream mas você está tentando ler um segundo objeto, afinal, está chamando o in.readObject() duas vezes.
Utilize uma variável local para armazenar o objeto lido.
in=newObjectInputStream(socket.getInputStream());System.out.println("lendo socket do servidor");ObjectobjetoLido=in.readObject();System.out.println(objetoLido);//esse imprimeimg_text.setText(objetoLido.toString());//esse exibe no JLabel
L
Leopcx1 like
top…vcs são fera brother…
Agradeço a família GUJ…
até mais!!!
L
Leopcx
agora me encontro em outro problema…
estou tentando lançar um label em um JList…
acontece o mesmo problema acima…
alguma parte se renova e não consigo perceber…
tenho este método que traz a imagem e o email do banco
ArrayList<Cliente>cliente=newArrayList<Cliente>();cliente=(ArrayList<Cliente>)dao.BuscarTodos();for(Clientecli:cliente){try{ManipularImagem.exibiImageList(cli.getImagem(),cli.getEmail(),Cliente_Principal.list);}catch(IOExceptione1){// TODO Auto-generated catch blocke1.printStackTrace();}}
L
Leopcx
parece carma…só aparece o ultimo registro…
ja rodei tudo e nada…
por favor me ajudem…
estou com prazo para este projeto…vlwwwww
staroski
É que a cada chamada ao método exibiImageList você está setando um novo ListModel para o seu JList.
Executou de boa…ontem eu levei esse método para outra classe e
coloquei a variável no topo e funcionou…
vlw meu brother…obrigado.
L
Leopcx
o grande problema que encontrei foi a posição da imagem com as
Strings do banco.Não tem como adicionar 2 elementos na mesma posição
do JList, só assim:
list.addElement(String);list.addElement(imagem);
staroski
Tem sim, pra isso você precisa implementar um ListCellRenderer.
L
Leopcx
sim…oque eu consegui só manda a mesma imagem para todos os emails
L
Leopcx
pode me ajudar com isso.
eu usei ese método:
public Component getListCellRendererComponent(JList list, Object value,
int index, boolean isSelected, boolean cellHasFocus) {
tem como usar outra maneira???
staroski
Posta o código completo de suas classes, não tem como adivinhar a forma que você implementou.
L
Leopcx
public class ActionListCellRenderer implements ListCellRenderer {
@Override
public Component getListCellRendererComponent(JList list, Object value,
int index, boolean isSelected, boolean cellHasFocus) {
//aki não consigo trazer imagem do banco só por URLs
JLabel label= new JLabel());
//Define o texto do JLabel label.setText(value.toString());
o problema disso é que a imagem vem como BINARY DATA
e eu converto ela num método!!!e agora???
staroski
Como está implementado o seu Renderer?
Provavelmente você precisa setar o preffered-size do componente utilizado para renderizar a imagem.
L
Leopcx
não fiz implementação .
setei assim setCellRenderer(renderer);
staroski
E como é que inicializou o renderer?
L
Leopcx
pois bem meu amigo…
//aki chamo a classe implementadaCustomListCellRendererrenderer=newCustomListCellRenderer();//aki seto na propriedade do JList(setCellRenderer())JList.setCellRenderer(renderer);
L
Leopcx
consegui entender???
staroski
E como é a implementação desse CustomListCellRenderer?
L
Leopcx
essa:
public class ActionListCellRenderer implements ListCellRenderer {
@Override
public Component getListCellRendererComponent(JList list, Object value,
int index, boolean isSelected, boolean cellHasFocus) {
//aki não consigo trazer imagem do banco só por URLs
JLabel label= new JLabel());
//Define o texto do JLabel label.setText(value.toString());