Java 如何关闭后窗
我有一个名为Java 如何关闭后窗,java,swing,jframe,jscrollpane,null-layout-manager,Java,Swing,Jframe,Jscrollpane,Null Layout Manager,我有一个名为Jtable的Java类。当我运行这个类时,它工作正常,但是如果我运行这个类10次,然后打开10个新窗口,我不希望这样,我希望如果我运行这个java类任意次数,它应该关闭以前的窗口 我的代码如下: import java.awt.FlowLayout; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.table.Defaul
Jtable
的Java类。当我运行这个类时,它工作正常,但是如果我运行这个类10次,然后打开10个新窗口,我不希望这样,我希望如果我运行这个java类任意次数,它应该关闭以前的窗口
我的代码如下:
import java.awt.FlowLayout;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
public class Jtable extends JFrame {
DefaultTableModel model;
JTable table;
String col[] = {"Name","Address","Phone","hi","","","","","",""};
public static void main(String args[]) {
new Jtable().start();
}
public void start() {
model = new DefaultTableModel(col,9);
table = new JTable(model) {
@Override
public boolean isCellEditable(int arg0, int arg1) {
return false;
}
};
JScrollPane pane = new JScrollPane(table);
pane.setBounds(50,100,700,400);
String s="hello";
table.setValueAt(s,0,1);
add(pane);
setVisible(true);
setSize(500,400);
setLayout(new FlowLayout());
setDefaultCloseOperation(EXIT_ON_CLOSE);
pane.setLayout(null);
}
}
将以下修改添加到代码中:
public class Jtable extends JFrame
{
//add object of Jtable as class variable
public static Jtable jtable = null;
...
}
public static void main(String args[])
{
//completely change the main method code
//checking whether is there any jtable object exists
if (jtable != null)
{
//if exist it will dispose it
jtable.dispose();
}
//creating a new jtable instance
jtable=new Jtable();
jtable.start();
}
试试这个
在你的项目中创建一个类。例如,称他为InstanceCounter:
class IntanceCounter{
public static int instanceCount = 0;
public static JFrame frame;
}
启动程序时,请使用
...
InstanceCounter.instanceCount++;
if(InstanceCounter.instanceCount>1)
InstanceCounter.frame.dispose();
InstanceCounter.frame = myJFrame;
...
那只是个想法 不同的实例会在同一个VM中创建吗?我认为这是另一个问题:[如何实现单实例Java应用程序][1]:不要称您为类Jtable。有一个Swing类
JTable
,太让人困惑了。wat说@user3377703i想在再次运行这个程序时关闭上一个jframe窗口,但不是这样