向下打开一个新的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