Java应用程序与花哨的拖放

bab*_*oso 1 java swing drag-and-drop awt

是否有任何框架或工具来开发一个花哨的Java应用程序 - 一个具有良好拖放功能的用户界面?

例如,来自Mac OS的这个:http: //appzapper.com/

在此输入图像描述

它不需要具有Mac OS外观.

And*_*son 6

请参阅教程中的DnD简介,以开发一些有效的代码.


请看第一篇文章的屏幕截图,看看有什么好的规格.

唯一的自定义部分是向下箭头的虚线边框,以及它下面的文本.您可以使用JLabel带有HTML格式的图标(用于箭头/边框)来实现该功能.

例如

标签中带有HTML格式文本的图标

package test.t100.t006;

import javax.swing.Icon;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.SwingConstants;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;

public class DrawLabel {

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable(){
            public void run() {
                // substitute for downward pointing arrow with dashed border
                Object obj = UIManager.getDefaults()
                        .get("OptionPane.warningIcon");
                if (obj!=null && obj instanceof Icon) {
                    Icon icon = (Icon)obj;
                    String text = "<html><body>Drag <em><b>Stuff</b></em> Here";
                    JLabel l = new JLabel(
                            text, icon, SwingConstants.HORIZONTAL);
                    l.setVerticalTextPosition(SwingConstants.BOTTOM);
                    l.setHorizontalTextPosition(SwingConstants.CENTER);
                    JOptionPane.showMessageDialog(
                            null, l);
                }
            }
        });
    }
}
Run Code Online (Sandbox Code Playgroud)