Olá pessoal, tudo bem? sou novato em java, proém me deram uma missão quase impossível para mim e gostaria de uma ajudinha de vocês..
Tenho um sistema que gera gráficos desenvolvido em Oracle Forms.. porém utilizo um componente been para gerar os gráficos.
O sistema está funcionando quase que 100%. Quando eu clico no botão "Gerar Gráfico", é chamado uma classe java a seguir que gera o gráfico em uma janela(frame) separado da janela principal do sistema.
public class PJC_FrameChart extends JFrame {
public PJC_FrameChart() {
super();
}
public void set_LayoutBean(GridLayout gridLayout) {
this.getContentPane().setLayout( gridLayout );
}
public void set_RemoveGrafico(TChart chart) {
chart.removeAllSeries();
this.remove(chart);
}
public void set_RemoveAllGraph(TChart charts[]) {
if (charts.length > 0) {
for (int i = 0;i <= charts.length-1; i++){
charts[i].removeAllSeries();
}
}
this.removeAll();
this.setVisible(false);
}
public void add_DataToGraph(TChart chart) {
this.getContentPane().add(chart, null);
this.setVisible(true);
this.setTitle("Exibição de gráficos");
this.setExtendedState( MAXIMIZED_BOTH );
// this.requestFocus();
}
}
Essa clásse é uma extensão do Jframe como vcs podem ver.. o que acontece é o seguinte..
Quando eu clico em "Gerar Gráfico" é criado uma nova janela com o gráfico. De tempo em tempo esse gráfico é atualizado, fechando a janela (set_RemoveAllGraph) e abrindo de novo (add_DataToGraph). COmo vcs podem ver, dentro de cada um deles tem um this.setVisible(false) e um this.setVisible(true) que é o que faz com que a janela do gráfico feche a abra novamente com as informações atualizadas.
Bom, isso funciona perfeitamente quando eu tenho apenas 1 monitor. Quando eu utilizo o recurso do Windows "extender a área de trabalho do Windows", no caso eu tenho 2 placas de vídeo, e quero que esse gráfico seja exibido em um monitor diferente, eu gero o gráfico e arrasto a janela dele para o outro monitor.. só que quando esse gráfico é atualizado, ele volta para o monitor principal, pois a janela é fechada e criada novamente. Preciso fazer com que essa janela do gráfico fique no monitor que ele foi arrastado. Uma solução seria, ao invez de ficar fechando a janela e abrindo ela para atualizar, utilizar a mesma janela para a atualização dos gráficos, mas não sei como fazer isso. Se alguém tiver alguma idéia de como fazer isso eu agradeço.
Muito obrigado,
Renato Ricci
Analista Desenvolvedor