gpt4 book ai didi

Java TransferHandler 与 Jbuttons 更新 Jbutton 文本

转载 作者:行者123 更新时间:2023-12-01 11:14:58 25 4
gpt4 key购买 nike

我的问题是如何知道拖放位置的文本是什么。这是当前的工作代码。

     gameCell.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e){
JButton button = (JButton)e.getSource();

int currentNumber = Integer.parseInt(button.getText());

TransferHandler handle = button.getTransferHandler();
handle.exportAsDrag(button, e, TransferHandler.COPY);

所以我们的想法是有一个游戏板,它只是一堆单元格(都是 JButton),一个大 table 。当我将一个单元格拖动到另一个单元格时,拖动的单元格的值将成为单击的单元格的值,因此如何在 JButton 单元格被拖动的单元格复制之前知道它的原始值。

最佳答案

如果您只是尝试将文本从一个按钮“复制”到另一个按钮,则可以使用如下代码:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class DragIcon extends JPanel
{
public DragIcon()
{
TransferHandler iconHandler = new TransferHandler( "icon" );
MouseListener dragListener = new DragMouseAdapter();

JLabel label1 = new JLabel("Label1");
label1.setTransferHandler( iconHandler );
label1.addMouseListener(dragListener);
label1.setIcon( new ImageIcon("copy16.gif") );

JLabel label2 = new JLabel("Label2");
label2.setTransferHandler( iconHandler );
label2.addMouseListener(dragListener);

add( label1 );
add( label2 );
}

private class DragMouseAdapter extends MouseAdapter
{
public void mousePressed(MouseEvent e)
{
JComponent c = (JComponent)e.getSource();
TransferHandler handler = c.getTransferHandler();
handler.exportAsDrag(c, e, TransferHandler.COPY);
// handler.exportAsDrag(c, e, TransferHandler.MOVE);
}
}

private static void createAndShowGUI()
{
JFrame frame = new JFrame("Drag Icon");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(new DragIcon());
frame.setLocationByPlatform( true );
frame.setSize(200, 100);
frame.setVisible( true );
}

public static void main(String[] args)
{
EventQueue.invokeLater(new Runnable()
{
public void run()
{
createAndShowGUI();
}
});
}
}

默认的TransferHandler允许您指定要复制的属性。在我的示例中,我正在复制图标。在您的情况下,您将使用:

TransferHandler iconHandler = new TransferHandler( "text" );

复制文本。

请注意,在我的示例中,我还尝试将图标从一个标签“移动”到另一个标签,但它不起作用。我不确定需要更改哪些内容才能移动属性(property)。

关于Java TransferHandler 与 Jbuttons 更新 Jbutton 文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31945747/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com