import java.awt.*;
import javax.swing.*;
public class D extends JApplet {public void init() {
Container c=getContentPane();
FlowLayout flow=new FlowLayout();
flow.setAlignment(FlowLayout.LEFT);
flow.setHgap(20);
flow.setVgap(40);
c.setLayout(flow);
c.add(new Button("OK"));//去掉c.变成add(new Button("OK"))为什么在小程序里就没有按钮了?
for(int i=1;i<=12;i++)
{
c.add(new Button("i am "+i));
}
setBackground(Color.BLUE);
setVisible(true);
}
}
实际上JApplet是swing中的,而Button是awt中的,两者有点区别。getContentPane()是从javax.swing.RootPaneContainer中来的
里面的文档里有说:
This interface serves as a er for Swing GUI builders that need to treat components like JFrame, that contain a single JRootPane, specially. For example in a GUI builder, dropping a component on a RootPaneContainer would be interpreted as frame.getContentPane().add(child).
import javax.swing.*;
public class D extends JApplet {public void init() {
Container c=getContentPane();
FlowLayout flow=new FlowLayout();
flow.setAlignment(FlowLayout.LEFT);
flow.setHgap(20);
flow.setVgap(40);
c.setLayout(flow);
add(new Button("OK"));
for(int i=1;i<=12;i++)
{
c.add(new Button("i am "+i));
}
setBackground(Color.BLUE);
setVisible(true);
}
}
为什么这个程序的窗口中没有按钮?
以下是我写的html页面,可以看到全部的Button。所以程序中所有C.有没有都无所谓的。
<html>
<head>
<title>test</title>
</head>
<body>
<applet code="D.class" width="600" height="600">
</applet>
</body>
</html>