几年前有一个类似的问题: 我可以将代码方式导入Netbeans吗?
我想知道sutiation是否已经改变了?
我没有找到将代码样式设置(带有代码样式设置的单独XML文件)导入NetBeans IDE的方法.NetBeans设置导入/导出功能似乎忽略了代码样式设置.
我想要做的是用我自己的HTML内容替换网页HTML内容的一些部分(当前正在WebView引擎中加载).
作为一个简单的例子 - 我想将每个加载的页面主体的背景颜色替换为RED.意思是我需要用我自己的值添加或替换现有的body bgcolor属性.我该怎么做才能实现这一目标?
以下是基于JavaFX WebView组件的基本浏览器代码:
public class BrowserTest extends Application
{
public static void main ( String[] args )
{
launch ( args );
}
public void start ( Stage stage )
{
stage.setTitle ( "WebView" );
Browser browser = new Browser ();
browser.load ( "http://google.com" );
Scene scene = new Scene ( browser );
stage.setScene ( scene );
stage.show ();
}
public class Browser extends Region
{
final WebView browser;
final WebEngine webEngine;
public Browser ()
{ …Run Code Online (Sandbox Code Playgroud) 在滚动时,有一些关于JScrollPane中类似故障的主题:
但他们缺乏SSCCE和案件的一些解释,所以我将添加缺少的东西.
首先,这是一个在纯Swing上编写的小例子,没有使用第三方代码:
public class ScrollGlitchExample extends JFrame
{
public ScrollGlitchExample () throws HeadlessException
{
super ();
final JPanel top = new JPanel ();
top.setPreferredSize ( new Dimension ( 300, 50 ) );
top.setBorder ( BorderFactory.createLineBorder ( Color.BLACK ) );
add ( top, BorderLayout.NORTH );
final JPanel panel = new JPanel ( new GridLayout ( 500, 1 ) );
for ( int i = 0; i < 500; i++ )
{
panel.add ( new JButton ( …Run Code Online (Sandbox Code Playgroud) 我制作了很多不同的 Swing 应用程序,它们的加载时间通常在几秒到几分钟之间变化,具体取决于应用程序 UI/数据大小。此外,在某些情况下,应用程序数据加载与 UI 加载混合。
几秒钟的加载时间不是问题,但是当它超过 10 秒时 - 很明显应该显示某种加载屏幕,直到 UI/数据完全初始化。
您通常会做什么 - 首先创建某种加载屏幕(例如,带有徽标的窗口和一些在应用程序加载时正在更新的标签),然后从应用程序中的各种加载“点”更新它。
问题是 - 应用程序通常在排队进入 EDT 的单个调用中加载,并且很难将其分成对 EDT 的多次调用而不会使应用程序的代码复杂化。因此,由于应用程序加载是在排队到 EDT 的单个调用中执行的,因此您根本无法正确更新加载屏幕 - 由于 EDT 忙于加载应用程序,因此在应用程序初始化之前不会显示更新。
因此,为了在某些情况下实现加载屏幕,我已将应用程序 UI 初始化移到 EDT 之外,并将它们设计为在执行加载时不会执行任何 UI 更新内容。应用程序的框架显示和所有应用程序 UI 操作仍将在 EDT 中执行。这通常不太好,但经过大量测试和查看 Swing 代码后,我确信即使在大型应用程序中它也不会导致任何问题。尽管如此,即使它不会引起任何问题,这通常也不是一件好事。
所以问题是:在 EDT 中保持应用程序初始化的同时,可以使用哪些方法来正确显示和更新应用程序加载屏幕?
希望它不是太宽泛。
这是一个展示“坏”方法的“虚拟”应用程序:
import javax.swing.*;
import java.awt.*;
public class DummyApplication extends JFrame
{
private static JDialog loadingDialog;
private static JLabel loadingProgress;
public DummyApplication ()
{
super ( "Dummy application" );
dummyProgressUpdate ( "Loading content...", 3000 ); …Run Code Online (Sandbox Code Playgroud) 我正在使用树状态(扩展/选定节点)保存并创建了一个可以保存和恢复节点状态的实用程序类.它工作正常.
但是仍然存在JTree本身的一个问题 - 当用户正在使用一些JTree实例(扩展/折叠节点)时,可能存在某些节点(隐藏在另一个折叠节点下)被扩展的情况.没什么特别的 - 这很好.
JTree将扩展/折叠节点的记录保存在单独的expandedStateHashtable中,使用节点路径作为键,布尔值作为扩展状态值.因此,当折叠的父节点下的展开节点将变为可见时,它仍将被展开,因为在expandedStateHashtable中有true值的记录.
在屏幕截图中解释的情况...
1.展开root并在root下展开一些节点("glassfish4"文件夹):

2.折叠根:

3.再次展开root,我们仍然看到子节点("glassfish4"文件夹)已展开:

想象一下,我在屏幕截图#2时刻保存了树状态,当root崩溃时 - 问题是如果我想恢复所有树节点状态(即使是隐藏的状态),我也无法扩展另一个折叠节点下的节点,因为这将强制所有父节点展开.此外,我无法访问expandedStateHashtable直接在其中更改扩展状态,因为它在JTree中被声明为私有,并且没有很好的方法来访问它.所以我无法完全重现初始树状态.
所以我能做的是:
也许我错过了别的什么?
所以基本上问题是:
是否有任何其他方法来扩展子节点而不会导致父节点扩展?
您可以在下面找到我用来保存/恢复树状态的几个类.
只需调用TreeUtils.getTreeState(tree)以检索JTree状态并TreeUtils.setTreeState(tree,treeState)恢复JTree状态.请注意,树必须使用UniqueNode,否则这些方法将抛出ClassCastException - 如果您有自己的节点扩展DefaultMutableTreeNode,则可以简单地将DefaultMutableTreeNode替换为UniqueNode.
UniqueNode.java - 具有自己唯一ID的简单节点
public class UniqueNode extends DefaultMutableTreeNode implements Serializable
{
/**
* Prefix for node ID.
*/
private static final String ID_PREFIX = "UN";
/**
* Unique node ID.
*/
protected String id;
/**
* Costructs …Run Code Online (Sandbox Code Playgroud) 每个人都知道使用专有 API 是一件非常糟糕的事情。在几乎所有情况下,您都可以用自己的实现或一些其他库替换该 API。
几乎...
在这种情况下,您找不到任何替代方案:
table.put ( SwingUtilities2.AA_TEXT_PROPERTY_KEY, SwingUtilities2.AATextInfo.getAATextInfo ( true ) );
Run Code Online (Sandbox Code Playgroud)
这行代码将正确的文本抗锯齿设置放入 L&F 默认表中。如果您不使用这些设置,您将在任何文本组件中渲染某些特定符号时遇到大量问题(例如泰语 - “??????????????????????”,或阿拉伯语 - “????? ???? ?????”)。
它不能被其他东西替换,因为当涉及文本渲染时,在 Swing 架构中使用了 AATextInfo 的实例(是的,正是那个类,而不是其他东西),外观和感觉只是将该实例添加到默认值中,以便组件可以使用它。
所以这就是我必须决定的重点 - 要么在我的 L&F 中使用非常糟糕的泰语/阿拉伯语/其他字体渲染,要么使用该死的专有 API。
正如您可能知道的那样 - 警告如下:
XXX 是 Sun 专有的 API,可能会在将来的版本中删除
无法抑制:http : //bugs.sun.com/bugdatabase/view_bug.do?bug_id=6476630
嗯,这实际上是一个合理的限制,所以它不是问题。
问题是 - 为什么我不能用别的东西代替那个该死的东西?
也许我错过了什么?
当然,只有在您尝试创建自己的 L&F 时才会出现问题,否则您将永远不需要在任何地方使用该东西。
所以问题是:
该渲染功能是否有任何替代/解决方法?
这是我的HTML:
<div class="accor">
</div>
<div class="accordionContentTwoCol">
<p class="noEdit">
<div> name : </div>
</p>
<div>
Run Code Online (Sandbox Code Playgroud)
我需要找到accordionContentTwoColdiv的html内容(我只能访问accor).
如果我尝试在accordionContentTwoCol div中打印html,如下所示:
alert("html inside accordionContentTwoCol :"+$('.accor').next().html());
Run Code Online (Sandbox Code Playgroud)
它提供如下输出:

虽然HTML里面accordionContentTwoCol是:
<p class="noEdit">
<div> name : </div>
</p>
Run Code Online (Sandbox Code Playgroud)
为什么会这样?
基本上,我想模拟绘制图像上的弹簧行为.我想让它通过几次迭代来上下缩放(就像在弹簧上修复一样).
我在网上找到的所有例子都导致了这个类 - FloatSpring.java
它应该提供所需的计算,将A点移动到B点,应用类似弹簧的效果,这取决于各种FloatSpring类设置.问题是我没有找到一个明确的例子如何正确使用它.
我做了这个小例子来测试FloatSpring:
public static void main ( String[] args )
{
// Some image to bounce
final ImageIcon icon =
new ImageIcon ( WebProgressOverlayExample.class.getResource ( "icons/ava1.jpg" ) );
// Component to paint image on
JComponent spring = new JComponent ()
{
// Zoom value (1f = 100% = normal size)
float zoom = 1f;
{
// Basic spring settings
final FloatSpring fs = new FloatSpring ( 100 );
fs.setPosition ( zoom );
// Animation …Run Code Online (Sandbox Code Playgroud)