JFrame 获取不到子容器?

dahu1128 2011-02-25 06:12:18
ASFrame asf=new ASFrame("MyFrame");
asf.setBackground(Color.CYAN);
asf.setLayout(null);
asf.setBounds(250, 150, 1000, 600);
asf.setDefaultCloseOperation(EXIT_ON_CLOSE);
JPanel panel=new JPanel();
panel.setName("MyPanel");
panel.setBounds(0, 0, 1000, 580);
panel.setLayout(null);
panel.setBackground(new Color(64,98,123));
asf.add(panel);
asf.setVisible(true);

System.out.println(asf.getComponents()[0].getName());

按说应该要答应出 MyPanel 这个字符串出来的,但是却没有。求解释!!
我往panel里面加入label什么的确可以取出来
...全文
73 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuhongpingimu 2011-02-25
  • 打赏
  • 举报
回复
不要搞GUI了,oracle都说了,不管这块了。
Inhibitory 2011-02-25
  • 打赏
  • 举报
回复
看完下面这个程序的输出你就明白为什么没有了,*^_^*
import java.awt.Container;

import javax.swing.JButton;
import javax.swing.JFrame;

public class Test {
public static void main(String[] args) {
JFrame frame = new JFrame();

JButton button = new JButton("Button");
frame.getContentPane().add(button);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(200, 200);
frame.setLocationRelativeTo(null);
frame.setVisible(true);

for (Container parent = button; parent != null; parent = parent.getParent()) {
System.out.println(parent.getClass().getName());
}
}
}

输出:
javax.swing.JButton
javax.swing.JPanel
javax.swing.JLayeredPane
javax.swing.JRootPane
javax.swing.JFrame

62,612

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧