| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 849 人关注过本帖
标题:[求助]求助 一道java习题
只看楼主 加入收藏
ft5032839
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2004-11-30
收藏
 问题点数:0 回复次数:6 
[求助]求助 一道java习题

题目要求: 在一个JComboBox选中其中的Rect,在面板内画个矩形,选中Circle 则画个圆.

以下是小弟写的程序:

import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.awt.geom.*; public class DrawCombo { public static void main(String[] args) { Drawframe frame=new Drawframe(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.show(); } } class Drawframe extends JFrame { Drawpanel s; private JComboBox drawCombo; public Drawframe() { setTitle("DrawFrame"); setSize(300,200); drawCombo=new JComboBox(); drawCombo.setEditable(false); drawCombo.addItem("Circle"); drawCombo.addItem("Rect"); drawCombo.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event) { String s2=(String)drawCombo.getSelectedItem(); if(s2=="Circle"){ s.drawf(Drawpanel.CIRCLE);} else if (s2=="Rect"){s.drawf(Drawpanel.SQUARE);} } }); Drawpanel panel=new Drawpanel(); Container contentPane=getContentPane(); JPanel comboPanel=new JPanel(); comboPanel.add(drawCombo); contentPane.add(panel); contentPane.add(comboPanel,BorderLayout.SOUTH); } }

class Drawpanel extends JPanel { public final static int CIRCLE = 1,SQUARE = 2; private int shape;

public void paintComponent(Graphics g) { super.paintComponent(g); Graphics2D f2=(Graphics2D)g; Rectangle2D rect=new Rectangle.Double(100,100,200,150); double x=rect.getCenterX(); double y=rect.getCenterY(); double r=50; Ellipse2D circle=new Ellipse2D.Double(); circle.setFrameFromCenter(x,y,x+r,y+r); if ( shape == CIRCLE) {f2.draw(circle);} else if (shape == SQUARE ) {f2.draw(rect);} } public void drawf (int shapeToDraw) { shape = shapeToDraw; repaint(); } } 不知道那里错了.请哪位大侠帮帮忙.

搜索更多相关主题的帖子: java 习题 
2004-12-20 16:17
freedxw
Rank: 1
等 级:新手上路
帖 子:86
专家分:0
注 册:2005-3-31
收藏
得分:0 
Drawpanel 的对象 s 未实例化;因此发生java.lang.NullPointerException异常。

天不知道,地知道, 你不知道,我知道!
2005-04-06 14:18
shanji
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2005-1-23
收藏
得分:0 
2005-04-06 15:01
林天笑
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2005-6-1
收藏
得分:0 
运行一下啊
偶还没那个功力看懂它

我是一个新手,向各位请教 QQ:274077173 Email:lintianxiao_3891@
2005-06-08 17:16
75297972
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2005-6-4
收藏
得分:0 
编译时没错
运行时
java.lang.ClassCastException
        at sun.applet.AppletPanel.createApplet(AppletPanel.java:617)
        at sun.applet.AppletPanel.runLoader(AppletPanel.java:546)
        at sun.applet.AppletPanel.run(AppletPanel.java:298)
        at java.lang.Thread.run(Thread.java:534)
是啥意思?

Fool as I am,I won\'t be taken in.
2005-06-09 13:25
tempnetbar
Rank: 2
等 级:新手上路
威 望:4
帖 子:582
专家分:4
注 册:2004-5-5
收藏
得分:0 
类型转换错误

相信勤能补拙! 喜欢用好用的就永远学不到有用的。
2005-06-09 17:06
au
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2005-6-9
收藏
得分:0 
把 Drawpanel s; 改为 Drawpanel s = new Drawpanel();  

编译运行没出问题,但画不出矩形或圆


2005-06-09 19:42
快速回复:[求助]求助 一道java习题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.058157 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved