1

我正在使用 Intelij 创意平台。

我有以下代码:

package GUI.test;

import javax.swing.*;

public class Frame extends JFrame{

         Frame(){}

public void main (String[] args){

    new Frame();
}

}

我希望在编译这段代码后看到一个 JFrame,但什么也没出现。会是什么问题?

4

4 回答 4

2

默认情况下,框架是不可见的——使用

setVisible(true);

方法来显示帧。您可能还想看看其他选项,例如

setSize(int width, int height);

调整框架大小的方法,

setLocation(int xLoc, int yLoc);

移动框架,以及

setTitle(String title);

设置组件的标题。

此外,使用变量来保存组件是一种很好的做法,以便在需要时可以对其进行操作。

于 2013-08-12T19:32:43.847 回答
2

你可能想添加这个

Frame()
  {
    setVisible(true);
    setSize(100,100);
  }
于 2013-08-12T19:17:24.743 回答
1
package GUI.test;

import javax.swing.*;

public class Frame extends JFrame{
private myFrame;

public Frame()
{
 myFrame = new JFrame("put a title here");   //title not necessary but it's there if you want it
 myFrame.setSize(400,400); // sets the window size
 myFrame.setVisible(true); // toggles the frame to be visible inside the window
 myFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); // this will terminate the VM once the *last* JFrame is closed, so you can have multiple frames open and just close one
}

public void main (String[] args){

    new Frame();
}

}
于 2013-08-12T19:37:32.273 回答
0

非常感谢您的回答。我写了一个没有细节的例子。我添加了:setVisible(true); 设置大小(100,100);

到类构造函数。但我还没有见过喷气式飞机。

不得不说一个特点。我没有在 Frame 类中运行 main 方法,而是在编译这个类 Frame。在我之前的 java 练习中,我总是运行 main 方法,但是当我尝试使用 GUI 表单并使用 swing 库时,运行方法 main 的能力已经消失。

如果你还没有咳嗽我的意思,我会发送截图。

于 2013-08-13T10:19:14.503 回答