Existe tamanho de interfaces?

9 respostas
tiagosarno

Olá pessoal do GUJ, estou com um problema em um sistema onde o mesmo, esta informando no momento da compilação que o código esta muito grande.

Error: code to large
private void initComponets()

Neste arquivo é onde tratamos os forms do sistema, existe uma quantidade máxima de Panel’s e objetos que podem ser inseridos em um mesmo arquivo.java? Caso exista esta barreira, como posso contornar este problema? Será a saída contruir vários arquivos.java com vários panel’s ficar chamando-os a quando necessario, enfim, como posso contornar este problema?

Obrigado desde já, Tiago.

9 Respostas

marcelo_mococa

caramba… nuca vi esse erro…rs

S

caramba… nuca vi esse erro[1]

P

Também nunca ouvi falar em tamanho limite do código.

marcushlm

eh uma limitação da JVM se não me engano…

The Java specification states that there is a 64 K 
limit on the size of methods in Java. The JVM
does not execute methods that exceed this limit.

It is possible to compile methods larger than 64 K, 
but the JVM will not run these methods. Consequently, 
the error occurs during runtime, while attempting to 
execute Java methods that are greater than 64 K.

http://java.sun.com/docs/books/jvms/second_edition/html/ClassFile.doc.html#88659

porque não dividir esse metodo em outros metodos menores?

LeoMarola

Veja se esse post esclarece algo: http://forum.java.sun.com/thread.jspa?threadID=633171&messageID=3668260

:shock:

pcalcado

Em Java, código é código, seja de interface ou não (por isso certas pessoas enste fórum me assustam quando falam que não ligam para o código gerado pela sua IDE favorita…). Refatore seus formulários e crie objetos ao invés de blocos enormes de programação não-estruturada.

marcelo_mococa

apenas completando o que o pcalcado disse:

Luiz_Aguiar

tiagosarno:
Olá pessoal do GUJ, estou com um problema em um sistema onde o mesmo, esta informando no momento da compilação que o código esta muito grande.

Error: code to large
private void initComponets()

Neste arquivo é onde tratamos os forms do sistema, existe uma quantidade máxima de Panel’s e objetos que podem ser inseridos em um mesmo arquivo.java? Caso exista esta barreira, como posso contornar este problema? Será a saída contruir vários arquivos.java com vários panel’s ficar chamando-os a quando necessario, enfim, como posso contornar este problema?

Obrigado desde já, Tiago.


Só por curiosidade, qual o tamanho (em linhas) da sua classe?
Está tudo feito nela ou tem outras classes tbm com “telas”?

tiagosarno

Pessoal, dei uma olhada nos links e entendi o recado. Luiz o tamanho do código que esta feito até o momento é de 9652 linhas. Vou explicar melhor como esta o sistema:

O sistema tem duas pastas principais /src/classes e /src/sistema.

Na pasta classes, estão todas as classes utilizadas pelo sistema como: Classe Cliente, Classe Movimento, etc. Na pasta sistema, encontram-se os jPanel’s (Forms) e demais objetos do sistema, o problema esta neste arquivo de formulários, o método initComponents() esta muito grande superando os 64K como disse bem nosso companheiro “marcushlm”. Os forms de cadastro, edição, remoção, busca, etc, para cada seção estão todos neste arquivo único, sei que tenho de particionar isso em vários arquivos para não sobrecarregar o método initComponents(), mas não sei como realizar a chamada dos Panel’s depois.

Como posso ou devo criar um novo arquivo.java do tipo jFrame Form e particionar estes paineis entre estes arquivos e depois chama-los a partir do arquivo principal?
Por exemplo:
cadastros.java, edicoes.java, remocoes.java e chamar os panel’s criados nestes, dentro do jFrame principal do sistema que esta em outro arquivo java inicial chamado sistema.java?

Criado 18 de abril de 2007
Ultima resposta 18 de abr. de 2007
Respostas 9
Participantes 8