我正在使用Intelij构思平台。
我有以下代码:
package GUI.test;
import javax.swing.*;
public class Frame extends JFrame{
Frame(){}
public void main (String[] args){
new Frame();
}
}
我希望在编译这段代码后看到一个JFrame,但什么也没出现。可能是什么问题?
答案 0 :(得分:2)
您可能想要添加此
Frame()
{
setVisible(true);
setSize(100,100);
}
答案 1 :(得分:2)
默认情况下不显示框架 - 使用
setVisible(true);
方法以显示帧。 您还可以查看其他选项,例如
setSize(int width, int height);
调整帧大小的方法
setLocation(int xLoc, int yLoc);
移动框架,
setTitle(String title);
设置组件的标题。
除此之外,最好使用变量来保存组件,以便在需要时对其进行操作。
答案 2 :(得分: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();
}
}
答案 3 :(得分:0)
非常感谢您的回答。我写了一个没有细节的例子。我添加了:setVisible(true); 的setSize(100,100);
到类构造函数。但我还没有看过喷射形式。
不得不说一个功能。我没有在类Frame中运行方法main,我正在编译这个类Frame。在我之前使用java进行的练习中,我总是运行main方法,但是当我尝试使用GUI表单并使用swing库时,运行方法main的能力已经无法实现。
如果你没有意思,我会发一个截图。