Я написал программу, используя Drag and Drop в Java, мне нужно немного обновлений в этом.Кто-нибудь может мне помочь? - PullRequest
0 голосов
/ 22 августа 2011
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class scjp extends TransferHandler
{
JTextField txtField;
JRadioButton lbl=new JRadioButton("Hello");
public static void main(String[] args)
{
scjp sdd = new scjp();
transfer th=new transfer(); 

}

public scjp()
{

MouseListener ml = new MouseAdapter()
{
public void mousePressed(MouseEvent e)
{
JComponent jc = (JComponent)e.getSource();
TransferHandler th = jc.getTransferHandler();
th.exportAsDrag(jc, e, TransferHandler.COPY);
}   
};
MouseMotionListener m2=new MouseAdapter()
{
public void mouseDragged(MouseEvent e)
{

}
};
JFrame frame = new JFrame("SCJP");
txtField = new JTextField(20);
lbl.setTransferHandler(new TransferHandler("text"));
lbl.addMouseListener(ml);
lbl.addMouseMotionListener(m2);
JPanel panel = new JPanel();
panel.add(txtField);
frame.add(lbl, BorderLayout.CENTER);
frame.add(panel, BorderLayout.NORTH);
frame.setSize(400, 400);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EX…
frame.setResizable(false);
} 
}

здесь я перетаскиваю радио и перетаскиваю его в текстовое поле, при перетаскивании радио кнопки мой указатель мыши выглядит как (прямоугольник и знак плюс под стрелкой).сделать:

когда я выбираю / тащу радио в это время вместо того прямоугольника и знака плюс, я хочу эту строку, которая имеет радио ??я хочу сказать строку / текст переключателя, которую я хочу, как с помощью курсора мыши, чтобы я уронил этот компонент / радио в текстовое поле ..?пожалуйста, помогите мне разобраться с этой проблемой как можно скорее, пожалуйста.

1 Ответ

0 голосов
/ 22 августа 2011

Первый взгляд здесь - здесь объясняется, как изменить курсор при выполнении перетаскивания n drop. Как только вы поймете эту концепцию, вам нужно будет написать метод, который создает изображение текста в памяти из переключателя, о котором идет речь. Это изображение можно использовать при заполнении курсора.

Псевдокод:

img = //in-memory image created by writing text of radio button to graphics.
Cursor curCircle = Toolkit.getDefaultToolkit().createCustomCursor(img,new Point(5,5),"some text");

Установите новый курсор в dragEnter - и затем позаботьтесь о dragExit для восстановления исходного курсора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...