- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我从网上找到了以下关于 Java 中拖放支持的代码。我测试了代码。它工作正常。我正在使用 Netbeans。我发现即使我关闭了应用程序,该程序在 Netbeans 中仍然处于运行模式。
有人能解释一下吗?提前致谢。
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.Transferable;
import java.awt.dnd.*;
import java.io.InputStream;
import java.io.InputStreamReader;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextArea;
public class DropTest2 extends JFrame implements DropTargetListener {
DropTarget dt;
JTextArea ta;
public DropTest2() {
super("Drop Test");
setSize(300, 300);
// addWindowListener(new BasicWindowMonitor());
getContentPane().add(
new JLabel("Drop a list from your file chooser here:"),
BorderLayout.NORTH);
ta = new JTextArea();
ta.setBackground(Color.white);
getContentPane().add(ta, BorderLayout.CENTER);
// Set up our text area to recieve drops...
// This class will handle drop events
dt = new DropTarget(ta, this);
setVisible(true);
}
@Override
public void dragEnter(DropTargetDragEvent dtde) {
System.out.println("Drag Enter");
}
@Override
public void dragExit(DropTargetEvent dte) {
System.out.println("Drag Exit");
}
@Override
public void dragOver(DropTargetDragEvent dtde) {
System.out.println("Drag Over");
}
@Override
public void dropActionChanged(DropTargetDragEvent dtde) {
System.out.println("Drop Action Changed");
}
@Override
public void drop(DropTargetDropEvent dtde) {
try {
// Ok, get the dropped object and try to figure out what it is
Transferable tr = dtde.getTransferable();
DataFlavor[] flavors = tr.getTransferDataFlavors();
for (int i = 0; i < flavors.length; i++) {
System.out.println("Possible flavor: " + flavors[i].getMimeType());
// Check for file lists specifically
if (flavors[i].isFlavorJavaFileListType()) {
// Great! Accept copy drops...
dtde.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE);
ta.setText("Successful file list drop.\n\n");
// And add the list of file names to our text area
java.util.List list = (java.util.List) tr.getTransferData(flavors[i]);
for (int j = 0; j < list.size(); j++) {
ta.append(list.get(j) + "\n");
}
// If we made it this far, everything worked.
dtde.dropComplete(true);
return;
} // Ok, is it another Java object?
else if (flavors[i].isFlavorSerializedObjectType()) {
dtde.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE);
ta.setText("Successful text drop.\n\n");
Object o = tr.getTransferData(flavors[i]);
ta.append("Object: " + o);
dtde.dropComplete(true);
return;
} // How about an input stream?
else if (flavors[i].isRepresentationClassInputStream()) {
dtde.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE);
ta.setText("Successful text drop.\n\n");
ta.read(new InputStreamReader(
(InputStream) tr.getTransferData(flavors[i])),
"from system clipboard");
dtde.dropComplete(true);
return;
}
}
// Hmm, the user must not have dropped a file list
System.out.println("Drop failed: " + dtde);
dtde.rejectDrop();
} catch (Exception e) {
e.printStackTrace();
dtde.rejectDrop();
}
}
public static void main(String args[]) {
new DropTest2();
}
}
最佳答案
在构造函数中为您的JFrame设置this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
:DropTest2()
根据javadoc ,方法 setDefaultCloseOperation(int operation)
执行以下操作:
Sets the operation that will happen by default when the user initiates a "close" on this frame. You must specify one of the following choices:
- DO_NOTHING_ON_CLOSE (defined in WindowConstants): Don't do anything; require the program to handle the operation in the windowClosing method of a registered WindowListener object.
- HIDE_ON_CLOSE (defined in WindowConstants): Automatically hide the frame after invoking any registered WindowListener objects.
- DISPOSE_ON_CLOSE (defined in WindowConstants): Automatically hide and dispose the frame after invoking any registered WindowListener objects.
- EXIT_ON_CLOSE (defined in JFrame): Exit the application using the System exit method. Use this only in applications.
关于java - 即使关闭应用程序后,程序仍在 Netbeans 中运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12345399/
默认情况下,netbeans 将其设置存储在用户主目录下名为 .netbeans 的目录中。是否可以更改此目录的位置(尤其是在 Windows 下)? 感谢 James Schek,我现在知道了答案(
我每天都在使用 Netbeans IDE,突然我的“项目”和"file"选项卡消失了,我真的不知道该怎么办,我在谷歌上搜索过,但找不到任何合适且有效的解决方案来解决这个问题。 有人能帮助我吗? 如果您
我正在使用 Netbeans 来满足各种开发需求。但是安装大量插件会使 Netbeans 非常慢。是否可以为每个特定的开发需求(如 Eclipse)安装多个 Netbeans? 最佳答案 还有另一种方
只是一个简单的问题,我在哪里可以下载旧版本的 Netbeans? Netbeans 6.9.1 对 Java EE 开发人员来说尤为重要。 我看过他们的网站,但我只能找到 7.0.1 和 7.1 的下
我是新的 NetBeans 用户。当我加载我的项目时,一些文件被淡化了。当我将光标放在它们上时,它们显示为“忽略”。为什么?所有的 JAR 文件和类文件也会被忽略。 最佳答案 检查Tools->Opt
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 3年前关闭。 锁定。这个问题及其答案
任何人都知道是否可以在 netbeans 中搜索和替换所有打开的文件?如果有的话,似乎也找不到选项。 我正在使用 Netbeans 6.9 PHP IDE 最佳答案 CTRL+SHIFT+H 这将打开
是否可以将条目添加到由netbeans生成的jar的manifest.mf文件中? 例如构建一个osgi包。 最佳答案 请注意,您可以通过ant任务即时创建 list ,并动态设置属性。 首先,必须更
我最近开始使用 NetBeans,但缺少一个功能使我无法完全切换到 NetBeans。我一直使用终端,从 NetBeans 窗口切换到终端窗口很痛苦。 有没有办法将终端窗口嵌入到 NetBeans I
在netbeans中调试Java程序时,我希望调试器在导致NullPointerException的行上停止,以便可以在那里检查变量。我相信我必须在该行设置的断点上使用条件,但是条件的语法是什么? 谢
当我在JavaScript中使用PHP时,Netbeans 7.0将行突出显示为语法错误 就我而言 $(document).ready(function(){ $("#rating_comp
默认情况下,netbeans 中所有打开的文件都显示在水平选项卡中,就像浏览器一样。 我希望我的选项卡垂直列出,这可能吗? 最佳答案 工具 -> 选项 -> 外观 -> 选项卡位置 关于netbean
NetBeans 中是否有颜色选择器的快捷方式? 我在 NetBeans 网站上发现了同样的查询,据说这是可能的,但我找不到如何做到这一点的实际答案。 我的意思是:当我在 CSS 文件中编辑涉及颜色的
我刚刚开始使用 NetBeans,并正在尝试了解如何: 保存时删除尾随空格。我知道你可以手动调用它,但如果你忘记了,那就很烦人了。可以在保存时自动完成吗?我希望这样做是因为它可以保持代码整洁,因为当您
我正在开发一个 netbeans 应用程序,它的主要 TopComponent 包含一个渲染 Canvas : 当我关闭应用程序(不是顶级组件)时会生成一个错误,有时这会导致在应用程序关闭后运行一个进
有没有办法在 netbeans 中进行项目范围的搜索和替换?好像应该有,但是没找到相关信息。 谢谢 最佳答案 在编辑菜单下,您应该找到在项目中替换...的菜单项 关于netbeans - 搜索并替换整
如果是,怎么做? 最佳答案 在 Netbeans 6.9 for PHP 中,转到文件->项目属性。 在“类别”中,选择“运行配置”。有很多选项可以让您的整个项目在远程服务器上运行。 关于netbea
首先,我使用的是 NetBeans IDE 7.1(内部版本 201112071828)。 我有这段代码 onload = function() { tooltip.
/* * * This is a long comment. I broke it into lines, but that made it impossible to edit without
我在 netbeans 中有一个项目,其中有一个使用 jflex 生成的 java 扫描器。因此,当我通常使用 make 文件构建它时,我使用 -Xlint 选项,即 javac -Xlint jav
我是一名优秀的程序员,十分优秀!