[求助]界面怎么会这个样子?????
import java.awt.*;class MyFrame extends Frame
{
Button button;
MyFrame(String s)
{
super(s);
button=new Button("确定");
button.setSize(20,30);
add(button);
setVisible(true);
setSize(300,400);
}
}
public class Example
{
public static void main(String args[])
{
new MyFrame("窗口");
}
}
运行结果 按钮为什么这么大 代码有问题吗
搜索更多相关的解决方案:
界面
----------------解决方案--------------------------------------------------------
[IMG]C:\Documents and Settings\wei\桌面\未命名[/IMG]
----------------解决方案--------------------------------------------------------
运行结果 按钮占据了整个窗体??
图片上传不了
----------------解决方案--------------------------------------------------------
Java更新的很快, swing 在取代 awt. 比如 Frame 被 JFrame 替代等等。
面对如此快的更新速度,你会发现,市面上的书都很不合时宜。
你的代码确实有问题,最关键的问题是,界面关不掉。那个Button 的大小,是一个布局的问题。
程序修改如下:
import java.awt.*;
import java.awt.event.*;
import java.awt.BorderLayout;
class MyFrame extends Frame
{
Button button;
MyFrame(String s)
{
super(s);
button=new Button("确定");
button.setSize(20,30);
setLayout(new BorderLayout());
add(button, BorderLayout.NORTH);
setSize(300,400);
}
}
public class Example
{
public static void main(String args[])
{
MyFrame myFrame = new MyFrame("窗口");
// Allow user to close the window to terminate the program
myFrame.addWindowListener
(new WindowAdapter()
{
public void windowClosing (WindowEvent e)
{
System.exit (0);
}
}
);
myFrame.setVisible(true);
}
}
----------------解决方案--------------------------------------------------------
谢谢楼上的 我就是发帖的 借的同学的号
----------------解决方案--------------------------------------------------------
用java中的Frame建立的对象添加按钮很正常 为什么继承Frame 的类建立的对象添加按钮的时候会这样
你说的布局 结果按钮很长
----------------解决方案--------------------------------------------------------
如果你要设置按钮的尺寸, 可以用 setPreferedSize(...);
----------------解决方案--------------------------------------------------------
这个跟JAVA发展速度扯不上关系吧………………
JFrame和Frame的默认布局是GridLayout,Panel和JPanel的默认布局是FlowLayout,你可以先添加一个面板,然后在面板上添加按钮以解决这个问题
----------------解决方案--------------------------------------------------------
飘飘叶子, [QUOTE] 这个跟JAVA发展速度扯不上关系吧……………… [/QUOTE] 怎么扯不上关系呢?你不觉得楼主的代码很老气吗?因为他基本用的是awt 代码。但是你知道,现在大家都是用JFC/SWING 来写GUI了,当然awt 还会时而用到。你去看一下Sun的Tutorial,那里有介绍如何用JFC/SWING 来写GUI的,但是没有AWT的介绍了。 当然早期的书,都是awt 写的代码,还有早期的老师学的也是AWT,所以他们现在用老观念来教新学生,是不是有点落伍了? 有时候去书店,去看Java的书,发现新书不多,那些旧书真的已经不适合了,这就是学Java语言的尴尬之处,JavaApi更新地很快,当我们还在用1.4 的时候,1.5很快出来了,听说1.6都出来了,不过我在Sun的主页,只看到1.6的日文版。很多Api都被告知不要使用,要用其它替代的Api。是不是变化很快啊? [QUOTE] JFrame和Frame的默认布局是GridLayout [/QUOTE] 这个观点有误, 他们的默认布局是BorderLayout,不信,你可以看看JDoc 的说明,我给你两个连接: http://java.sun.com/j2se/1.5.0/docs/api/index http://java.sun.com/j2se/1.5.0/docs/api/index Panel和JPanel 的默认布局的确是FlowLayout,这一点你说对了。
----------------解决方案--------------------------------------------------------
变化是很快……但学起来都是从基础开始啊,就像学JAVA一般都是从C开始,AWT只是为以后SWING打基础,当然也可以直接开始学JAVA,只是会更累一点一样道理
关于JFrame的布局是我记错了,8好意思……
----------------解决方案--------------------------------------------------------