请高手过目。swing

[复制链接]
查看11 | 回复2 | 2008-5-27 05:10:39 | 显示全部楼层 |阅读模式
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.geom.*;
public class aframe{
public static void main(String args[]){
new a().setTitle("Pane");}}
class a extends JFrame{
a(){
setBounds(0,0,400,400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
b p=new b();
add(p);
setVisible(true);
setResizable(false);}}

class b extends JPanel{
public void paintCOmponent(Graphics g){
super.paintComponent(g);
setBackground(Color.GREEN);
Graphics2D g1=(Graphics2D) g;
Rectangle2D r=new Rectangle2D.Double(100,100,200,150);
g1.setPaint(Color.RED);
g1.fill(r);
Ellipse2D e=new Ellipse2D.Double();
e.setFrame(r);
g1.setPaint(new Color(10,255,123));
g1.fill(e);}}
窗口中怎么显示不出来矩形??谢谢了!

回复

使用道具 举报

千问 | 2008-5-27 05:10:39 | 显示全部楼层
把paintCOmponent改成paintComponent就行了,注意字母O要小写,否则不算你重载。我试过了,没问题。
回复

使用道具 举报

千问 | 2008-5-27 05:10:39 | 显示全部楼层
setBounds(0,0,400,400);这里写错了,好久不搞SWING了,你自己用布局管理器画
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行