[英]How to create a graph window in java
我正在使用此代碼
private void botaoGrafADMouseClicked(java.awt.event.MouseEvent evt) {
try {
boolean[] b=new boolean[8];
if (Caixa9.isSelected()) b[0]=true; else b[0]=false;
if (Caixa11.isSelected()) b[1]=true; else b[1]=false;
if (Caixa10.isSelected()) b[2]=true; else b[2]=false;
if (Caixa12.isSelected()) b[3]=true; else b[3]=false;
b[4]=false;b[5]=false;b[6]=false;b[7]=false;
final LineChartDemo1 demo = new LineChartDemo1("Leitura A/D",b,"outad.txt",4);
demo.pack();
RefineryUtilities.centerFrameOnScreen(demo);
demo.setVisible(true);
} catch (IOException ex) {
Logger.getLogger(Comunicacao.class.getName()).log(Level.SEVERE, null, ex);
}
}
調用圖形界面。 但是,當我這樣做時,每次調用圖形時,它都會在新窗口中生成,如果我關閉這些窗口,整個程序就會關閉。 我想知道我做錯了什么。 我怎么能避免這種情況(我會發布一個版畫屏幕,但是,作為新用戶,我不能,它是在http://i.stack.imgur.com/4JLxQ.png我認為
編輯:圖片
JFrame具有EXIT_ON_CLOSE的默認關閉操作(即,當您使用窗口管理器關閉窗口時會發生什么)。 使用JFrame.setDefaultCloseOperation設置不同的值。
我不知道LineChartDemo1
是什么類,但您可以將其設置為JDialog
的內容並在每個對話框上調用setDefaultCloseOperation (JDialog.DISPOSE_ON_CLOSE)
。 這樣,當用戶關閉對話框時,只有該窗口關閉,其他窗口將保持打開狀態。
我創建了一個新的netbeans JFrame,並像這樣引用它:
InterfaceGrafico minhaInterface = new InterfaceGrafico("Leitura I/O",b,"outio.txt",8);
其中參數的位置相同,以生成圖形。 在這個“InterfaceGrafico”類中:
public InterfaceGrafico(final String title,boolean[] b, String nomeArquivo, int col) {
try {
initComponents();
final LineChartDemo1 demo = new LineChartDemo1("Leitura I/O", b, "outio.txt", 8);
demo.pack();
RefineryUtilities.centerFrameOnScreen(demo);
demo.setVisible(true);
} catch (IOException ex) {
Logger.getLogger(InterfaceGrafico.class.getName()).log(Level.SEVERE, null, ex);
}
}
這意味着,我只是將代碼轉移到另一個JFrame。 我還評論了public void run方法。 現在我可以關閉生成的每個圖形而不關閉整個應用程序和其他生成的圖形。 在“LineChart1”類中,我添加了這個
public void windowClosing(final WindowEvent evt){
if(evt.getWindow() == this){
dispose();
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.