Java Swing重新validation()vs repaint()

我正在放置一个Swing应用程序,我经常要replaceJPanel的内容。 为此,我调用removeAll() ,然后添加我的新内容,然后调用revalidate() 。 但是我发现旧内容仍然是可见的(虽然被新内容遮蔽了)。 如果除了revalidate()之外,还要调用repaint() revalidate() ,它将按预期工作。 我确信在其他场合,我只是调用revalidate()就足够了。 所以基本上我的问题是 – 我是否需要调用这两个函数?如果不是,我应该什么时候调用它们?

JavaScriptinheritance和构造函数属性

考虑下面的代码。 function a() {} function b() {} function c() {} b.prototype = new a(); c.prototype = new b(); console.log((new a()).constructor); //a() console.log((new b()).constructor); //a() console.log((new c()).constructor); //a() 为什么不更新为b和c的构造函数? 我做inheritance错了吗? 什么是更新构造函数的最好方法? 此外,请考虑以下事项。 console.log(new a() instanceof a); //true console.log(new b() instanceof b); //true console.log(new c() instanceof c); //true 假设(new c()).constructor等于a()和Object.getPrototypeOf(new c())是a{ } ,那么instanceof怎么可能知道new c()是c一个实例呢? http://jsfiddle.net/ezZr5/

Android:java.lang.OutOfMemoryError:未能分配一个23970828字节分配,其中包含2097152个空闲字节和2MB,直到OOM

我想显示已存储的SD卡的ImageView中的位图图像。 运行后,我的应用程序崩溃,并得到OutOfMemoryError的错误: (java.lang.OutOfMemoryError:未能分配一个23970828字节分配,2097152空闲字节和2MB直到OOM) 我不知道或为什么它的内存不足。 我认为我的图像尺寸非常大,所以我试图改变它。 Iterator<String> it = imageArray.iterator(); while (it.hasNext()) { Object element = it.next(); String objElement = element.toString(); Log.e("objElement ", " = " + objElement); final ImageView imageView = new ImageView (getContext()); final ProgressBar pBar = new ProgressBar(getContext(), null, android.R.attr.progressBarStyleSmall); imageView.setTag(it); pBar.setTag(it); imageView.setImageResource(R.drawable.img_placeholder); pBar.setVisibility(View.VISIBLE); if (objElement.endsWith(mp3_Pattern)) { Log.e("Mp3 ", " ends with "); […]

Mockito匹配器如何工作?

Mockito参数匹配器(例如, argThat , eq , same和ArgumentCaptor.capture() )与Hamcrest匹配器的行为非常不同。 Mockito匹配器通常会导致InvalidUseOfMatchersExceptionexception,即使在使用任何匹配器后执行的代码也是如此。 Mockito匹配器会受到怪异规则的约束,例如只要在给定方法中使用匹配器的情况下,只需要使用Mockito匹配器即可。 Mockito匹配器在覆盖Answer或使用(Integer) any()等时可能导致NullPointerException 用Mockito匹配器以某种方式重构代码可能会产生exception和意外的行为,并可能完全失败。 为什么Mockito匹配器是这样devise的,它们是如何实现的?

NOT EXISTS和NOT IN之间有什么区别,左连接是NULL?

在我看来,你可以在SQL查询中使用NOT EXISTS,NOT IN或LEFT JOIN WHERE IS来做同样的事情。 例如: SELECT a FROM table1 WHERE a NOT IN (SELECT a FROM table2) SELECT a FROM table1 WHERE NOT EXISTS (SELECT * FROM table2 WHERE table1.a = table2.a) SELECT a FROM table1 LEFT JOIN table2 ON table1.a = table2.a WHERE table1.a IS NULL 我不确定是否所有的语法正确,但这些是我见过的一般技术。 为什么我会select使用一个呢? 性能不同…? 哪一个是最快/最有效的? (如果取决于实施,我什么时候可以使用每一个?)

在PHP中用前导零来格式化一个数字

我有一个variables,其中包含值1234567 。 我希望它包含正好8位数,即01234567 。 有一个PHP函数呢?

Response.End()被认为是有害的吗?

这个知识库文章说,ASP.NET的Response.End()中止一个线程。 reflection器显示它看起来像这样: public void End() { if (this._context.IsInCancellablePeriod) { InternalSecurityPermissions.ControlThread.Assert(); Thread.CurrentThread.Abort(new HttpApplication.CancelModuleException(false)); } else if (!this._flushing) { this.Flush(); this._ended = true; if (this._context.ApplicationInstance != null) { this._context.ApplicationInstance.CompleteRequest(); } } } 这对我来说似乎相当苛刻。 正如知识库文章所述,应用程序中的任何代码在Response.End()都不会被执行,这违反了最less惊讶的原则。 这几乎就像WinForms应用程序中的Application.Exit() 。 由Response.End()引起的线程exceptionexception是不可捕获的,所以在try …中围绕代码… finally不会满足。 这让我怀疑我是否应该总是避免Response.End() 。 任何人都可以提出,什么时候应该使用Response.End() ,何时Response.Close()和何时HttpContext.Current.ApplicationInstance.CompleteRequest() ? 参考: Rick Strahl的博客条目 。 根据我收到的意见,我的回答是, 是的, Response.End是有害的 ,但在一些有限的情况下是有用的。 使用Response.End()作为不可捕获的抛出,在特殊情况下立即终止HttpResponse 。 也可以在debugging时使用。 避免Response.End()来完成例程响应 。 […]

如何更改使用XML的ActionBarActivity的ActionBar的背景颜色?

细节: 我正在扩展ActionBarActivity。 截至2011年11月6日,Eclipse和SDK已完全修补。 <uses-sdk android:minSdkVersion="4" android:targetSdkVersion="14" /> 与Android 2.3.3部署到三星设备 应用程序有android:theme="@android:style/Theme.Light" 问题:应用程序很轻,但ActionBar是蓝色的灰色图标,对蓝色背景颜色几乎看不见。 我也想要ActionBar是轻的,所以他们灰色的图标更明显。 我试过修改样式,但无济于事。 我可能错过了一些微不足道的东西。 如何更改使用XML的ActionBarActivity的ActionBar的背景颜色?

从AngularJS URL删除片段标识符(#符号)

是否有可能从angular.jsurl中删除#符号? 我仍然希望能够使用浏览器的后退button等,当我改变视图,并将用PARAMS更新url,但我不想#符号。 教程routeProvider声明如下: angular.module('phonecat', []). config(['$routeProvider', function($routeProvider) { $routeProvider. when('/phones', {templateUrl: 'partials/phone-list.html', controller: PhoneListCtrl}). when('/phones/:phoneId', {templateUrl: 'partials/phone-detail.html', controller: PhoneDetailCtrl}). otherwise({redirectTo: '/phones'}); }]); 我可以编辑这个具有相同的function没有#?

自动执行InvokeRequired代码模式

我已经痛苦地意识到需要多长时间在事件驱动的GUI代码中编写以下代码模式 private void DoGUISwitch() { // cruisin for a bruisin' through exception city object1.Visible = true; object2.Visible = false; } 变为: private void DoGUISwitch() { if (object1.InvokeRequired) { object1.Invoke(new MethodInvoker(() => { DoGUISwitch(); })); } else { object1.Visible = true; object2.Visible = false; } } 这是C#中的一个尴尬模式,既要记住又要键入。 有没有人想出了一些快捷方式或构造,这在一定程度上自动化? 如果有一种方法可以将函数附加到对象上,而不需要经过所有这些额外的工作,比如object1.InvokeIfNecessary.visible = truetypes的快捷方式,那将会很酷。 以前的答案已经讨论过每次只调用Invoke()的不切实际的情况,即使如此,Invoke()语法也是效率低下,处理起来还是尴尬的。 那么,有没有人找出任何捷径?