小编dra*_*mnl的帖子

单击jPanel(Java)时如何调用函数?

我正在使用Java中的Netbeans IDE.

我有一个带有一个JPanel的表单.每个JPanel都有一个gridLayout 3x3,每个地方都有一个代表数字[0,1,2,3,4,5,6,7,8]的图像(图像创建时使用的是自定义类,而不仅仅是拟合实验室中的图像).

我希望能够在用户单击时在面板中交换两个图像(首先单击:无操作,第二次单击:切换jPanel组件中的两个图像).

我已经创建了一个函数exchangeComponents和一个测试代码(如:

exchangeComponents (0,8,jPanel1)
Run Code Online (Sandbox Code Playgroud)

它正确地交换位于position1(第1行,第1列)和position2(第3行,第3列)的图像.

creted的功能如下:

public void exchangeComponents(int component1,int component2,JPanel jpanel){
    try{
   Component aux1 = jpanel.getComponent(component1);
   Point aux1Loc = aux1.getLocation();
   Component aux2 = jpanel.getComponent(component2);
   Point aux2Loc = aux2.getLocation();
   aux1.setLocation(aux2Loc);
   aux2.setLocation(aux1Loc);
   }
   catch (java.lang.ArrayIndexOutOfBoundsException ex){ /* error! bad input to the function*/
       System.exit(1);
   }
}
Run Code Online (Sandbox Code Playgroud)

我想我需要有一个事件,当用户点击jPanel1上的一个图像时调用函数exchangeComponents()但是我应该怎么做?以及如何检查用户选择的组件(图像)?我只知道当我创建一个Button时,如果点击它(来自IDE)就像一个事件

 private void button1ActionPerformed(java.awt.event.ActionEvent evt) {  
// some code..
}
Run Code Online (Sandbox Code Playgroud)

已创建,我执行的代码已执行.

提前感谢您的任何提示.

java events components jpanel

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

使用Scanner发现java.io.FileNotFoundException(找不到文件).我的代码有什么问题?

我的netbeans"/ build/classes"目录中有一个.txt文件("file.txt").

同一目录中,为以下代码编译了.class文件:

try {
File f = new File("file.txt");
Scanner sc = new Scanner(f);
}
catch (IOException e) {
   System.out.println(e);
}
Run Code Online (Sandbox Code Playgroud)

调试代码("Scanner sc .."中的断点)将启动一个异常并打印以下内容:

java.io.FileNotFoundException:file.txt(系统找不到指定的文件)

我也尝试使用"/file.txt"和"//file.txt"但结果相同.

提前感谢您的任何提示

java filenotfoundexception java.util.scanner

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

我应该如何为 Connect 4 设计一个好的评估函数?

我有一个“Connect 4”游戏的 Java 实现(具有可变数量的列和行)。

此实现使用(根据用户的选择)Mini-max 的 Mini-max 算法和 Alpha-beta 剪枝,最大搜索深度为maxDepth

我现在的问题是为板的状态设计一个好的评估函数(这是在 maxDepth 处返回的值)。

该值介于-100(最差选择,对应于失败的情况)100(最佳选择,对应于获胜情况)之间,其中0应该是“平局”情况

其实我已经实现了两个函数(因为代码很长,我报告了伪代码)

1)

  • 没有赢/没有输

--> 如果表已满 ==> 绘制 (0)

--> 如果表未满 ==> 不确定的情况 (50)

--> 如果我赢了:100

--> 如果对手获胜:-100

2)

Of me:
- InARow[0] = maximum number of pieces in a HORIZONTAL in a row
- InARow[1] = maximum number of pieces in a VERTICAL in a row
- InARow[2] = maximum …
Run Code Online (Sandbox Code Playgroud)

java heuristics evaluation-function

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

如何从Chrome的javascript控制台(没有jQuery)模拟javascript按键?

我正在尝试使用Chrome的开发者控制台模拟N次(例如10000)javascript的keypress,键码= 50(键盘中的键:"2"),不是在单个元素内,而是在页面级别.

我需要在不修改源代码的情况下实现此结果,以在多个用户交互下测试Web应用程序行为.

我在SO上找到了不同的答案,但大多数都基于jQuery.

我试着用:

var evt = document.createEvent("KeyboardEvent");
>> undefined
evt.initKeyEvent ("keypress", true, true, window,0, 0, 0, 0, 50, 50); 
>> undefined is not a function
Run Code Online (Sandbox Code Playgroud)

然后事件发送,但它不起作用.

另外我不知道如何从Chrome控制台插入for循环.

javascript-events

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

如何在AngularJS的视图中嵌套表达式?

我正在使用Angular Materialangular-translate.

基本上当使用AM的md-select我有:

<md-select-label>{{ userLanguage ? userLanguage.chosenLanguage: "Choose language"}}</md-select-label>
Run Code Online (Sandbox Code Playgroud)

如果未选择任何选项,则显示选择语言,否则显示所选选项.

最后,我使用angular-translate在我的应用程序的视图中翻译所有标签(例如,在多种语言中选择"选择语言"),如:

{{ 'LB_CHOOSE_LANGUAGE' | translate }}
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试通过以下方式嵌套2个表达式(三元运算符+角度转换过滤器)时:

{{ userLanguage ? userLanguage.chosenLanguage : {{ 'LB_CHOOSE_LANGUAGE' | translate }} }}
Run Code Online (Sandbox Code Playgroud)

我的语法无效:

错误:[$ parse:syntax] http://errors.angularjs.org/1.4.0-rc.2/ $ parse/syntax

关于如何处理嵌套表达式的任何线索?

angularjs angular-translate

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

如何在Angular 2中定义全局变量,我可以将它们用于模板中的属性绑定?

在我的Angular 2(beta 14)应用程序中,我需要跟踪用户登录状态以隐藏/显示某些元素.

我得到的问题是属性绑定不像我做的那样工作如下.

我创建了一个用于存储和更新全局变量的类:

APP-global.ts

 import {Injectable} from "angular2/core";

 @Injectable() export class AppGlobals {
   // use this property for property binding
   public isUserLoggedIn: boolean = false;

   setLoginStatus(isLoggedIn){
       this.isUserLoggedIn = isLoggedIn;
   }

   getLoginStatus(){
       return this.isUserLoggedIn;
   } }
Run Code Online (Sandbox Code Playgroud)

在登录组件中,我导入了AppGlobals

export class LoginComponent {
    constructor(private _appGlobals: AppGlobals) { }
Run Code Online (Sandbox Code Playgroud)

并设置登录状态

this._appGlobals.setLoginStatus(真);

在另一个组件中,我像在LoginComponent中那样注入AppGlobals

我定义了一个类(组件)的属性

isLoggedIn:boolean = this._appGlobals.isUserLoggedIn; //我也尝试使用getter而不是public属性(见上文)

然后我在组件的模板中使用它来显示/隐藏某个元素:

<!-- here I also tried with {{!isLoggedIn}} but results in a syntax error whereas using [(hidden)] instead of [hidden] changes nothing -->
<div id="some-element" …
Run Code Online (Sandbox Code Playgroud)

data-binding angular

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

在Typescript中是否可以定义'string类型的数组的对象?(类型检查的正确位置?)

我知道在typescript中,一个对象可以通过ClassName(ES6类)或'any'来键入.

我也知道你可以定义一个string(string [])数组,甚至是一个string(string [] [])数组的数组.

我需要表达一个对象的类型,该对象的属性只是 string类型的数组.

例如

export var MY_VAR: any = {
    <string[]> p1: [...]
}
Run Code Online (Sandbox Code Playgroud)

我尝试过类似以下任何对象的东西:但不是运气.

我还在每个对象的数组之前尝试了以下任何 object_name.

无论哪种情况,我都有语法错误(参见上面的示例)

编辑显然

export var MY_VAR: any = {
    <string[]> p1: [...]
}
Run Code Online (Sandbox Code Playgroud)

相反.但是我不明白它的区别是什么

typescript

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

是否将CORE_DIRECTIVES添加到控制器的"指令"数组中以及如何正确使用它们?

根据Angular 2文档; 我应该补充一下

从'angular2/common'导入{CORE_DIRECTIVES};

并将CORE_DIRECTIVES放在控制器的指令数组中,以便使用ngFor等.

但是,即使没有它,我也可以自由地使用这些核心指令.

例如

{{选择}}

同样怀疑DOM事件,如(点击)等.

此外,显然其中一个核心指令是ngClass,但我可以自由地使用(如纯HTML),没有任何问题,包括类列表中的插值.

它应该如何正常工作?

angular2-directives angular

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

gdb (Linux) 中 x/ 的输出是什么意思?

我正在使用 gdb 调试 C 程序。

(gdb) r prog_name
(gdb) break main
(gdb) x/wx $esp
(gdb) 0xbffff3d0:     0xbffff60d
Run Code Online (Sandbox Code Playgroud)

我知道前 3 个命令的含义。

我不明白的是最后一个的含义(第三个命令后 gdb 的输出)。具体来说,我不明白:$esp 是一个寄存器,因此我希望在寄存器中找到一个单一值,并且据我所知,寄存器没有地址。那么,假设0xbffff60d是寄存器esp包含的值,那么 ** 0xbffff3d0**是什么?

提前致谢

assembly gdb

2
推荐指数
1
解决办法
7513
查看次数

有没有办法隐藏/自定义图例的ChartJS?

我在项目中使用ChartJS(更确切地说,是在原始库的顶部构建的Angular 2的ng2-charts)。

我看到有一个选择:

图例:false | true

但是我发现特别恼人的TOT,以便能够除去所述上图例(其描述了例如折线图中的每一行)。在下面可以看到我的意思:

在此处输入图片说明

我尝试过

.chart-legend {
  visibility: hidden;
  display: none;
}
Run Code Online (Sandbox Code Playgroud)

借鉴Chartjs Legend Styling的灵感

但我认为这适用于其他一些图例(底部图例)。有没有一种方法可以自定义/隐藏上方的图例?

另外,是否可以更改x / y轴标签的方向?(例如,垂直显示而不是对角线显示)

chart.js ng2-charts

2
推荐指数
1
解决办法
2672
查看次数