当使用LeftBarItems和RightBarItems时,我遇到了过多的UIBarButtonItem填充/间距(见下图).UIBarButtonItems上使用的图标不包含额外的填充.所以我想知道是什么导致了这个?

我正在尝试在VS2010中创建一个后期构建文件复制步骤,它在嵌入空格时处理路径宏.我试过用双引号括起复制命令,但是如果$(SolutionDir)包含空格则调用copy时会出错.错误消息中的回显命令行不显示双引号.
copy "$(SolutionDir)$(Configuration)\*" "$(TargetDir)"
我也单独尝试\",""但这两个导致2字符转义序列出现在echoed命令行?如何在构建步骤中正确地逃避双引号?
Nimbus通常看起来很棒,但对于某些颜色组合,结果是非最佳的.在我的情况下,a的背景JPopupMenu不适合,这就是我想手动设置的原因.
我在Java 7上,有趣的是,Nimbus完全忽略了UIManager(像PopupMenu.background)中某些属性的设置.所以我唯一的选择是创建JPopupMenu该覆盖的子类paintComponent(...).我知道,那很讨厌,但至少它起作用了.
但是,如果你添加一个JMenu到另一个菜单,它嵌入它自己的实例,JPopupMenu我无法弄清楚如何用我自己的子类替换它.
即使PopupMenuUI为嵌入式实例分配自己也没有带来任何结果.如果直接从JPopupMenuoverriden paint(...)方法继承而被调用,但是,无论我做了什么,都没有绘制.如果继承的javax.swing.plaf.synth.SynthPopupMenuUI paint甚至没有被调用,结果就是我根本没有设置自己PopupMenuUI.
所以简单的问题是:如何JPopupMenu使用Nimbus作为L&F,在Java 7上调整一个或者(如果这更容易)的背景颜色?
编辑:代码示例
看一下下面的代码和结果:
public static void main(final String[] args) {
try {
UIManager.setLookAndFeel(NimbusLookAndFeel.class.getCanonicalName());
UIManager.getLookAndFeelDefaults().put("PopupMenu.background", Color.GREEN);
UIManager.getLookAndFeelDefaults().put("Panel.background", Color.RED);
UIManager.getLookAndFeelDefaults().put("List.background", Color.BLUE);
} catch (ClassNotFoundException | InstantiationException
| IllegalAccessException | UnsupportedLookAndFeelException e) {
e.printStackTrace();
}
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(200,200);
JPanel panel = new JPanel(new BorderLayout());
panel.setBorder(BorderFactory.createEmptyBorder(10,10,10,10));
JList …Run Code Online (Sandbox Code Playgroud) 我正在为Windows 8构建一个metro风格的应用程序,我有一个zip文件,我从Web服务下载,我想提取它.
我已经看过压缩和解压缩的示例,但是需要压缩/解压缩一个文件.我有一个完整的目录结构,我需要提取.
这是我到目前为止:
var appData = ApplicationData.Current;
var file = await appData.LocalFolder.GetItemAsync("thezip.zip") as StorageFile;
var decompressedFile = await ApplicationData.Current.LocalFolder.CreateFileAsync("tempFileName", CreationCollisionOption.GenerateUniqueName);
using (var decompressor = new Decompressor(await file.OpenSequentialReadAsync()))
using (var decompressedOutput = await decompressedFile.OpenAsync(FileAccessMode.ReadWrite))
{
var bytesDecompressed = await RandomAccessStream.CopyAsync(decompressor, decompressedOutput);
}
Run Code Online (Sandbox Code Playgroud)
但这并不好,bytesDecompressed变量总是零大小,但zip文件是1.2MB
这里的任何帮助将不胜感激.
编辑:回答,谢谢 Mahantesh
这是解压缩文件的代码:
private async void UnZipFile()
{
var folder = ApplicationData.Current.LocalFolder;
using (var zipStream = await folder.OpenStreamForReadAsync("thezip.zip"))
{
using (MemoryStream zipMemoryStream = new MemoryStream((int)zipStream.Length))
{
await zipStream.CopyToAsync(zipMemoryStream);
using (var archive = new ZipArchive(zipMemoryStream, …Run Code Online (Sandbox Code Playgroud) 我知道此类错误之前已多次提出,但我没有找到我的错误的解决方案.我正在使用xcode 4.0.我下载了ASIHTTPRequest zip和复制的classes文件夹以及两个'Reachability'文件.编译后,它给了我奇怪的错误,这是我无法弄清楚的.下面我为架构i386复制了未定义符号的错误文本.
Ld /Users/svp/Library/Developer/Xcode/DerivedData/Manual_BeforePres2-fahkeiivemkgpubswgvzglvndszw/Build/Products/Debug-iphonesimulator/Manual.app/Manual normal i386
cd "/Users/svp/Desktop/Manual nav before pres 2"
setenv MACOSX_DEPLOYMENT_TARGET 10.6
setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/llvm-gcc-4.2 -arch i386 -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk -L/Users/svp/Library/Developer/Xcode/DerivedData/Manual_BeforePres2-fahkeiivemkgpubswgvzglvndszw/Build/Products/Debug-iphonesimulator -F/Users/svp/Library/Developer/Xcode/DerivedData/Manual_BeforePres2-fahkeiivemkgpubswgvzglvndszw/Build/Products/Debug-iphonesimulator -filelist /Users/svp/Library/Developer/Xcode/DerivedData/Manual_BeforePres2-fahkeiivemkgpubswgvzglvndszw/Build/Intermediates/Manual_BeforePres2.build/Debug-iphonesimulator/Manual.build/Objects-normal/i386/Manual.LinkFileList -mmacosx-version-min=10.6 -Xlinker -objc_abi_version -Xlinker 2 -lz -framework SystemConfiguration -framework CFNetwork -framework UIKit -framework Foundation -framework CoreGraphics -o /Users/svp/Library/Developer/Xcode/DerivedData/Manual_BeforePres2-fahkeiivemkgpubswgvzglvndszw/Build/Products/Debug-iphonesimulator/Manual.app/Manual
Undefined symbols for architecture i386:
"_UTTypeCreatePreferredIdentifierForTag", referenced from:
+[ASIHTTPRequest mimeTypeForFileAtPath:] in ASIHTTPRequest.o
"_UTTypeCopyPreferredTagWithClass", referenced from:
+[ASIHTTPRequest mimeTypeForFileAtPath:] in ASIHTTPRequest.o
"_kUTTagClassFilenameExtension", referenced from:
+[ASIHTTPRequest mimeTypeForFileAtPath:] in ASIHTTPRequest.o
"_kUTTagClassMIMEType", referenced from:
+[ASIHTTPRequest mimeTypeForFileAtPath:] in ASIHTTPRequest.o
ld: …Run Code Online (Sandbox Code Playgroud) 我有一个包含UILabel和UIImageView的自定义UIView.如何使我的UIView可点击?我想在用户开始按下UIView的任何时候改变UIView的背景.当用户抬起按钮时,颜色应该会改变.我还需要能够处理click事件.
在我的数据库中,我将行"已发布"设置为时间戳,但在尝试转换/格式化时我收到此通知:
Notice: A non well formed numeric value encountered
Run Code Online (Sandbox Code Playgroud)
码:
$posted = date('d/m/Y H:i:s', $row['posted']);
echo $posted;
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
我正在使用C3P0和MS SQL JDBC 4驱动程序在数据库消失时自动故障转移到新的数据库镜像.如果它首先连接到主体数据库,则故障转移将起作用,并且无缝切换到镜像数据库.但是,如果主应用程序在应用程序启动时关闭,并且镜像数据库可用于连接(使用MSSQL Studio进行测试),则应用程序无法启动并无法连接到备份镜像.
这是连接URL:
jdbc:sqlserver://PRINCIPALDB;databaseName=app_space;port=99999;failoverPartner=MIRRORDB
Run Code Online (Sandbox Code Playgroud)
我有c3p0.testConnectionOnCheckout和c3p0.preferredTestQuery设置,并c3p0.acquireRetryAttempts没有设置(使用默认值30).
当主体关闭时,为什么它最初不会连接到镜像DB?我们需要这个,因为如果电源关闭或主要数据库关闭,并且应用服务器需要回收,那么故障转移将无济于事.
参考:
http://www.mchange.com/projects/c3p0/#configuring_recovery
使用数据库镜像(JDBC)(MSDN在其URL中使用未转义的括号!)http://msdn.microsoft.com/en-US/library/aa342332 (v=sql.90 )
以下是该应用的一些日志.
<14>[APP]: INFO 20 Jul 2012 12:21:21,982 [main] net.sf.hibernate.connection.C3P0ConnectionProvider "C3P0 using driver: com.microsoft.sqlserver.jdbc.SQLServerDriver at URL: jdbc:sqlserver://PRINCIPAL;databaseName=APP_space;port=9999;failoverPartner=MIRRORDB"
<14>[APP]: INFO 20 Jul 2012 12:21:21,982 [main] net.sf.hibernate.connection.C3P0ConnectionProvider "Connection properties: {user=USERNAME, password=PASSWORD}"
<14>[APP]: INFO 20 Jul 2012 12:21:22,435 [main] net.sf.hibernate.transaction.TransactionFactoryFactory "Transaction strategy: net.sf.hibernate.transaction.JDBCTransactionFactory"
<14>[APP]: INFO 20 Jul 2012 12:21:22,450 [main] net.sf.hibernate.transaction.TransactionManagerLookupFactory "No TransactionManagerLookup configured (in JTA environment, use of process level read-write …Run Code Online (Sandbox Code Playgroud) 我正在创建一个应用程序,我试图获取当前触摸点的颜色,如果这个点不是黑色,那么它将运行迭代/递归并将所有非黑点存储在数组中.我正在使用此函数进行迭代:
-(void)function:(CGFloat)positiveX:(CGFloat)positiveY:(CGFloat)negativeX:(CGFloat)negativeY
{
if (canDoPositiveX == YES)
{
//Checking in positive
if (![[NSString stringWithFormat:@"%@",[self colorOfPoint:CGPointMake(positiveX, positiveY)]] isEqualToString:@"UIDeviceRGBColorSpace 0 0 0 1"])
{
CGPoint point = CGPointMake(positiveX, positiveY);
[array addObject:[NSValue valueWithCGPoint:point]];
[self function:positiveX+1 :positiveY :negativeX :negativeY];
}
else
{
canDoPositiveX = NO;
}
}
if (canDoPositiveY == YES)
{
//Checking in positive
if (![[NSString stringWithFormat:@"%@",[self colorOfPoint:CGPointMake(positiveX, positiveY)]] isEqualToString:@"UIDeviceRGBColorSpace 0 0 0 0"])
{
CGPoint point = CGPointMake(positiveX, positiveY);
[array addObject:[NSValue valueWithCGPoint:point]];
[self function:positiveX :positiveY+1 :negativeX :negativeY];
}
else
{
canDoPositiveY = …Run Code Online (Sandbox Code Playgroud) 如标题中所述.我有两个JPanels一个在另一个上面使用a BorderLayout().
import java.awt.*;
import javax.swing.*;
public class myForm(){
public static void main(String[] args) {
JFrame myFrame = new JFrame("SingSong");
myFrame.setLocation(100,100);
myFrame.setSize(new Dimension(1024,800));
myFrame.setLayout(new BorderLayout());
JPanel jp = new JPanel();
jp.setBackground(new Color(0x00FF00FF));
JPanel jp2 = new JPanel(new BorderLayout());
jp2.setBackground(new Color(0x00000000));
jp.setPreferredSize(new Dimension(100,400));
jp2.setPreferredSize(new Dimension(100,400));
jp2.setLocation(0, 512);
myFrame.add(jp2, BorderLayout.SOUTH);
myFrame.add(jp, BorderLayout.NORTH);
}
}
Run Code Online (Sandbox Code Playgroud)
它们各占一半,但我怎么能设置它以便它们总是占用JFrame的一半,即使调整大小?(PS我通常使用更好的变量名,我只是把它作为SSCCE)
objective-c ×4
java ×2
swing ×2
build ×1
c# ×1
c3p0 ×1
compression ×1
date ×1
formatting ×1
ios ×1
ios4 ×1
ios6 ×1
ios7 ×1
iphone ×1
jdbc ×1
jpanel ×1
jpopupmenu ×1
linker ×1
mach-o ×1
macros ×1
msbuild ×1
mysql ×1
nimbus ×1
php ×1
quoting ×1
sql-server ×1
timestamp ×1
uiimageview ×1
uilabel ×1
uiview ×1
windows-8 ×1