Duvida com Interface Scanner + Java Applet + Sane Scanner Api + LINUX UBUNTU

Tenho uma aplicaçãozinha web, acessando um applet, que chama a interface scanner, que por sua vez chama o Sane.jar , para chamar a interface do scanner, e escanear uma imagem.

Porém com todos os codigos certos, não da certo. Quando era pra ele chamar a interface, ele simplismente não faz nada.

Alguem já mecheu com algo parecido ?

Se alguem ja mecheu com algo parecido me responde ai, que falo mais detalhadamente…

Acho interessante que se poste um pouco mais de detalhes para que possamos ajudar em seu problema.
Eu fiz algo um pouco semelhante com applet no java.

UM pouco mais de detalhes :

Tipo, o metodo listener do botão “escanear” está assim :

[code] private void scan()
{
//pega o scanner fisico, ta pegando certo pois tinha dado print
Scanner scanner = Scanner.getDevice();

//chama a interface
scanner.getScanGUI().setVisible(true);
scanner.getScanGUI().requestFocusInWindow();
//aqui pelo que intendi, chamaria a interface realmente, ou o metodo update.
//mas de qualquer jeito, nao chama no linux, no windows, o getDevice, recebe um driver do twain, e funciona
//mas no linux, recebe um driver SaneScanener, e o acquire nao chama nenhuma interface para escanear
scanner.acquire();
}[/code]

E meu metodo de update, que é chamado pelo metodo scanner.acquire() :

[code]public void update(Type type, ScannerIOMetadata metadata)
{
if(type.equals(ScannerIOMetadata.ACQUIRED))
{
//aqui tem as tranformacoes para bufferedimage das imagens vindas do scanner,
//mas nunca cai aqui no linux… mas funciona no twain
}else if(type.equals(ScannerIOMetadata.NEGOTIATE))
{
if(linux)
{
SaneDevice device = (SaneDevice) metadata.getDevice();
device.setShowUserInterface(true);
device.setShowProgressBar(true);
}else
{
ScannerDevice device = metadata.getDevice();
try
{
device.setShowUserInterface(true);
device.setShowProgressBar(true);
}
catch(Exception e)
{
e.printStackTrace();
}
}
}else if(type.equals(ScannerIOMetadata.STATECHANGE))
{
//metodos nao mto importantes, um deles seta a dpi na mão caso seja twain (windows) pega automatico
//se for linux botei pra setar como 200

  //outro metodo daqui, interage com o botao de escolher scanner.. nada importante para a chamada da interface
  //de escaneamento

}
}
[/code]

Meu problema é basicamente este:

No windows, o jar da interface Scanner reconhece que eh windows, e o Scanner.getDevice, pega o device do tipo TwainDevice (twain é para escaneamento windows)
E como ja foi configurado por outros programadores, funciona certinho para twain.

Quando é linux, o jar da interface Scanner deteca o Scanner.getDevice como SaneDevice… e o codigo do metodo Scan, que funciona no twain, nao da o mesmo efeito no sane.

O scan.acquire, que era pra chamar a tela grafica para scanear, nao chama nada,
simplismente como se não fizesse nada, o botão escanear.

Agradeço qualquer ajuda que me derem ! :smiley: