private void Button_OnMouseEntry(Button obj) { var windowFrame = Core.content.Load <Texture2D>("UI/frame_opaque"); var btn = obj as ItemIconButton; btn.entryTable = new Table(); btn.entryTable.setFillParent(false); var detailTable = createItemDeatil(btn); btn.entryTable.addElement(detailTable); btn.entryTable.setSize(detailTable.preferredWidth < 200 ? 200 : detailTable.preferredWidth, detailTable.preferredHeight < 200 ? 200 : detailTable.preferredHeight); var back = new SubtextureDrawable(new Nez.Textures.Subtexture(windowFrame)); back.setPadding(0, btn.entryTable.preferredWidth, 0, btn.entryTable.preferredHeight); btn.entryTable.setBackground(back); var x = detailScrollPane.getX() + btn.getX() + btn.getWidth(); var y = detailScrollPane.getY() + btn.getY() - detailScrollPane.getScrollY(); Rectangle rectangle = new Rectangle((int)(itemsTable.getX() + allContain.getX() + x), (int)(itemsTable.getY() + allContain.getY() + y), (int)btn.entryTable.getWidth(), (int)btn.entryTable.getHeight()); if (rectangle.Bottom > Screen.height) { y = detailScrollPane.getY() + btn.getY() + btn.getHeight() - btn.entryTable.getHeight() - detailScrollPane.getScrollY(); } if (rectangle.Right > Screen.width) { x = detailScrollPane.getX() + btn.getX() - btn.entryTable.getWidth(); } itemsTable.addElement(btn.entryTable).setPosition(x, y); }