栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

为什么repaint()之后不会显示正方形?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

为什么repaint()之后不会显示正方形?

一个主要问题:Squares JPanels的首选大小仅为20 x
20,实际上可能是该大小,因为它似乎已添加到使用FlowLayout的容器中。接下来,您似乎在远远超出此组件范围的位置进行绘制,因此可能永远看不到这些图形。考虑允许Squares对象更大,并确保仅在此组件的边界内绘制。

注意,还有一些没有意义的代码,包括:

private int myID;private JTextField row, column, instru draft saved // ???package question2;ction1, instruction2, seatLabel, rowLabel; // ???

我猜是

private int myID;private JTextField row, column, instruction1, instruction2, seatLabel, rowLabel;

这不会为我们编译:

int rows = AircraftSeatReservation.getRows();int seatsInRow = AircraftSeatReservation.getSeatsInRow(); // and shouldn't this take an int row parameter?

因为我们没有您的AircraftSeatReservation类(希望您在该类中确实没有静态方法)。

而且我们无法编译或运行您的当前代码。我们不希望看到您的整个程序,而是您应该将代码压缩为仍可编译的最小位,没有与您的问题无关的多余代码,但仍然可以演示您的问题。因此,如安德鲁·汤普森(Andrew
Thompson)所建议,为了获得更好的帮助,请创建并发布您的“
最小,完整且可验证”示例或“
简短,自包含,正确的示例”。


我将尝试尽可能地OOP化您的问题,以便您分而治之。这可能涉及:

  • 创建一个
    SeatClass
    枚举,其中一个可能包含两个元素:FIRST和COACH。
  • 创建一个非GUI Seat类,其中包含多个字段,可能包括:int行,char座位(例如A,B,C,D,E,F),SeatClass字段,以查看它是头等舱座位还是教练,以及一个布尔值保留字段,仅当保留座位时才为true。
  • 此类还将具有getId()方法,该方法返回行号和位子char的String串联。
  • 创建一个非GUI Airplane类,其中一个类包含两个席位数组,一个用于SeatClass.FIRST或头等舱座位,一个用于SeatClass.COACH。
  • 它还将具有一个行数字段和一个座位数(列数)字段。
  • 创建所有这些之后,然后在您的GUI类上工作。
  • 我将为Seats创建一个GUI类,也许是GuiSeat,使其包含一个Seat对象,或者使其扩展JPanel,使其显示从包含的Seat对象获取的自己的id字符串,对其进行覆盖
    getBackground(...)
    以使其具有颜色将取决于座位是否预留。
  • 等等.....


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/515693.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号