问题列表 - 第37330页

禁用JFrame中的背景绘图以正确显示Aero(DWM)效果

我在Java窗口上使用Windows Vista/7的DWM功能时遇到问题.我想让我的画面的背景使用Aero风格.Windows API来做到这一点是函数提供DwmExtendFrameIntoClientAreadwmapi库.我已经设法通过JNA正确调用该程序,它完成了应该做的事情(你可以看到,例如在调整框架大小时,在下一次重绘之前,你会看到尚未绘制的区域中的正确的空气动力效果,见附图).

但某处(我无法弄清楚在哪里)背景画在Aero效果上并且效果丢失了.

我已经尝试过的:

  • 使用ContentPane设置为不透明度的自定义false
  • 的不透明度设置LayeredPaneRootPane
  • 用a Frame而不是aJFrame
  • 设置背景颜色JFrame/ ContentPane黑色/全透明
  • 使用setLayersOpaque及其自定义变体,请参阅第一个答案以获取更多详细信息

到目前为止,我无法成功删除该背景.这是AWT/Swing的限制吗?如何删除该背景或正确使用Aero效果?

非常感谢您的帮助.

截图

这里是没有任何内容的框架的屏幕截图,将RootPane,LayeredPane和ContentPane的不透明度设置为false.我在调整大小时快速完成了.您会看到效果已正确应用于Java尚未绘制的区域.

http://i55.tinypic.com/v614qo.png(作为新用户,我无法直接发布图片...)

奇怪的行为

经过进一步调查,我发现了以下奇怪的行为.如果窗口大小为150x150或更低,则内容将以透明方式显示.这对于普通窗口组件来说非常小问题.如果通过覆盖paint()方法直接在框架上绘制,则所有内容都是半透明的.此外,坐标系似乎稍微偏离,它显示为JFrame设置为窗口的实际零点的零点.因此,Swing试图绘制到实际上窗口边界所在的区域,然后当然不可见.

请参阅此屏幕截图:http://d-gfx.kognetwork.ch/java_aero_bug.png

示例代码

这是我使用的代码.

需要jna.jarplatform.jar.可从JNA主页获得.

import com.sun.jna.Function;
import com.sun.jna.Native;
import com.sun.jna.NativeLibrary;
import com.sun.jna.Structure;
import com.sun.jna.platform.win32.WinDef.HWND;
import com.sun.jna.platform.win32.WinNT.HRESULT;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.UIManager;

public class AeroFrame extends JFrame {

    public AeroFrame() { …
Run Code Online (Sandbox Code Playgroud)

java swing jframe jna dwm

11
推荐指数
1
解决办法
3627
查看次数

Sync'd Hashtable不是PowerShell显示友好的.尝试:[HashTable] ::同步(@ {})

我有一个来自.Net的对象,它具有SyncHashTable类型的属性,在抛出异常时无法查看.

单行复制:

[HashTable]::Synchronized(@{})
Run Code Online (Sandbox Code Playgroud)

多行更容易玩repro:

$ht = new-object hashtable
$ht.add("foo", "bar")
$hts = [Hashtable]::Synchronized($ht)
$hts
Run Code Online (Sandbox Code Playgroud)

错误:

format-default : Object reference not set to an instance of an object.
    + CategoryInfo          : NotSpecified: (:) [format-default], NullReferenceException
    + FullyQualifiedErrorId : System.NullReferenceException,Microsoft.PowerShell.Commands.FormatDefaultCommand
Run Code Online (Sandbox Code Playgroud)

有人对此有任何见解吗?

powershell hashtable synchronized

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

file_get_contents的替代?

$xml_file = file_get_contents(SITE_PATH . 'cms/data.php');
Run Code Online (Sandbox Code Playgroud)

问题是服务器禁用了URL文件访问.我无法启用它,它是托管的东西.

所以问题是这个.该data.php文件生成xml代码.

如何在不执行上述方法的情况下执行此操作并获取xml数据?

可能吗?

php file-get-contents

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

eclipse java代码显示亚麻

我需要在eclipse上安装哪些插件,以便.java文件显示行号?如何在.xml/.html上显示行号?

java eclipse numbers line

5
推荐指数
2
解决办法
2万
查看次数

为什么只有在VS2010中进行调试时,强制转换才会返回零?

只有在我的机器上才会发生.基本上如果我运行以下所有内容都符合预期:

        double d = 500.22;
        int i = (int)d;
        Console.WriteLine(i.ToString());
Run Code Online (Sandbox Code Playgroud)

输出为500.

但是,如果我在第一行放置一个断点并逐步执行,我总是恢复为零,输出为0.

我已经在其他机器上测试了这个,我无法复制,我甚至重新安装了VS2010,但它仍然会发生.所以我认为它必须是我在我的系统上的某种环境设置,但我无法弄清楚是什么.

其他人都有这个问题,我该如何摆脱它.

干杯.

编辑:问题似乎只是第二行.如果我在第1行放置一个断点,然后在它上面放置F5,那么一切都好.但是如果我进入/超过第二行,则转换似乎不起作用并且我保持在0.
我还尝试将i设置为1然后查看转换是否有效,但它将我更改为0并移除我的初始值为1.

这是一个截图:

替代文字

c# visual-studio-2010 visual-studio

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

Core Data可以在iOS上懒惰获取BLOB属性吗?

我将照片存储为我的Core Data实体中的Transformable属性,这是要在iPhone的内存中加载的大量数据.如果我想要一个列出所有实体(可能是数百或数千)的TableView,但只需要显示它们的标题,Core Data是否仍会获取每张照片并在需要之前将其存储在RAM中?

我想要做的是只有当用户选择要在另一个ViewController中查看的记录时,才能对照片进行"lazy-fetch".什么是最节省内存的方法呢?

core-data ios

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

如何设置NUnit来运行项目的单元测试?

我开始使用NUnit在.NET 4.0上使用Visual Studio 2010在C#中编写测试用例.我想使用NUnit来测试.dll(一个C#类库项目)的公共函数.如何设置NUnit以使用我的项目?

  1. 我应该将NUnit代码添加到同一个类库项目进行测试,还是应该在同一个NUnit测试用例的解决方案中添加一个单独的项目?哪种是最佳做法?

  2. 如果我需要为NUnit测试用例创建一个单独的项目,我应该将它作为类库项目还是可执行文件?如果我把它作为一个类库项目,我该如何运行它?

  3. 如果我需要针对可执行文件而不是类库项目进行测试,那么进程和/或项目是否有任何更改?

.net c# nunit unit-testing visual-studio-2010

15
推荐指数
2
解决办法
3万
查看次数

如何在SQL Server数据库模式中找到所有填充了100%空值的列?

是否有SQL方法可以找出我的架构中哪些列完全充满空值?在我知道的一些表中有一些字段没有被应用程序使用并将被删除,但我想看看是否有一个自动化的方法/脚本在整个数据库中找到它以找到代码审查的候选者/可能删除.

如果重要,请在x86上运行SQL Server 2005.

提前致谢!

sql sql-server null sql-server-2005 database-schema

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

python:如何在两个不同的键上对复杂列表进行排序

我有一个奇怪的列表,以下列方式构建:

[[name_d, 5], [name_e, 10], [name_a, 5]] 
Run Code Online (Sandbox Code Playgroud)

我想先用数字(desc)对它进行排序,然后,如果数字相同,则按名称(asc)排序.所以我想要的结果是:

[[name_e, 10], [name_a, 5], [name_d, 5]]
Run Code Online (Sandbox Code Playgroud)

我试着想一个我可以在sort方法中使用的lambda函数,但我不确定我能做到.

python sorting

11
推荐指数
1
解决办法
7206
查看次数

如何将"subprocess.call"的输出捕获到文件中?

在我的代码中,我有一个类似于这样的行:

rval = subprocess.call(["mkdir",directoryName], shell=True)
Run Code Online (Sandbox Code Playgroud)

我可以检查rval它是否是,0或者1如果它是1,我想以"A subdirectory or file ben already exists."文件格式从命令中获取文本,所以如果我想确保文本是相同的,我可以将它与另一个文件进行比较.

是否有可能有这样的线,但我知道这不起作用

rval = subprocess.call(["mkdir",directoryName], shell=True) >> filename
Run Code Online (Sandbox Code Playgroud)

所以无论命令发生了什么,文本都被捕获filename,并且rval仍然有返回码?

python subprocess

17
推荐指数
3
解决办法
2万
查看次数