小编Avr*_*rom的帖子

如何在Java中找到给定类的所有子类?

如何在Java中尝试查找给定类(或给定接口的所有实现者)的所有子类?截至目前,我有一种方法可以做到这一点,但我觉得效率很低(至少可以说).方法是:

  1. 获取类路径上存在的所有类名的列表
  2. 加载每个类并测试它是否是所需类或接口的子类或实现者

在Eclipse中,有一个很好的功能叫做类型层次结构,可以非常有效地显示它.如何以编程方式进行操作?

java interface class subclass

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

Java 1.6中Java Swing App中的绘画问题

我正在研究一个Swing应用程序(目前运行在Java 1.6更新11上),它有一些间歇性的绘制刷新问题(例如有工件等).这只发生在我们应用程序的某些用户而不是其他用户.

之后做一些研究,我发现,设置属性sun.java2d.d3d,以false可以帮助而事实上,它帮助我们的用户之一.

现在其他一些用户正在抱怨这个问题,我正在考虑false为所有用户设置属性.

我的基本问题如下:

究竟是什么原因造成的?是视频卡吗?是司机吗?这是Sun的错误吗?(例如http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6635462)三者的组合?

换句话说,最好是简单地关闭此属性,还是仅影响某些更新到最新驱动程序的视频卡?

java swing paint

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

从 SQL Server 全文搜索中排除撇号

我想知道如何在全文搜索中从索引中排除撇号。

例如,如果有人输入“o'brien”或“obrien”的搜索词,我希望它匹配某人的名字与“O'Brien”或“OBrien”匹配的所有情况。

但是,如果我搜索:

select * from MyTable where contains (fullName, '"o''Brien*"')
Run Code Online (Sandbox Code Playgroud)

它只返回带有撇号的那些。但如果我这样做:

select * from MyTable where contains (fullName, '"oBrien*"')
Run Code Online (Sandbox Code Playgroud)

它只返回没有撇号的那些。

简而言之,我想知道 FTS 是否可以将“O'Brien”和“OBrien”都索引为“obrien”,以便我可以找到两者。

而解决方案:

select * from MyTable where contains (fullName, '"oBrien*" OR "o''Brien*"')
Run Code Online (Sandbox Code Playgroud)

会起作用,但是,如果用户输入“obrien”,我无法做出这个假设。

我正在寻找适用于 SQL Server 2005 和 2008 的解决方案。

sql-server full-text-search

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

JavaFX中HTML编辑的选项

我希望将基于Swing的应用程序中使用的HTML编辑器替换为基于JavaFX的HTML编辑器.

据我所知,有两种可能的选择:1)使用JavaFX HTML编辑器.虽然这是相当不错的功能,它确实有,但它仍然缺乏一些其他功能(如插入图像,插入一个表格,处理图像或表格等).我还希望包括其他功能,如拼写检查和支持自定义标签的功能.2)使用JavaFX WebView组件并使用嵌入式编辑器,如TinyMCE.

那么什么是最好的选择呢?有没有人增强了JavaFX HTML编辑器?第二种选择是否有任何"陷阱"?我应该考虑第三种选择吗?

java swing tinymce html-editor javafx-2

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

在JFrame处于最大化状态时查找JFrame的恢复边界

当JFrame处于最大化状态时,该getBounds方法返回与其当前状态匹配的边界.我需要的是"恢复边界"(即,如果用户在Windows平台上单击"恢复"),窗口将被设置的大小/位置,而不实际将其设置为非最大化状态.

我问的原因是因为我希望将边界保存为首选项,然后当用户重新打开应用程序时,将窗口设置为保存的边界(如果是最后一个状态,则将其最大化).

我考虑在窗口最大化时添加一个监听器,但在我看来,监听器最大化得到通知,我需要它最大化之前得到通知.

java swing

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

如何表明表中的列是可排序的(UI设计问题)?

在我正在处理的应用程序中,有表格数据(对于记录,它是使用的Java Swing应用程序JTables).在某些情况下,可以通过单击列标题对数据进行排序.我想知道的是,如果给定列是否可排序,向用户指示的好方法是什么?

我想出了以下可能性.

1)在每个可排序列中放置一个图标,表示它是可排序的.我个人不喜欢这个选项.

2)当鼠标悬停在标题上以指示它是可排序的时,将鼠标光标更改为其他内容.

3)将鼠标悬停在列上并说它可以排序时,在工具提示文本中添加注释.

有没有人有任何其他建议?

更新:

我认为澄清是有道理的.我的问题不是如何表明给定列当前已排序.这已经通过上/下排序三角模式实现.我想给用户一个线索,告诉他们在点击标题之前可以对哪些列进行排序以对其进行排序.

更新2:我想我应该解释为什么我没有完全卖掉选项#1.在我看来,如果要设置一个图标来指示哪些列可以排序,那么这将增加视觉混乱.在这种情况下,有时UI会在"鼠标悬停"上发生变化.例证:Windows Vista和7允许用户在列上添加过滤器,但只有用鼠标悬停在标题上时才会显示此指示符.

java swing jtable ui-design gui-design

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