我有一个简单的语言选择页面与纯CSS动画过渡.我在这里做了一个jsFiddle .
应该如何表现如下:
在Chrome中,它的行为符合预期.
在Firefox中,当我鼠标悬停在一个图像上时,两个图像都向上移动.
在Opera中,它的行为大多与预期的一样,但文本在向上移动后会跳回来.
我试图理解为什么会在这些浏览器中发生这种情况,以及如果可能的话我如何解决它.
在jsFiddle关闭的情况下,相关代码是:
HTML
<div id="container"><div id="cell">
<div class="langcell"><a href="en/index.html">
<img src="http://upload.wikimedia.org/wikipedia/en/thumb/a/a4/Flag_of_the_United_States.svg/200px-Flag_of_the_United_States.svg.png" /><br/><p>English</p></a>
</div>
<div class="langcell"><a href="es/index.html">
<img src="http://upload.wikimedia.org/wikipedia/en/thumb/9/9a/Flag_of_Spain.svg/200px-Flag_of_Spain.svg.png" /><br/><p>Español</p></a>
</div>
</div></div>
Run Code Online (Sandbox Code Playgroud)
CSS
html, body {
margin: 0;
padding: 0;
width: 100%;
height: 100%;
}
#container {
width: 100%;
height: 100%;
display: table;
}
#cell {
display: table-cell; vertical-align: middle; text-align: center;
}
.langcell {
display: inline-block;
margin: auto 1em;
}
a …Run Code Online (Sandbox Code Playgroud) 我无法解决这个问题; 从昨天开始一直困扰着我(抱歉,我之前发布了这个,然后将其删除,因为我认为我解决了它,但结果却是我修复的另一个错误).我试图简单地获取一个项目列表和一个范围,并找到允许使用所有项目的组合.
这是一个例子:想象你有4个项目(苹果,梨,桃和橙),并希望至少20%的篮子包含每个项目和最大60%.例如,你可以有25%,25%,25%,25%的每个项目或30%,30%,20%,20%等,但0%,0%,50%,50%不因为指定的最小%是20%而工作.
该程序工作正常,但它使用的项目少于整个列表(而不是每个解决方案中的4个项目,一些解决方案包含2或3个项目,这不是我想要的).如果我发送一个包含4个项目的列表,我想要使用所有4个项目的组合,而不是更少.我不希望这样,因为我打算使用大型列表,我希望大小只是所有项目,而不是小于%.以下是使用上述信息的示例(4项,20-60%范围):
good:
apples = 22
pears = 24
peach = 25
orange = 29
total: 100%
bad:
apples = 0
pears = 0
peach = 40
orange = 60
total: 100%
// Although total is correct, the example fails because
// the minimum of 20% per item was not obeyed.
Run Code Online (Sandbox Code Playgroud)
我真的很困惑为什么会发生这种情况,但如果我不得不下注,我认为这是我的递归采取列表中的项目数量并在发回之前减去一个项目的方式.它的方法是recursion_part:
private static void recursion_part(int k, int sum, int[] coeff) {
//k is number of items in the list(in this example its 4(0-3), …Run Code Online (Sandbox Code Playgroud) 大多数布局管理器都没有参数构造函数(也就是说,你可以创建一个FlowLayout new FlowLayout (),一个GridLayout new GridLayout (),一个GridBagLayout new GridBagLayout ()等).但是,BoxLayout要求您传递将要管理的容器和应该布置组件的轴.
我的问题是:既然你已经告诉布局管理器要布局哪个组件,你为什么要写
BoxLayout bl = new BoxLayout(myPanel, BoxLayout.Y_AXIS);
myPanel.setLayout(bl);
Run Code Online (Sandbox Code Playgroud)
而不只是第一行?
我参加了一个快速浏览的BoxLayout源代码,看到的构造我使用(178-185线)不拨打电话到target.setLayout(this)的那种或任何东西.看起来添加它真的很简单.有没有理由为什么它不包含在Swing库中?
如果重要,我正在使用
java版本1.7.0
Java(TM)SE运行时环境(版本1.7.0-b147)
在Win7Pro上.
谢谢!
SSCCE:
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JButton;
public class BoxLayoutSSCCE extends JFrame {
// Change this to see what I mean
public static final boolean CALL_SET_LAYOUT = true;
public BoxLayoutSSCCE () {
super("Box Layout SSCCE");
JPanel panel = new JPanel();
BoxLayout bl = new …Run Code Online (Sandbox Code Playgroud) 尝试使用值分配新数组.
情况1 :
var x = new Array(3).map(()=>1);
Run Code Online (Sandbox Code Playgroud)
现在x是[undefined * 3]
案例2:
var x = [...new Array(3)].map(()=>1);
Run Code Online (Sandbox Code Playgroud)
现在x是[1,1,1]
有人可以帮忙吗?
为什么使用这个扩展运算符会产生这样的差异
为什么案例1 不起作用?
我有一个SoundManager简单的声音管理课程.实质上:
public class SoundManager {
public static class Sound {
private Clip clip; // for internal use
public void stop() {...}
public void start() {...}
public void volume(float) {...}
// etc.
}
public Sound get(String filename) {
// Gets a Sound for the given clip
}
// moar stuff
}
Run Code Online (Sandbox Code Playgroud)
其中大部分用途如下:
sounds.get("zap.wav").start();
Run Code Online (Sandbox Code Playgroud)
据我所知,这应该不是保持在内存中新创建的声音的引用,它应该被垃圾收集相当迅速.但是,使用一个简短的声音文件(108 KB,高达00:00:00秒,实际上大约0.8秒),我得到一个之前我只能进行大约2100次调用OutOfMemoryError:
#Java Runtime Environment没有足够的内存来继续.
#本机内存分配(malloc)无法在C:\ BUILD_AREA\jdk6_34\hotspot\src\share\_vm\prims\_jni.cpp中为jbyte分配3874172个字节
#包含更多信息的错误报告文件保存为:
#[path ]
我尝试private static final Vector<WeakReference<Sound>>在SoundManager.Sound类中实现a ,将以下内容添加到构造函数中:
// Add …Run Code Online (Sandbox Code Playgroud) java garbage-collection weak-references out-of-memory javasound
Java编译器或 JIT编译器是否通过2的恒定功率优化除法或乘法到位移位?
例如,以下两个语句是否被优化为相同?
int median = start + (end - start) >>> 1;
int median = start + (end - start) / 2;
Run Code Online (Sandbox Code Playgroud)
(基本上这个问题,但对于Java)
我有Eclipse Juno和EGit以及我已经工作了一段时间的项目.我已决定将其移至Git,因此我创建了一个Github帐户并下载并安装了该程序.存储库位于C:\Users\username\GitHub\project_name\,但它只有README.md文件.
如何配置Eclipse以使用我现有的源代码(在与git文件夹分开的工作空间中)与git一起使用?我尝试过使用Window → Show View → Other并选择"Git Repositories",但除了添加一个存储库(我已经完成)之外,我无法弄清楚如何同步代码.
我已经阅读了这个问题,但我得到的印象是,这些答案将执行一次性提交,而不是同步.
澄清一下:存储库没有任何代码.我希望将现有代码(在Eclipse工作区中)同步到新的存储库.
我有一个Java库的Ant构建文件.它看起来像这样:
<project ... ><target ... >
<jar destfile="C:\path\to\export.jar">
<manifest> ... </manifest>
<fileset dir="C:\path\to\bin" />
<fileset dir="C:\path\to\src" />
<fileset dir="C:\path\to\doc" />
<zipfileset src="C:\path\to\included\library.jar" />
</jar>
</target></project>
Run Code Online (Sandbox Code Playgroud)
唯一的问题是我的JavaDoc被直接导出到生成的jar文件的根目录中.实际上,我想要一些<copydir>可以在命令中使用的<jar>命令.
我想要的结构是这样的:
export.jar
META-INF
Manifest.MF
com
example
whatever
Blah.class
Blah.java
org
external
somelibrary
Magic.class // contents of the included library jar file
doc
// javadoc files here
Run Code Online (Sandbox Code Playgroud)
目前的结构是:
export.jar
META-INF
Manifest.MF
com
example
whatever
Blah.class
Blah.java
// some javadoc files here
org
external
somelibrary
Magic.class // contents of the included library …Run Code Online (Sandbox Code Playgroud) 据我所知,这段代码:
int[] numbers = new int[] { 1, 2 };
Run Code Online (Sandbox Code Playgroud)
与此代码相同:
int[] numbers = { 1, 2 };
Run Code Online (Sandbox Code Playgroud)
实际上,编译后的.class反汇编代码相同:
1: newarray int
3: dup
4: iconst_0
5: iconst_1
6: iastore
7: dup
8: iconst_1
9: iconst_2
10: iastore
11: astore_1
12: iconst_2
Run Code Online (Sandbox Code Playgroud)
但是,类似的代码并不总是以相同的方式执行,甚至不能编译.例如,考虑:
for (int i : new int[] { 1, 2 }) {
System.out.print(i + " ");
}
Run Code Online (Sandbox Code Playgroud)
此代码(在主方法中)编译和打印1 2.但是,删除new int[]以进行以下操作:
for (int i : { 1, 2 }) {
System.out.print(i + " …Run Code Online (Sandbox Code Playgroud) 我正在Unity中开发一个不同的iOS项目,我通过导出到Xcode(就像我一直有的那样)构建它.
每当我尝试Unity-iPhone.xcodeproj在Xcode中打开" "时,它会给我以下错误:
无法打开项目,因为无法解析项目文件.
我到处都看,但无法弄清楚.
项目名称中没有任何空格.
我检查过.plist,一切看起来都很好.
捆绑标识符与中的匹配.plist.
这在之前的项目中有效,但现在由于某种原因我得到了这个错误.是什么赋予了?