奥运五环编程代码可复制_奥运五环程序代码python

五大洲(Five continents)指地球陆地分成的五大版块,即亚洲(Asia)、欧洲(Europe)、非洲(Africa)、美洲(America)和大洋洲(Oceania)。地理学又将美洲分为北美洲和南美洲,南极洲无人居住,故也可称为七大洲。所以又有五大洲的说法。如奥运五环的五环分别代表五大洲。五大洲中最大的是亚洲,第二大的是美洲,第三大的是非洲,第四大的是欧洲,最小的是大洋洲。

Exception?in?thread?"main"?ja.lang.IllegalArgumentException:?adding?a?window?to?a?container

at?ja.awt.Container.checkNotAWindow(Container.ja:431)

at?ja.awt.Container.addImpl(Container.ja:1039)

at?jax.swing.JLayeredPane.addImpl(JLayeredPane.ja:212)

at?ja.awt.Container.add(Container.ja:927)

at?jax.swing.JRootPane.setContentPane(JRootPane.ja:608)

at?jax.swing.JFrame.setContentPane(JFrame.ja:671)

at?DrawCircle.initialize(DrawCircle.ja:18)

at?DrawCircle.<init>(DrawCircle.ja:11)

at?DrawCircle.main(DrawCircle.ja:24)

你为什么会设置contentPane为一个JFrame呢?

import?ja.awt.Graphics;

import?jax.swing.JFrame;

import?jax.swing.JPanel;

public?class?DrawCircle?extends?JFrame?{

private?final?int OVAL_WIDTH =?80;

private?final?int OVAL_HEIGHT =?80;

public?DrawCircle()?{

super();

initialize();

}

private?void?initialize()?{

this.setSize(300,?200);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setContentPane(new?DrawPanel());

this.setTitle("奥运五环");

//?this.setVisible(true);

}

public?static?void?main(String[]?args)?{

new?DrawCircle().setVisible(true);

}

private?class?DrawPanel?extends?JPanel?{

public?void?paint(Graphics?g)?{

super.paint(g);

g.drawOval(10,?10,?OVAL_WIDTH,?OVAL_HEIGHT);

g.drawOval(80,?10,?OVAL_WIDTH,?OVAL_HEIGHT);

g.drawOval(150,?10,?OVAL_WIDTH,?OVAL_HEIGHT);

g.drawOval(50,?70,?OVAL_WIDTH,?OVAL_HEIGHT);

g.drawOval(120,?70,?OVAL_WIDTH,?OVAL_HEIGHT);

}

}

}

关于setContentPane()和getContentPane()的应用

------摘要:ja_流子 Fab.19 2006--------?

我们可以在 JFrame 对象中添加 AWT 或者 Swing 组件。但是,虽然它有 add 方法,却不能直接用于添加组件,否则会抛出异常——不信就试试。造成这个现象的原因只有一个解释:JFrame 不是一个容器,它只是一个框架。那么,应该怎么添加组件呢?

JFrame 有一个 Content Pane,窗口能显示的所有组件都是添加在这个 Content Pane 中。JFrame 提供了两个方法:getContentPane 和 setContentPane 就是用于获取和设置其 Content Pane 的。

对JFrame添加组件有两种方式:

1)用getContentPane()方法获得JFrame的内容面板,再对其加入组件:frame.getContentPane().add(childComponent)

2)建立一个Jpanel或JDesktopPane之类的中间容器,把组件添加到容器中,用setContentPane()方法把该容器置为JFrame的内容面板:

  JpanelcontentPane=newJpanel();

  ……//把其它组件添加到Jpanel中;

  frame.setContentPane(contentPane);

  //把contentPane对象设置成为frame的内容面板