1
ஜாவாவில் ஒரு இமேஜை டிராக் மற்றும் டிராப் செய்வது எப்படி?




ஜாவாவில் இயக்க நேரத்தில் ஒரு இமேஜை டிராக் மற்றும் டிராப் செய்யலாம்.அது எவ்வாறு என இந்த கட்டுரையில் காண இருக்கின்றோம்.
முதலில் ஜாவாவில் மூன்று லேபள்கள் உருவாக்குகின்றோம்.
அதன் setIcon மெத்தட் மூலம் அந்த இமேஜை அதற்கு பொருத்துகின்றோம்.

பிறகு m1 என்கின்ற மவுஸ்லிசனர் உருவாக்குகின்றோம். அதன் mousePressed ஈவண்டில் பின் வருன் நிரல் வரிகளை இணைக்கின்றோம்.



public void mousePressed(MouseEvent e) {
            
                JComponent jc = (JComponent)e.getSource();
                TransferHandler th = jc.getTransferHandler();
                th.exportAsDrag(jc, e, TransferHandler.COPY);
            }

பிறகு மூன்று லேபள்களுக்கும் m1 என்பதை mouseListener ஆக மதிப்பிருத்துகின்றோம்.
pic1.addMouseListener(ml);
        pic2.addMouseListener(ml);
        pic3.addMouseListener(ml);

பிறகு setTransferHandler பொருத்த பின் வரும் வரிகளை எழுதுகின்றோம்.

pic1.setTransferHandler(new TransferHandler("icon"));
        pic2.setTransferHandler(new TransferHandler("icon"));
        pic3.setTransferHandler(new TransferHandler("icon"));

இப்பொழுது அதன் பிறகு setLayout, setSize போன்ற வழக்கமான வரிகளை இணைக்கின்றோம்.

setLayout(null);
        setSize(500,500);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);
இப்பொழுது நிரலை இயக்கினால் பின் வரும் வெளியீட்டில் ஒரு லேபளில் உள்ள  இமேஜை  உள்ள லேபளுக்கு டிராக் செய்து டிராப் செய்து கொள்ளலாம்.
முழு நிரல்

package javadb_001;
import javax.swing.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;


public class Lab extends JFrame {
    JLabel pic1,pic2,pic3;
    public Lab(){
        super("Drag and Drop Images");
        pic1 = new JLabel();
        pic2 = new JLabel();
        pic3 = new JLabel();
        pic1.setBounds(20, 30, 100, 100);
        pic2.setBounds(250, 30, 100, 100);
        pic3.setBounds(20, 140, 100, 100);
        pic1.setIcon(new ImageIcon("C:\Users\samsng\Desktop\j.png"));
        pic2.setIcon(new ImageIcon("C:\Users\samsng\Desktop\j2.gif"));
       
        MouseListener ml = new MouseListener() {

            @Override
            public void mouseClicked(MouseEvent e) {}

            @Override
            public void mousePressed(MouseEvent e) {
           
                JComponent jc = (JComponent)e.getSource();
                TransferHandler th = jc.getTransferHandler();
                th.exportAsDrag(jc, e, TransferHandler.COPY);
            }

            @Override
            public void mouseReleased(MouseEvent e) {}

            @Override
            public void mouseEntered(MouseEvent e) {}

            @Override
            public void mouseExited(MouseEvent e) {}
        };
     &

Leave a comment