Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我忘记停止gui程序并再次运行它。现在我可以';t在不杀死eclipse的情况下关闭第一个程序_Java_Eclipse - Fatal编程技术网

Java 我忘记停止gui程序并再次运行它。现在我可以';t在不杀死eclipse的情况下关闭第一个程序

Java 我忘记停止gui程序并再次运行它。现在我可以';t在不杀死eclipse的情况下关闭第一个程序,java,eclipse,Java,Eclipse,我正在开发一个简单的GUI应用程序,它只在画布上绘制一些图形。环境是Vista 64。当我运行程序时,窗口的“调整大小”和“最小化”按钮起作用,但“关闭”按钮不起作用。所以我必须在Eclipse中按下停止按钮来终止程序 但有时我忘记按stop,然后再次运行程序。第一个实例被卡住了,如果不关闭Eclipse,我就无法摆脱它。如果我粗心大意,最终可能会出现几个无法关闭的java窗口。有没有办法控制和关闭窗户?还有,为什么关闭按钮不起作用 在这种情况下,我怀疑《守则》的重要性,但这里是: import

我正在开发一个简单的GUI应用程序,它只在画布上绘制一些图形。环境是Vista 64。当我运行程序时,窗口的“调整大小”和“最小化”按钮起作用,但“关闭”按钮不起作用。所以我必须在Eclipse中按下停止按钮来终止程序

但有时我忘记按stop,然后再次运行程序。第一个实例被卡住了,如果不关闭Eclipse,我就无法摆脱它。如果我粗心大意,最终可能会出现几个无法关闭的java窗口。有没有办法控制和关闭窗户?还有,为什么关闭按钮不起作用

在这种情况下,我怀疑《守则》的重要性,但这里是:

import java.awt.*;

public class RobotFace extends Canvas{

/**
 * @param args
 */
public static void main(String[] args) {
    RobotFace c = new RobotFace();
    c.setBackground(Color.white);
    c.setSize(350, 350);

    Frame f = new Frame();
    f.add(c); 
    f.setLayout(new FlowLayout()); 
    f.setSize(350,350);
    f.setVisible(true);
}
public void paint(Graphics g){
    g.setColor(Color.black);
    int width = 150;
    int height = 200;
    g.drawRect((getWidth()-width)/2, (getHeight()-height)/2, width, height);
    g.setColor(Color.gray);
    g.fillRect((getWidth()-width)/2, (getHeight()-height)/2, width, height);
    g.setColor(Color.white);
    g.fillRect((getWidth()-80)/2, (getHeight()+50)/2, 80, 20);
    g.setColor(Color.yellow);
    g.fillOval((getWidth()-105)/2, (getHeight()-100)/2, 30, 30);
        g.fillOval((getWidth()+45)/2, (getHeight()-100)/2, 30, 30);
    }
}

您也可以使用eclips的控制台杀死它,当您在eclips中打开控制台视图时,会有一个红色按钮(右cornor)

打开控制台视图


窗口-->显示视图-->控制台使用这种方式可以关闭框架/窗口

//add window event adapter
f.addWindowListener(new MyWindowAdapter());


class MyWindowAdapter extends WindowAdapter{

   MyWindowAdapter(){
   }

   //implement windowClosing method
   public void windowClosing(WindowEvent e) {
      System.exit(0);
   }
}

第一个应用程序实例的Eclipse控制台应该仍然可用,只是不可见。在Console选项卡上,您可以单击看起来像蓝色小监视器的工具栏按钮在应用程序实例之间切换。要停止第一个应用程序实例,您可以使用蓝色的小监视器(称为“显示所选控制台”)选择该实例,然后单击“停止”按钮。

一个选项是更改程序的行为,使其在窗口关闭时实际退出(它不是Java中的默认行为或框架

javadoc指定它可以生成WindowClosing事件,您可以使用这些事件触发应用程序关闭(在其答案中使用@Pratik does类)


在我看来,一个更好的解决方案是用替换框架,并使用它的方法,这样当窗口关闭时,应用程序就可以退出了。JFrame的编写应该是awt.frame的替代品,但它是swing toolkit的一部分。

您可以在process explorer的帮助下终止java进程(在Windows上)“当我运行程序时,窗口的“调整大小”和“最小化”按钮起作用,但“关闭”按钮不起作用。”修复你的代码,而不是开发环境。在这个千年里,你为什么要编写AWT?@Andrew我不知道代码有问题,如果不告诉我出了什么问题,那是没有帮助的。我使用AWT是因为我遵循了一个使用它的教程。找到一个新的教程。我推荐。这正是我以前的做法寻找!