我有一个JPanel,其中包含一个JToolbar(包括几个没有文本的按钮)和一个JTable,我需要启用/禁用(使内部小部件不可点击).我试过这个:
JPanel panel = ....;
for (Component c : panel.getComponents()) c.setEnabled(enabled);
Run Code Online (Sandbox Code Playgroud)
但它不起作用.是否有更好,更通用的解决方案来启用/禁用JPanel中的所有内部组件?
我从http://docs.oracle.com/javase/tutorial/uiswing/misc/jlayer.html的示例开始,使用JLayer部分解决了我的问题:
layer = new JLayer<JComponent>(myPanel, new BlurLayerUI(false));
.....
((BlurLayerUI)layer.getUI()).blur(...); // switch blur on/off
class BlurLayerUI extends LayerUI<JComponent> {
private BufferedImage mOffscreenImage;
private BufferedImageOp mOperation;
private boolean blur;
public BlurLayerUI(boolean blur) {
this.blur = blur;
float ninth = 1.0f / 9.0f;
float[] blurKernel = {
ninth, ninth, ninth,
ninth, ninth, ninth,
ninth, ninth, ninth
};
mOperation = new ConvolveOp(
new Kernel(3, 3, blurKernel),
ConvolveOp.EDGE_NO_OP, null);
}
public …Run Code Online (Sandbox Code Playgroud) 我在网上银行应用程序工作.我想登录以检索余额.我一直在做一些研究,我从其他帖子中找到了一些有用的HtmlUnit代码.但是,我处理页面的重定向问题.路径如下:主登录表单(第1页),生成一个验证凭据的新页面(第2页).到目前为止我做得很好,但我找不到解决方案来检索主页(第3页),这里是代码:
import com.gargoylesoftware.htmlunit.BrowserVersion;
import com.gargoylesoftware.htmlunit.WebClient;
import com.gargoylesoftware.htmlunit.html.HtmlForm;
import com.gargoylesoftware.htmlunit.html.HtmlPage;
public class WellsF {
public static void main(String[] args) throws Exception {
WebClient webClient = new WebClient(BrowserVersion.CHROME_16);
webClient.getOptions().setJavaScriptEnabled(true);
webClient.getOptions().setThrowExceptionOnScriptError(false);
webClient.getOptions().setCssEnabled(true);
webClient.getOptions().setUseInsecureSSL(true);
webClient.getOptions().setRedirectEnabled(true);
HtmlPage page1 = webClient
.getPage("https://www.wellsfargo.com/home.jhtml");
final HtmlForm form = (HtmlForm) page1.getElementById("frmSignon");
form.getInputByName("userid").setValueAttribute("user id");
form.getInputByName("password").setValueAttribute("user password");
HtmlPage page2 = (HtmlPage) form.getInputByName("btnSignon").click();
synchronized (page2) {
page2.wait(5000);
System.out.println(page2.asText());
System.out.println("=========================== page2\n");
}
HtmlPage page3 = (HtmlPage) webClient.openWindow(page2.getUrl(),
"signon").getEnclosedPage();
System.out.println(page3.asText());
webClient.closeAllWindows();
}
}
Run Code Online (Sandbox Code Playgroud) 我是Selenium Web驱动程序以及Grid 2的新手.
我试图运行测试用例,但它给了我一个例外
线程"main"中的异常org.openqa.selenium.WebDriverException:转发新会话时出错:找不到:{platform = WINDOWS,browserName = FIREFOX,version = 3.6}
我已经使用命令启动了一个节点和集线器
java -jar selenium-server-standalone-2.29.0.jar -role hub
java -jar selenium-server-standalone-2.29.0.jar -role node -hub %grid register%
Run Code Online (Sandbox Code Playgroud)
这两个命令都运行正常.
我不确定我何时何地需要使用命令行-browser browserName = firefox,version = 3.6,maxInstances = 5,platform = WINDOWS
(试图从Grid 2官方页面配置节点
是因为这个吗?
这是我的代码:
package test;
import java.net.URL;
import java.net.MalformedURLException;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.htmlunit.HtmlUnitDriver;
import org.openqa.selenium.WebDriverBackedSelenium;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
public class Test {
public static void main(String[] args) throws MalformedURLException {
DesiredCapabilities capability = DesiredCapabilities.firefox();
capability.setBrowserName("FIREFOX");
capability.setPlatform(org.openqa.selenium.Platform.WINDOWS); …Run Code Online (Sandbox Code Playgroud)
我试图让Java 8 Nashorn拥有完整的源代码(未经过检测).您可能知道,它使用Nasgen修改.classes,并输出输出JRE/lib/ext/nashorn.jar.
在拆卸输出时,使用javap:
0: aload_0
1: ldc #24 // String Function
3: ldc #31 // MethodHandle invokestatic jdk/nashorn/internal/objects/NativeFunction.function:(ZLjava/lang/Object;[Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/ScriptFunction;
5: getstatic #22 // Field $nasgenmap$:Ljdk/nashorn/internal/runtime/PropertyMap;
8: aconst_null
9: invokespecial #34 // Method jdk/nashorn/internal/objects/ScriptFunctionImpl."<init>":(Ljava/lang/String;Ljava/lang/invoke/MethodHandle;Ljdk/nashorn/internal/runtime/PropertyMap;[Ljdk/nashorn/internal/runtime/Specialization;)V
Run Code Online (Sandbox Code Playgroud)
可能被错误地写为
super("Function", NativeFunction.function, $nasgenmap$, (Specialization[]) null);
Run Code Online (Sandbox Code Playgroud)
,应该使用签名调用超级构造函数:
ScriptFunctionImpl(String, MethodHandle, PropertyMap, Specialization[]) { }
Run Code Online (Sandbox Code Playgroud)
我的问题是第二个参数NativeFunction.function,我没有可编译的源,MethodHandle在常量池中生成相同的,
#31 = MethodHandle #6:#30 // invokestatic jdk/nashorn/internal/objects/NativeFunction.function:(ZLjava/lang/Object;[Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/ScriptFunction;
Run Code Online (Sandbox Code Playgroud)
仪表的这一部分是由ASM通过调用MethodVisitor.visitLdcInsn完成的.
那么,有没有办法从Java源构建这样的方法句柄,或者这是一个只能在字节码级别完成的功能?
完整的javap输出:
$javap -c -v NativeFunction$Constructor.class
Last modified …Run Code Online (Sandbox Code Playgroud) 我是 OPC-UA 世界和 Eclipse Milo 的新手。我不明白这里的安全性是如何工作的,讨论 eclipse-milo 提供的客户端示例
我发现连接 OPCUA 服务器时使用了一些安全属性:
SecurityPolicy、MessageSecurityMode、clientCertificate、clientKeyPair、setIdentityProvider、
我试图运行 client-examples -> BrowseNodeExample。此示例在内部运行ExampleServer。ExampleServer 配置为与匿名和用户名密码提供程序一起运行。它还必然接受SecurityPolicy.None, Basic128Rsa15, Basic256,Basic256Sha256和MessageSecurityModeas ,SignandEncrypt除了SecurityPolicy.Nonewhere MessageSecurityModeisNone也是如此。
SecurtiyPolicy和配对连接到服务器(没有提供客户端证书)。MessageSecurityMode但我不能对 做同样的事情UsernameProvider,因为UsernameProvider只能SecurityPolicy MessageSecurityMode配对None成功运行。所有其他对都会引发安全检查失败异常(当提供证书时),否则用户访问被拒绝(当未提供客户端证书时)。如何使这项工作有效?最后,如果有人能向我指出 Eclipse Milo 的正确用户文档,那就太好了。因为除了示例代码之外我看不到任何文档,而且它们也没有记录。
@Configuration
public class Test1 {
@Autowired
private Test3 test3;
}
@Configuration
public class Test2 {
@Autowired
private Test3 test3;
@Bean(name = "test3 ")
Test3 test3 () {
return new Test3();
}
}
Run Code Online (Sandbox Code Playgroud)
上面的代码给出了以下错误。
导致:org.springframework.beans.factory.BeanCreationException:创建名称为“test1”的bean时出错:自动装配依赖项注入失败;嵌套异常是 org.springframework.beans.factory.BeanCreationException: 无法自动装配字段: private Test3 com.package.name.Test1.test3;
嵌套异常是 org.springframework.beans.factory.BeanCreationException:创建名称为“test2”的 bean 时出错:自动装配依赖项注入失败;嵌套异常是 org.springframework.beans.factory.BeanCreationException: 无法自动装配字段: private Test3 com.package.name.Test2.test3;
嵌套异常是org.springframework.beans.factory。BeanCurrentlyInCreationException:创建名为“test3”的 bean 时出错:请求的 bean 当前正在创建中:是否存在无法解析的循环引用?
这是一个循环依赖的例子吗?如果是的话,有什么解决这个问题的想法吗?
我想使用Keycloak和Bearer令牌在我的Java REST端点中对用户进行身份验证.
我想要实现的工作流程如下:
'Authorization' : 'Bearer <token>'标头执行Http请求.1,2,3和5已经实现并正常工作但我找不到实现方法4.
我已经尝试过不同的方法:
我的Java端点在WildFly 10.x上发布的EAR中运行,所以我security-constraint在我的web.xml配置Keycloak中使用了一个keycloak.json.
这工作正常,但我需要在同一个Web上下文中保留一些REST端点公开(即使没有'授权'标题也可访问),据我所知,我无法过滤安全约束中的某些请求.
我尝试实现一个BearerTokenRequestAuthenticator绝对没有成功,即使我可以,我不认为我会收到一个校长作为我的身份验证请求.
现在我已经实现了一种过滤请求的方法,那些需要身份验证的方法被ServiceSecurityInterceptor我实现的类拦截.
在该类的某个时刻,我检查'Authorization'标题是否包含a Basic或Bearer:
User loggedUser = null;
if (authorizationType.equals("Basic")) {
// ... decode Base64 username and password ...
loggedUser = userManagerBean.login(username, password);
} else if (authorizationType.equals("Bearer")) {
String token = ...; // Get token from header
// ... Here is where I need to send the token …Run Code Online (Sandbox Code Playgroud) 在 Flutter 中构建应用程序,我想使用导航抽屉并添加了一些 FlatButtons。每个FlatButton都有一个onPressed()方法,我可以Navigator.push()移动到所需的页面,它工作得很好。
我想知道这是否会随着时间的推移填满内存,因为我总是在推送但从不从堆栈中弹出页面。总是将 aNavigator.pop()与 aNavigator.push()连续组合似乎有点奇怪,而且与良好实践相去甚远。
也许有人可以启发我了解正确的方法。
我是整个 Node.js 世界的新手,但这个可能很简单的问题却让我抓狂。这基本上是我在一个更大的项目中遇到的问题的简化版本。
文件结构
package.json
test1
Run Code Online (Sandbox Code Playgroud)
我的 package.json 看起来像这样:
{
"name": "Temp",
"version": "1.0.0",
"main": "index.js",
"license": "MIT",
"scripts": {
"testscript": "test1",
"testrun":"yarn testscript"
}
}
Run Code Online (Sandbox Code Playgroud)
test1 仅包含一个简单的console.log('test')命令。
现在,当我这样做时,yarn testrun出现以下错误:
PS C:\dev\temp> yarn testrun
yarn run v1.9.4
$ yarn testscript
$ test1
'test1' is not recognized as an internal or external command,
operable program or batch file.
error Command failed with exit code 1.
Run Code Online (Sandbox Code Playgroud)
如果文件有扩展名(即 test1.js),那么它会识别它并运行。
在有人说添加文件扩展名之前,这只是我创建的最简单的用例。有一个更大的项目包含此类内容,并且似乎对我所有的 Linux 和 Mac 朋友来说都可以正常工作。
我正在开发 Flutter 应用程序,需要在我们的应用程序登录页面中包含 Facebook 和 Google 登录选项。我没有使用 Firebase 并使用 MySQL 数据库来存储和检索用户数据。
我正在寻找在不使用 Firebase 的情况下在我的 flutter 应用程序中添加 FB 和 Google 身份验证。我找不到任何相关文章。到处都在使用 Firebase。
遵循教程后,我已在 FB 开发人员控制台中注册了我的应用程序,但我不确定“OAuth 重定向 URL”字段中将放置什么内容。
目前,我使用 xampp 服务器和 nodeJS 进行服务器端处理。下面是我在单击按钮时调用的代码。我正在使用 Facebook 身份验证插件(请告诉我该插件是否专门用于 Firebase)。
void initiateFacebookLogin() async {
var facebookLogin = FacebookLogin();
facebookLogin.loginBehavior = FacebookLoginBehavior.webViewOnly;
print("Inside fb login");
var facebookLoginResult = await facebookLogin
.logInWithReadPermissions(['email', 'public_profile']);
switch (facebookLoginResult.status) {
case FacebookLoginStatus.error:
print("Error");
onLoginStatusChanged(false);
break;
case FacebookLoginStatus.cancelledByUser:
print("CancelledByUser");
onLoginStatusChanged(false);
break;
case FacebookLoginStatus.loggedIn:
print("LoggedIn");
var graphResponse = await http.get(
'https://graph.facebook.com/v2.12/me?fields=name,first_name,last_name,email,picture.height(200)&access_token=${facebookLoginResult.accessToken.token}');
var profile = …Run Code Online (Sandbox Code Playgroud)