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 ! 