You need to enable JavaScript to run this app. Java AWT下如何将Choice选中值转整数传入fillOval方法参数
优惠活动
大模型
产品
解决方案
定价
更多

Java AWT下如何将Choice选中值转整数传入fillOval方法参数

AWT Applet 椭圆绘制传参错误修正

现有代码的核心问题

  • 括号位置错位导致方法参数不匹配:fillOval 方法要求传入4个固定参数:椭圆起点X坐标、起点Y坐标、椭圆宽度、椭圆高度。原有代码错误把宽度、高度的计算逻辑嵌套到了Integer.parseInt的参数内部,既没有给fillOval传够参数,也触发了语法编译错误。
  • 对Integer.parseInt的方法签名使用错误:Integer.parseInt(String) 是单参数方法,仅接收需要转换的数字字符串,返回对应十进制整数;带两个参数的重载方法parseInt(String, int radix) 第二个参数是指定转换的进制(如10代表十进制),不能用来接收第二个需要转换的字符串值。

修正后可运行的代码逻辑

public void mousePressed(MouseEvent e){
    Graphics stift = getGraphics();
    // 提前将下拉框选中的字符串值转换为整数尺寸
    int ovalSize = Integer.parseInt(freeSize.getSelectedItem());
    // 按fillOval的参数要求完整传入坐标、宽度、高度
    stift.fillOval(e.getX(), e.getY(), ovalSize, ovalSize);
}

实际使用注意事项

  • 上述实现中因为画笔尺寸是统一值,所以椭圆的宽度和高度都使用转换后的选中值,绘制出等轴的正圆形效果;如果后续需要实现宽高不等的椭圆,分别获取对应值转换后传入宽、高位置即可。
  • 建议增加基础健壮性校验:确保freeSize 下拉框的所有选项都是合法的正整数字符串,避免运行时抛出数字格式异常导致Applet崩溃。

内容的提问来源于stack exchange,提问作者Steven Vetter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.08 03:45:04