黑马程序员技术交流社区
标题:
用了一个标签,怎么会没有效果,什么原因?
[打印本页]
作者:
张 涛
时间:
2012-9-9 11:18
标题:
用了一个标签,怎么会没有效果,什么原因?
本帖最后由 张 涛 于 2012-9-23 07:25 编辑
代码如下:
import java.awt.Color;
import java.awt.Frame;
import java.awt.Label;
import java.awt.TextField;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class GuiTest extends Frame{
//构造方法
GuiTest(String str){
super(str);
}
//main方法中可以实现并使用该类对象。
public static void main(String[] args) {
//new出窗口,并指定标题
GuiTest gt = new GuiTest("注册表");
//设置位置和大小
gt.setBounds(100, 100, 300, 400);
//设置布局方式为null,实现自定义
gt.setLayout(null);
//定义label,并添加
Label label1 = new Label("姓名:");
label1.setLocation(20, 20);
gt.add(label1);
//设置可见
gt.setVisible(true);
}
}
复制代码
为何运行只有frame,frame里面没有标签,为什么呢?
作者:
商秀川
时间:
2012-9-9 12:01
未设置Layout时,java默认为flowLayout布局的,最后一个添加的组件会居中而且原设置位置和原设置大小都无效。
所以要在实例化Frame之后设置setLayout。
你需要设置一下布局
gt.setLayout(new FlowLayout());//设置为流式布局管理
作者:
张 涛
时间:
2012-9-9 18:28
商秀川 发表于 2012-9-9 12:01
未设置Layout时,java默认为flowLayout布局的,最后一个添加的组件会居中而且原设置位置和原设置大小都无效 ...
我设置了setLayout(null),只不过设置的是null,想自己布置布局。
作者:
孙沛
时间:
2012-9-9 19:25
稍等哈哈!!
作者:
孙沛
时间:
2012-9-9 19:39
import java.awt.Color;
import java.awt.Frame;
import java.awt.*;
import java.awt.Label;
import java.awt.TextField;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class GuiTest extends Frame{
GuiTest(String str){
super(str);
}
public static void main(String[] args) {
GuiTest gt = new GuiTest("ll");
gt.setBounds(100, 100, 300, 400);
gt.setLayout(new FlowLayout());
Label label1 = new Label("kk");
label1.setLocation(20, 20);
gt.add(label1);
gt.setVisible(true);
}
}
你试下这个,setLayout是需要设置布局形式的,没有布局形式,标签是无法显示的,因为他不知道以哪种形式显示出来。至于你说的自定义布局,你的写个布局的类,然后传进去才可以显示标签的
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2