Tag: draggable

DragTabFrame关闭不一致

下面的代码应该像您在FF,IE或Chrome等浏览器中看到的多文档界面(MDI)一样工作。 它在选项卡式窗格中显示“文档”(黑色缓冲图像作为间隔符),以便可以通过用户选择将它们从窗格拖动到新(或现有)窗口中。 但是,一旦它们没有更多选项卡,就会出现关闭框架的问题,以及当没有更多可见窗口时关闭框架。 我想我通过DragTabManager的Timer检查来修复它们: 它检查DragTabFrame实例的打开帧 如果找到一个,则检查选项卡计数。 如果为0,则框架设置为不可见并处置。 如果没有找到可见的框架实例,它将结束Timer以允许JRE退出。 至少这是它应该如何工作。 它似乎在这里可靠地工作,并且我看到没有’空框架或VM无法关闭’进行了不少测试。 它是否像其他人一样宣传,还是需要进一步观察? import java.awt.*; import java.awt.event.*; import java.awt.image.BufferedImage; import javax.swing.*; import javax.swing.border.EmptyBorder; public class DragTabFrame extends JFrame { private JTabbedPane tabbedPane = new JTabbedPane(); private final static DragTabManager dragTabManager = new DragTabManager(); final MouseAdapter ma = new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { JComponent […]

如何使用ImageIcon制作可拖动的组件

我正在尝试为国际象棋游戏构建用户界面。 我使用了填充JLabel的GridBagLayout ,棋子是JLabel的 ImageIcons 。 现在我想通过在板上拖动它来移动它们。 有没有办法用ImageIcons做到这一点? 或者有更好的方法来解决问题吗? 编辑:这是一个示例代码。 你可以注意到你可以移动iconImage,但它不会用鼠标“拖动”。 import java.awt.BorderLayout; import java.awt.Color; import java.awt.Component; import java.awt.Container; import java.awt.Dimension; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.util.HashMap; import javax.swing.Icon; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; public class MainDebug extends JFrame implements MouseListener { private JPanel BoardPanel; […]