当前位置: 代码迷 >> Java相关 >> 关于面板的创建
  详细解决方案

关于面板的创建

热度:249   发布时间:2007-11-03 20:54:59.0
关于面板的创建

import java.awt.*;
import java.awt.event.*;
public class Myframe{
public static void main(String [] args){
Frame f=new Frame("mybole");
f.setSize(600,400);
f.setLocation(100,100);
f.setBackground(Color.blue);
f.setLayout(new BorderLayout(100,100));
f.setLayout(new FlowLayout(FlowLayout.LEFT));
f.setLayout(new GridLayout(1,2,100,100));
Button btn1=new Button("yes!");
f.add(btn1,"North");
Button btn2=new Button("No!");
f.add(btn2,"East");
btn1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
((Button)e.getSource()).setLabel("hehe!");
}
});
//f.addWindowListener(new yourwindowlistener());
f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
f.setVisible(true);


}


}
这是视频教程上的一段程序,我查了下类java.awt包的Frame类好象没有setLayout的方法,好象只有javax.swing包的JFrame类才有这个方法?为什么编译的时候没报错??(视频教程比较早,好象用的是jdk1.4)。还有就是想问下创建一个窗口的时候什么时候用Frame,什么时候用JFrame.

搜索更多相关的解决方案: 面板  

----------------解决方案--------------------------------------------------------
因为Frame的是从 以下几个类继承下去的
java.lang.Object
java.awt.Component
java.awt.Container <---而这一个窗口类是有一个方法setLayout的,所以其继承的子类都有setLayout呢一个方法.
java.awt.Window
java.awt.Frame

至于你说的JFrame类,是swing的作为java图形类的轻量级图形组件.也是从 以下的类继承下来的.只是把AWT重新包装一下,使其更易用.我个人见解.呵呵.
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent

----------------解决方案--------------------------------------------------------

多谢!


----------------解决方案--------------------------------------------------------
  相关解决方案