向下打開一個新的JFrame
(balanceFrame
或valueFrame
)我的代碼的底部,當用戶右鍵單擊該菜單選項時,打開一個新框架並顯示其中一個框架。防止多個JFrame窗口打開
然而,關閉新balanceFrame
或valueFrame
彈出,並打開了另一balance
/valueFrame
,二打通後。關閉這兩個並打開另一個後,三個打開。有關如何阻止此事的任何想法?看起來像我的程序記住變量'值'的過去值並打開多個窗口。
table.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
System.out.println("Pressed");
}
public void mouseReleased(MouseEvent e) {
if (e.isPopupTrigger()) {
JTable source = (JTable)e.getSource();
int row = source.rowAtPoint(e.getPoint());
int column = source.columnAtPoint(e.getPoint());
String value = table.getModel().getValueAt(row, column).toString();
if (! source.isRowSelected(row))
source.changeSelection(row, column, false, false);
popup.show(e.getComponent(), e.getX(), e.getY());
menuItemBalanceSheet.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
balanceFrame = new BalanceFrame("BalanceSheet", value);
} catch (Exception e1) {
e1.printStackTrace();
}
balanceFrame.setSize(1200, 600);
balanceFrame.setVisible(true);
balanceFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
}
});
menuItemCompanyValue.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
valueFrame = new ValueFrame("Company Value", value);
} catch (Exception e1) {
e1.printStackTrace();
}
valueFrame.setSize(1200, 600);
valueFrame.setVisible(true);
valueFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
value.
}
});
}
}
});
}
}
爲什麼try-catch在此處使用,請問您能解釋一下嗎? –
1)爲了更快地獲得更好的幫助,請發佈[MCVE]或[簡短,獨立,正確的示例](http://www.sscce.org/)。 2)不確定這裏是否有關,但請參閱[使用多個JFrames,好/壞實踐?](http://stackoverflow.com/q/9554636/418556) –
@Rakibul islam不知道eclipse也告訴我。 – Zack