假设我们在JPanel中有两个JTextArea,我希望用户能够在一个选择中使用鼠标选择跨越这两个JTextArea的文本,是否可以在Swing中使用?
问候
到目前为止我尝试过:
我尝试将mouselistener添加到这些JTextArea,当mouseEnter时,我在TextArea中选择文本,并以实用方式突出显示文本.这既困难又容易出错,我想也许有更好的方法
编辑:
感谢所有的答案和建议.根据答案,我实施了一个基本的解决方案,并将其作为其他人参考的答案.:)
Dojo似乎没有解析在自定义小部件的模板html文件中声明性地创建的小部件.
但是当我在dojo配置完成的主页中声明性地创建它时,它可以工作
这是代码片段:
主页:
<html>
<head>
<script type="text/javascript">
var dojoConfig = {
parseOnLoad: true,
isDebug: true,
modulePaths : {"com.cgb":"../../../client/vtm/com/cgb"}
};
</script>
<script type="text/javascript" src="../common/dojo/dojo/dojo.js"></script>
<script type="text/javascript">
dojo.require("dojo.parser");
dojo.require("com.cgb.modules.deposit.step1_agreement");
dojo.require("dojox.mobile.ScrollableView");
</script>
</head>
<body>
<div data-dojo-type="com.cgb.modules.deposit.step1_agreement"></div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
自定义小部件:
dojo.provide("com.cgb.modules.deposit.step1_agreement");
dojo.require("dojo.cache");
dojo.require("dijit._Widget");
dojo.require("dijit._Templated");
dojo.require("dojox.mobile.ScrollableView");
dojo.declare("com.cgb.modules.deposit.step1_agreement", [dijit._Widget, dijit._Templated], {
templateString: dojo.cache("com.cgb.modules.deposit", "templates/step1_agreement.html"),
postCreate:function(){
console.log("widget get instantiated");
}
});
Run Code Online (Sandbox Code Playgroud)
自定义小部件的模板html:
<div>
<!--this widget didn't get parsed -->
<div id="view1" dojoType="dojox.mobile.ScrollableView" height="50px">
blah blahblah blah<br/>blah blahblah blah<br/>blah blahblah blah<br/>
blah blahblah blah<br/>blah blahblah blah<br/>blah blahblah …Run Code Online (Sandbox Code Playgroud) 以下代码的目的是像堆栈一样实现LIFO容器,而在检索元素时,它将检查列表中是否存在任何现有元素,或者它是否保留在检索元素的线程上,直到有新元素为止元素被插入.
public class Stack {
LinkedList list = new LinkedList();
public synchronized void push(Object x) {
synchronized (list) {
list.addLast(x);
notify();
}
}
public synchronized Object pop() throws Exception {
synchronized (list) {
if (list.size() <= 0) {
wait();
}
return list.removeLast();
}
}
Run Code Online (Sandbox Code Playgroud)
}
但是每当调用pop()时List中没有元素,就会发生死锁.如何在避免数据死锁的同时修改此类以实现初始目的.谢谢