Gente uso o netbeans e o ireport, consigo xamar o relatorio dentro do meu aplicativo tranquilamente abro ele normal, mas pra mim fexar akele formulario que abre com o relatorio preciso clicar no X, se eu apertar ESC, o formulario ireport n fexa, como mexo nisso com certeza vcs ja passaro por isso! obrigado pela atencao!
Coloca um listener para quando a tecla ESC for apertada o formulário seja fechado.
Obrigado por sua atencao, eu tentei implementar um KeyListener mas nao consegui fexar o relatorio nao por esse metodo! poderia me da uma exmplo ?
Achei esse código na internet, não é o que você precisa, mas já dá uma idéia…
public class ExampleClass extends JPanel
{
public class MainKeyHandler implements KeyListener
{
public void keyPressed(KeyEvent event)
{
int keyCode = event.getKeyCode();
System.out.println("any key was pressed");
if(keyCode == event.VK_TAB)
System.out.println("Tab Pressed");
}
}
}
Danilo como eu disse ja tentei implementar o KeyListener na minha classe que faco conexao com o ireport mas ele n captura que apertei o esc ja debugai parece que o keylistener n funciona junto com a classe ireport, tentei por em keyreleased keypressed e keyTyped mas em nenhum dos metodos ele entro na condicao do VK_ESCAPE
Posta ai o teu codigo pra gente ver como voce esta fazendo.
Geralmente os pessoal abre o relatorio em um JDialog, ou seja pega o JRViewer e coloca ele dentro de um JDialog, entao neste Dialog tu implementa o keylistener.
no actionperfomed do botao que xamo ele faco isso
new br.com.estudo.reports.rep_C();
public class rep_C implements KeyListener {
DaoJasper con = new DaoJasper();
public rep_C() {
try {
Connection con = new DaoJasper().getConnection();
HashMap parametros = new HashMap();
JasperPrint jasperPrint = JasperFillManager.fillReport(
"caminho", parametros, con);
JasperViewer.viewReport(jasperPrint, false);
} catch (Exception erro) {
erro.printStackTrace();
}
}
public static void main(String[] args) {
new rep_C();
}
public void keyTyped(KeyEvent e) {
switch (e.getKeyCode()) {
case KeyEvent.VK_ESCAPE:
try {
System.out.println("escape");
} catch (Throwable ex) {
ex.printStackTrace();
}
break;
}
}
Humm tu ta usando o proprio dialog do Jasper.
Pq eu tenho um exemplo aqui onde coloco o JRViewer dentro de um JDialog.
e n tem como fexar pelo esc pelo dialog do ireport? e poderia me mostrar como xamo por um dialog separado?