Tag: jframe contentpane

getComponentAt()没有找到组件?

我正在使用JFrame来设置一个纸牌游戏,使用扩展JLabel卡片,以便它们可以在屏幕上拖动。 但是,我的要求之一就是我可以双击一张卡片,它可以快速连接到4个A盘。 这不是问题。 造成问题的原因是我把它设置在一个数组中,这样aces会到达与ace的套装相对应的位置,然后如果卡被拖到那里我会重新排列。 如果双击,则A必须转到第一个点(从左侧)到第二个点,依此类推。 我曾计划使用getComponentAt()找出第一个位置的内容,如果我可以将ace放在那里,如果没有,那么我继续前进到第二个,依此类推。 但是出于某种原因,即使我将参数硬编码到getComponentAt()中我知道有一个组件,它仍然返回null。 这是我的代码的相关部分: Container contentPane = getContentPane(); contentPane.setLayout(null); … for(int i = 0; i < 4; i++) { aces[i] = new Card(); aces[i].setBounds((i * 75) + 475, 25, 75, 100); contentPane.add(aces[i]); aces[i].setBorder(BorderFactory.createLineBorder(Color.BLACK, 3)); aces[i].setSuit(i + 1); } System.out.println(contentPane.getComponentAt(475, 25)); 每次都返回null ,无论我在组件的哪个位置放置坐标。 有什么解释吗? *更新的SSCCE:这是主要类,单人纸牌: import java.util.*; import javax.swing.*; import java.awt.*; public […]