问题列表 - 第26446页

在TextArea,Java中使用Document Listener时出现java.lang.IllegalStateException

DocumentListener dl = new MessageDocumentListener();
((AbstractDocument) nboxArea.getDocument()).setDocumentFilter(new DocumentFilter() {
    public void insertString(FilterBypass fb, int offset, String string, AttributeSet attr) throws BadLocationException {
        string = string.replaceAll("\t", "");
        super.insertString(fb, offset, string,(javax.swing.text.AttributeSet) attr);
    }

    public void replace(FilterBypass fb, int offset, int length, String text, AttributeSet attrs) throws BadLocationException {
        text = text.replaceAll("\t", "");
        //TODO must do something here
        super.replace(fb, offset, length, text,(javax.swing.text.AttributeSet) attrs);
    }
});

JTextArea evArea = (JTextArea) c;
evArea.getDocument().removeDocumentListener(dl);
evArea.setText(originalMessage);
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我在textarea中设置文本期间发现以下错误.我不知道该如何解决.

Exception in thread "AWT-EventQueue-0" 
java.lang.IllegalStateException: Attempt to mutate in notification …
Run Code Online (Sandbox Code Playgroud)

java swing listener

9
推荐指数
1
解决办法
1万
查看次数

要更改复选框文本还是不要更改?

我正在与同事争吵,我试图说服他根据复选框状态更改复选框文本(标签)是个坏主意.

例如,我们有一个组合框,当选中它旁边的复选框时自动选择所选值(并被禁用),并在复选框被清除时启用.他的想法是在选中复选框时显示自动选择,在清除时显示手动选择.我确信这会让用户感到困惑,因为用户倾向于认为检查动词旁边的复选框会使其成立,只会发现标签已更改为其他内容.

你对这件事有什么看法?

PS我记得读过有关在某个地方,书籍或博客文章中更改复选框文本,但不记得在哪里.写这篇文章会很棒:-)

usability

7
推荐指数
1
解决办法
492
查看次数

如何在不传递变量的情况下获取当前异常?

我正在寻找一种方法来检索当前的异常,而不必将其作为变量传递.

假设以下代码

public void MakeItFail()
{
    try
    {
        throw new FailException();
    }
    catch // Yes I'm aware that this shouldn't be done, but I don't want to go through all the code base and change it
    {
        ShowMessage("An error occured");
    }
}

public void ShowMessage(string message)
{
    // How can I retrieve the exception here
}
Run Code Online (Sandbox Code Playgroud)

在监视窗口中,我可以使用$ exception来获取当前异常.是否有相同的代码?

c# exception-handling

10
推荐指数
2
解决办法
6482
查看次数

检测浏览器功能和鼠标和触摸的选择性事件

我现在开始使用触摸事件一段时间了,但我偶然发现了一个很大的问题.到目前为止,我检查了是否支持触摸功能,并根据它来应用选择性事件.像这样:

if(document.ontouchmove === undefined){
    //apply mouse events
}else{
    //apply touch events
}
Run Code Online (Sandbox Code Playgroud)

但是,我的脚本在我的计算机上停止使用Chrome5(目前是测试版).我研究了一下,如我所料,在Chrome5(相对于旧的浏览器,火狐,IE等)document.ontouchmove不再undefined,但null.

起初我想提交一个错误报告,但后来我意识到:有些设备同时具有鼠标和触摸功能,所以这可能很自然,也许Chrome现在定义它,因为我的操作系统可能支持这两种类型的事件.

所以解决方案看起来很简单:应用BOTH事件类型.对?

那么问题现在发生在移动设备上.为了向后兼容并支持仅使用鼠标事件的脚本,移动浏览器也可能尝试触发它们(触摸时).因此,设置鼠标和触摸事件后,每次都可以调用某个处理程序两次.

有什么方法可以解决这个问题?是否有更好的方法来检查和应用选择性事件,或者我是否必须忽略浏览器有时同时触发触摸和鼠标事件时可能出现的问题?

javascript browser mouse events touch

5
推荐指数
1
解决办法
3828
查看次数

在mapkit中搏动蓝色圆圈和点 - iPhone SDK

如何在我的gps应用程序中添加"Pulsating blue circle".目前我正在通过CCLocationManager获取当前位置.

我正在使用mapView.showsUserLocation = True,但这只在我当前位置显示一个引脚.

如何在默认地图应用中获得"蓝色圆圈".

更新:许多应用程序都这样做.例如 - Realtor.com

谢谢

iphone

4
推荐指数
1
解决办法
1640
查看次数

如何在SQL Server中创建一个接受数据列的函数?

我在本周早些时候在SQL Server 2008中创建了以下函数,该函数接受两个参数并使用它们来选择"详细"记录列,并将它们作为逗号分隔值的单个varchar列表返回.现在我开始思考它,我想采用这个表和特定于应用程序的函数,并使其更通用.

我不是很精通定义SQL函数,因为这是我的第一个.如何更改此功能以接受单个"列"数据,以便我可以更通用的方式使用它?

而不是打电话:

SELECT ejc_concatFormDetails(formuid, categoryName)
Run Code Online (Sandbox Code Playgroud)

我想让它的工作方式如下:

SELECT concatColumnValues(SELECT someColumn FROM SomeTable)
Run Code Online (Sandbox Code Playgroud)

这是我的函数定义:

FUNCTION [DNet].[ejc_concatFormDetails](@formuid AS int, @category as VARCHAR(75))
RETURNS VARCHAR(1000) AS
BEGIN
 DECLARE @returnData VARCHAR(1000)
 DECLARE @currentData VARCHAR(75)
 DECLARE dataCursor CURSOR FAST_FORWARD FOR
  SELECT data FROM DNet.ejc_FormDetails WHERE formuid = @formuid AND category = @category

 SET @returnData = ''

 OPEN dataCursor

 FETCH NEXT FROM dataCursor INTO @currentData
 WHILE (@@FETCH_STATUS = 0)
 BEGIN
  SET @returnData = @returnData + ', ' + @currentData
  FETCH NEXT FROM dataCursor INTO …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server cursor user-defined-functions

2
推荐指数
1
解决办法
6135
查看次数

NSIS安装程序名称

是否可以设置编译安装程序时生成的nsis安装程序文件?

就像是:

makensis /ExeFile:myInstall-v4.1.2.3.exe install.nsi
Run Code Online (Sandbox Code Playgroud)

那会很敏锐.

installer nsis

7
推荐指数
1
解决办法
1552
查看次数

为什么<th>和<thead>的边界都没有显示在这里?

为什么两个边界都不显示?

http://jsfiddle.net/r8mA7/

<table>
<thead style="border-top:10px solid red; background:yellow">
    <tr><th style="border-top:10px solid green">Name</th></tr>
</thead>
<tbody>
    <tr><td>Bob</td></tr>
    <tr><td>Tom</td></tr>
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

css

10
推荐指数
1
解决办法
4万
查看次数

愿FileInputStream.available愚蠢吗?

这个FileInputStream.available()javadoc说:

返回可以从此输入流中读取(或跳过)的剩余字节数的估计值,而不会被下一次调用此输入流的方法阻塞.下一次调用可能是同一个线程或另一个线程.单个读取或跳过这么多字节不会阻塞,但可以读取或跳过更少的字节.

在某些情况下,非阻塞读取(或跳过)可能在其速度很慢时似乎被阻止,例如在通过慢速网络读取大型文件时.

我不确定在这张支票中是否:

if (new FileInputStream(xmlFile).available() == 0)
Run Code Online (Sandbox Code Playgroud)

我可以依赖那些空文件总是返回零吗?

-

谢谢@SB,他没有完全回答这个问题,但却是第一个给出最佳选择的人:

如果xmlFile是java.io.File对象,则可以使用length()方法获取其大小.

java file-io

6
推荐指数
1
解决办法
5612
查看次数

查找使用UITapGestureRecognizer时点击了哪个子视图

使用UIGestureRecognizers时,如何知道事件发生在哪个子视图上?

根据文件:

手势识别器根据对特定视图和所有视图的子视图进行经过测试的触摸进行操作.

据我所知,'view'属性是

手势识别器附加到的视图.

这将是父视图.

objective-c ipad

67
推荐指数
1
解决办法
3万
查看次数