| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1811 人关注过本帖
标题:[求助]java语言的布局管理器和组件位置Location方法的调用
取消只看楼主 加入收藏
热学男儿
Rank: 1
等 级:新手上路
帖 子:109
专家分:0
注 册:2007-4-28
收藏
 问题点数:0 回复次数:4 
[求助]java语言的布局管理器和组件位置Location方法的调用
我个人写了一个小程序,输出一串彩色字符,字符的三色对比数值要求接受键盘的输入,但是在程序中设置了布局管理器,彩色字符串就可以显示,但是字符串的位置设定却没有任何的效果,如果取消了布局管理器,彩色字符串根本就不会显示出来,每次运行程序时就只有一个空空的窗口,请高手知道小弟,怎样才能既让彩色字符串显示出来,有能随意控制字符串所在窗口中的位置。(注:我是用的标签组件设置的彩色字符串),下面是小弟的程序。
import java.io.*;
import java.awt.*;
import java.awt.event.*;
public class CaiZi{
public void CaiZi(int a,int b,int c){
Frame g=new Frame("彩色字框");
g.setBackground(new Color(40,255,60));
g.setForeground(new Color(a,b,c));
g.setLayout(new FlowLayout());
g.setSize(500,200);
Font f=new Font("楷体",Font.BOLD,40);
Label h=new Label("这是我的第一个GUI程序");
h.setLocation(20,100);
g.add(h);
h.setFont(f);
h.setVisible(true);
g.setVisible(true);
g.addWindowListener(new WindowAdapter()
{public void windowClosing(WindowEvent e)
{System.exit(0);}});
}
public static void main(String[] args){
BufferedReader br;
String str;
int[] data=new int[3];
System.out.println("请输入三色的配比数据");
for(int i=0;i<3;){
try{
br=new BufferedReader(new InputStreamReader(System.in));
str=br.readLine();
data[i]=Integer.parseInt(str);
if(data[i]<=255){i++;}
else{System.out.println("你输入的数据有误,请重新输入数据");}
continue;
}
catch(IOException e){System.out.println(e);}
}
CaiZi op=new CaiZi();
op.CaiZi(data[0],data[1],data[2]);
}
}


请各位高手们帮忙,这个问题困扰了小弟好多天了,小弟的好几个程序都有这个问题,有谁能帮我解决,小弟不胜感激。
搜索更多相关主题的帖子: Location java 管理器 组件 语言 
2007-04-28 22:33
热学男儿
Rank: 1
等 级:新手上路
帖 子:109
专家分:0
注 册:2007-4-28
收藏
得分:0 
加上返回类型也不行啊,楼上的大哥,教教小弟,具体该怎么做啊
2007-04-29 14:24
热学男儿
Rank: 1
等 级:新手上路
帖 子:109
专家分:0
注 册:2007-4-28
收藏
得分:0 
三楼的朋友,我就是说得那个问题啊,先设置了取消布局管理器的话,输出的只有一个空空的窗口了,彩色字符串根本就没有,或者说根本就没有添加的组件,我用其他的组件试过,窗口里同样不会有任何组件出现。
2007-04-29 14:29
热学男儿
Rank: 1
等 级:新手上路
帖 子:109
专家分:0
注 册:2007-4-28
收藏
得分:0 
楼上的朋友,希望你理解了我的意思在回答好吗,我的程序本来就没有错误,我只是想知道setLocation()方法到底该如何调用,不过还是感谢你的参与讨论

[此贴子已经被作者于2007-4-29 23:57:11编辑过]


2007-04-29 23:54
热学男儿
Rank: 1
等 级:新手上路
帖 子:109
专家分:0
注 册:2007-4-28
收藏
得分:0 
谢谢各位的帮助,我的问题解决了,当然我上面说的取消布局管理器就是this.setLayout(null)这样设置,我下面只调用了
setLocation()方法设置组件的位置,没有调用setSize()方法设置组件的大小,所以组件总是没办法显示出来,这次我彻底找到原因了,谢谢大家,还让我多知道的一些就是调用setBounds()方法更方便一些,因为这一个方法里面的四个参数就可以直接将组件的位置和大小设好,而调用setLocation()方法设置了组件后必须在调用setSize()方法设置组件的大小。
2007-04-30 19:22
快速回复:[求助]java语言的布局管理器和组件位置Location方法的调用
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020777 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved