gpt4 book ai didi

java - 在 Mac OS X 上使用 JTable 拖放

转载 作者:行者123 更新时间:2023-11-29 05:53:57 25 4
gpt4 key购买 nike

我对 mac 上的 DnD 和 JTable 有疑问。如果您启动以下程序并在表中单击(快速),有时会选择某些内容,有时会在一段时间后执行 DnD 应用程序崩溃或至少 DnD 不会可能了。我在 2 台 Mac 上对其进行了测试。

Java 版本:1.6.0_35Mac 操作系统:10.6.8

有人能证实吗?任何解决方法?

package tablednd;

import javax.swing.JFrame;
import javax.swing.JTable;
import javax.swing.SwingUtilities;

public class TableDnD {
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
Object[][] data = {
{"Mary", "Campione", "Snowboarding", new Integer(5), new Boolean(false)},
{"Alison", "Huml", "Rowing", new Integer(3), new Boolean(true)},
{"Kathy", "Walrath", "Chasing toddlers", new Integer(2), new Boolean(false)},
{"Mark", "Andrews", "Speed reading", new Integer(20), new Boolean(true)},
{"Angela", "Lih", "Teaching high school", new Integer(4), new Boolean(false)}
};

String[] columnNames = {"First Name", "Last Name", "Sport", "# of Years", "Vegetarian"};

final JTable table = new JTable(data, columnNames);
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
table.setDragEnabled(true);
frame.add(table);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
});
}
}

最佳答案

当将拖动的行放到表格的其他任何位置时,我(有时)会在 Mac OS X 10.5.8 时收到如下所示的错误。目标选择矩形保留在屏幕上,无法进行进一步的拖动操作。我不确定为什么,但我想单元格未被识别为一行的合适目的地。

2012-10-14 14:14:23.912 java[44061:10b] *** -[NSWindowViewAWT draggingEnded:]:    unrecognized selector sent to instance 0x1001e71402012-10-14 14:14:23.913 java[44061:10b] *** -[NSWindowViewAWT draggingEnded:]:    unrecognized selector sent to instance 0x1001e7140

Dropping the dragged row on another application works as expected.

As an aside, auto-boxing can simplify the initialization code:

Object[][] data = {
{"Mary", "Campione", "Snowboarding", 5, false},
{"Alison", "Huml", "Rowing", 3, true},
{"Kathy", "Walrath", "Chasing toddlers", 2, false},
{"Mark", "Andrews", "Speed reading", 20, true},
{"Angela", "Lih", "Teaching high school", 4, false}
};

附录:这张图片显示了正在进行的拖动;触发异常后,拖动框架时灰色矩形保持不动。

image

作为解决方法,有一个解决方案 disable the grey rectangle altogether .

关于java - 在 Mac OS X 上使用 JTable 拖放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12881600/

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