我最近开始使用某种形式的声明性语言开发一个关于GUI构建的项目.我的意思是我需要描述对象的层次结构,而不指定将用于"显示"该层次结构的GUI小部件的类型.例如,对于某些现有层次结构H,使用JSON表示法(或类似的东西):
H =
{
"title" : "Label_1"
"children" :
[
{
"title" : "Label_2"
"children":
[
{
"title": "Field_A"
"type": "Integer"
"value": 10
},
{
"title": "Field_B"
"type": "String"
"value": "YES"
}
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
有人可以构建一个简单的窗口,通过按下标有"Label_1"的按钮向用户显示.然后该窗口可以标题为"Label_2",并且具有标记为"Field_A"和"Field_B"的两个字段,分别接受整数和布尔值.
其他人可以将此层次结构放在树列表中,例如
--------------------------------------------------------
>Label_1 |
>Label_2 |
>Field_A | 10
>Field_B | YES
Run Code Online (Sandbox Code Playgroud)
我的第一个问题是,我是否必须构建某种形式的语言解析器来实现这样的目标?我可以使用JSON吗?虽然我不需要支持复杂的层次结构,但是需要支持互斥的层次结构(类似于单选按钮启用/禁用选项).我觉得它看起来像某种形式的语言解析与几个运算符.不要误解我,我是机械工程背景,我不是一个经验丰富的程序员.
提前感谢您的意见和帮助.
这是微软书面测试期间提出的编程问题之一.我提出了我想出的问题和答案.事情虽然看起来很全面(至少对我来说),但我觉得可以减少行数.它在C中被问到我是一个Java人,但我设法编写它(我的答案可能包含太多类似Java的语法)
好的,这是问题所在.
您有两个已经排序的列表,您必须合并它们并返回一个没有任何新额外节点的新列表.返回的列表也应该排序.
方法签名是,
Node* MergeLists(Node* list1, Node* list2);
struct Node{
int data;
Node *next;
}
Run Code Online (Sandbox Code Playgroud)
以下是我提出的解决方案,
Node* MergeLists(Node* list1, Node* list2){
Node* mergedList;
if(list1 == null && list2 ==null){//if both are null, return null
return null;
}
if(list1 == null){//if list1 is null, simply return list2
return list2;
}
if(list2 == null){//if list2 is null, simply return list1
return list1;
}
if(list1.data < list2.data){//initialize mergedList pointer to list1 if list1's data is lesser
mergedList = list1;
}else{//initialize mergedList pointer …Run Code Online (Sandbox Code Playgroud) 我想知道在bash的if子句中使用正则表达式的一般规则?
这是一个例子
$ gg=svm-grid-ch
$ if [[ $gg == *grid* ]] ; then echo $gg; fi
svm-grid-ch
$ if [[ $gg == ^....grid* ]] ; then echo $gg; fi
$ if [[ $gg == ....grid* ]] ; then echo $gg; fi
$ if [[ $gg == s...grid* ]] ; then echo $gg; fi
$
Run Code Online (Sandbox Code Playgroud)
为什么最后三个不匹配?
希望你能尽可能多地给出一般规则,而不仅仅是这个例子.
当我在Windows上的Safari中使用alt带有img标记的属性时,Safari只显示"?"而不是显示替代文本.在盒子里.这是Windows上的Safari中的错误,或者Safari缺少此功能.
第一个决议之后的想法是否依赖于操作系统缓存?这似乎效率低下,并且在多个域解析为相同IP的情况下,这是不正确的.我错过了什么?
我正在索引链接列表,这些链接经常更新,所以我自动缩放网站的缩略图.
对于大多数网站而言,这很容易,因为我只是抓住页面上最大的图像,希望它描述内容.
但其他时候有视频作为页面的主要内容.
有人有处理这个的提示吗?那太好了!
关于使用Webkit创建屏幕截图,我发现了这一点
你如何制作一个JComponent(面板,框架,窗口等)全屏,以便它还重叠屏幕上的所有内容,包括Windows启动栏?
我不想改变像bitdepth等图形设备的分辨率或任何东西,我只想重叠其他一切.
我需要做一些月出方位角和时间计算.任何人都可以推荐一个好的天文库,最好是Objective-C吗?
我被困在某些地方,我需要在Java代码中获得数据库更改.请求是在db的任何表中更新,添加,删除任何记录; 应该被Java程序识别.怎么可以实现JMS?还是Java线程?
更新:感谢大家的支持我实际上使用Oracle作为DB和Weblogic 10.3研讨会.实际上我想从一张表格中获取更新,其中我只有读取权限,所以大家都有什么建议.我无法更新数据库.我唯一能做的就是读取数据库,如果表中有任何变化,我必须得到某些数据行已被添加/删除或更新的信息/通知.
我得到以下代码:
- (id)init {
if (self = [super init]) {
self.title = @"please wait";
UIBarButtonItem *favorite = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"star.png"] style:UIBarButtonItemStylePlain target:self action:@selector(buttonFavoriteClicked:)];
self.navigationItem.rightBarButtonItem = favorite;
}
return self;
}
Run Code Online (Sandbox Code Playgroud)
但我的按钮看起来仍像一个带有UIBarButtonItemStyleBordered替换文字的按钮 http://img693.imageshack.us/img693/1632/bildschirmfoto20100227ui.png
有没有办法在这个位置设置一个朴素的按钮?
java ×3
html ×2
algorithm ×1
astronomy ×1
bash ×1
c ×1
c++ ×1
declarative ×1
django ×1
fullscreen ×1
image ×1
iphone ×1
linked-list ×1
objective-c ×1
python ×1
regex ×1
safari ×1
swing ×1
url ×1
windows ×1