小编Epa*_*aga的帖子

矩形项目的优化网格

我有N个长宽比为Aitem(X:Y)的矩形项目。
我有一个长宽比为Aview的矩形显示区域

这些项目应以表格形式布置(即r行,c列)。

什么是理想的网格行x列,以使单个项目最大?(当然,行*列> = N-即可能有“未使用的”网格位置)。

一个简单的算法可以遍历行= 1..N,计算所需的列数,并使行/列对具有最大的项。

我想知道是否有一个非迭代算法(例如,对于Aitem = Aview = 1,行/列可以由sqrt(N)近似)。

algorithm math layout mathematical-optimization

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

GWT:更改树行的填充?

GWT树看起来大致如下:

<div class="gwt-Tree">
    <div style="padding-top: 3px; padding-right: 3px;
                padding-bottom: 3px; margin-left: 0px;
                padding-left: 23px;">
         <div style="display:inline;" class="gwt-TreeItem">
              <table>
                   ...
              </table>
         </div>
    </div>
    <div ...>
    </div>
    ...
</div> 
Run Code Online (Sandbox Code Playgroud)

我的问题是:我应该如何更改单个树行的填充?我想我可以按照设置CSS规则的方式做一些事情,.gwt-Tree > div但这看起来很糟糕.有更优雅的方式吗?


解决方案:显然没有更优雅的方式.以下是我们所做的,FWIW:

 .gwt-Tree > div:first-child { 
      width: 0px !important; 
      height: 0px !important; 
      margin: 0px !important; 
      padding: 0px !important; 
 } 

 .gwt-Tree > div {
      padding: 0px 5px !important;
 }

 .gwt-Tree > div[hidefocus=true] {
      width: 0px !important;
      height: 0px !important;

      margin: 0px !important;
      padding: 0px !important;
 }
Run Code Online (Sandbox Code Playgroud)

css java tree gwt

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

如何在SwiftUI中检测点击手势位置?

(对于SwiftUI,不是普通的UIKit)非常简单的示例代码,例如,在灰色背景上显示红色框:

struct ContentView : View {
    @State var points:[CGPoint] = [CGPoint(x:0,y:0), CGPoint(x:50,y:50)]
    var body: some View {
        return ZStack {
            Color.gray
                .tapAction {
                   // TODO: add an entry to self.points of the location of the tap
                }
            ForEach(self.points.identified(by: \.debugDescription)) {
                point in
                Color.red
                    .frame(width:50, height:50, alignment: .center)
                    .offset(CGSize(width: point.x, height: point.y))
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我假设不是需要tapAction,而是需要TapGesture或其他东西?但即使在那儿,我也看不到任何方法来获取有关水龙头位置的信息。我将如何处理?

swift swiftui

5
推荐指数
7
解决办法
1456
查看次数

如何为在Java中运行的Selenium测试设置浏览器区域设置?

我一直在寻找 一个,同时,仍然没有发现任何东西.当我在Eclipse中运行我的Selenium测试时,它会打开一个Firefox浏览器,它始终将英语作为其默认语言环境.更改默认浏览器设置不会更改Selenium打开的每个新浏览器都具有英语区域设置的事实.

我没有在API中找到任何方法来设置除英语之外的其他东西作为我的语言环境.我已经尝试将语言环境设置为Selenium服务器的VM参数,我已经尝试将其设置为我的测试.

必须有一些明显的方法来做到这一点,我错过了这将导致你轻松代表.:) 有什么想法吗?

java selenium integration-testing localization

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

Calendar.getActualMaximum(Calendar.WEEK_OF_YEAR)很奇怪

要么我不理解方法getActualMaximum(int)或字段WEEK_OF_YEAR,要么涉及到Sun漏洞(或全部三个)......有人可以向我解释为什么(至少在德语区域设置中 ......)以下代码:

    Locale.setDefault( Locale.GERMAN );
    Calendar c = Calendar.getInstance();
    c.set( Calendar.YEAR, 2010 );
    c.set( Calendar.MONTH, 0 );
    c.set( Calendar.DAY_OF_MONTH, 1 );
    System.out.println("max:    "+c.getActualMaximum( Calendar.WEEK_OF_YEAR ));
    System.out.println("actual: "+c.get( Calendar.WEEK_OF_YEAR ));
Run Code Online (Sandbox Code Playgroud)

产生以下输出:

    max:    52
    actual: 53
Run Code Online (Sandbox Code Playgroud)

这是Javadoc getActualMaximum(int):

给定此Calendar的时间值,返回指定日历字段可能具有的最大值.例如,MONTH字段的实际最大值在某些年份为12,在希伯来日历系统中为其他年份的13.


编辑

情节变粗.在英语语言环境(-Duser.language=en -Duser.country=us)中,输出为:

    max:    52
    actual: 1
Run Code Online (Sandbox Code Playgroud)

似乎指出它是德国语言环境的Sun bug?

java calendar week-number

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

characterIndexForPoint 为相同的参数返回不同的结果

我有一个连接到平移手势识别器的 UITextView。当我将手指拖到文本视图上时,我使用 characterIndexForPoint 方法来确定我的手指在哪个字符上,然后在该点突出显示文本。

在视图中的文本有换行符的某些情况下,即使我传入相同的参数,此方法似乎返回不同的结果。touch 方法被连续调用两次,一次 charIndex 是 167,然后是 270。

我检查了文本视图的 AttributedString 并且在两种情况下它的字体大小相同。

- (IBAction)touched:(UIPanGestureRecognizer *)sender {
    if (self.txtView.isFirstResponder) {
        return;
    }
    if (sender.state == UIGestureRecognizerStateChanged) {

        CGPoint touchPoint = [sender locationInView:self.txtView];
        NSUInteger charIndex = [self.txtView.layoutManager
                     characterIndexForPoint:touchPoint
                            inTextContainer:self.txtView.textContainer
   fractionOfDistanceBetweenInsertionPoints:0];
 ...
Run Code Online (Sandbox Code Playgroud)

这是一个已知的错误?难道我做错了什么?

cocoa-touch objective-c uigesturerecognizer textkit

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

如何从Java中确定安装了哪个.NET框架

在我的Java程序中,我想确定系统上安装了哪个.NET Framework.这样做的最好(也是最简单)方法是什么?

回答谢谢scubabbl!它用于检查目录中System.getenv( "WINDIR" ) + "\\Microsoft.NET\\Framework"以字母"v"开头的目录.

java .net-3.5

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

在显示HTML时,JEditorPane是否有Charset问题?

我有以下代码:

import javax.swing.JEditorPane;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.ScrollPaneConstants;


public class ScratchPad {

    public static void main(String args[]) throws Exception {
        String html ="<html>"+
"<head>"+
"<meta http-equiv=\"Content-Type\" content=\"text/html; charset=ISO-8859-1\"/>"+ // this is the problem right here
"<title>Error 400 BAD_REQUEST</title>"+
"</head>"+
"<body>"+
"<h2>HTTP ERROR: 400</h2><pre>BAD_REQUEST</pre>"+
"<p>RequestURI=null</p>"+
"<p><i><small><a href=\"http://jetty.mortbay.org\">Powered by jetty://</a></small></i></p>"+
"</body>"+
"</html>";
        JFrame f = new JFrame();
        JEditorPane editor = new JEditorPane();
        editor.setEditable( false );
        editor.getDocument().putProperty( "Ignore-Charset", "true" );  // this line makes no difference either way
        editor.setContentType( "text/html" );
        editor.setText( …
Run Code Online (Sandbox Code Playgroud)

html java swing jeditorpane

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

双重小于零的双重投射

Double out = otherTypes.someMethod(c, c2);
assertEquals((Double)-1.0D, out);
Run Code Online (Sandbox Code Playgroud)

我得到错误"Double无法解析"(assertEquals中的Double),除了提取变量之外,还有什么方法可以解决它吗?

这是Java中的错误还是非常有用的功能,无法修复?

java syntax

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

如何将<junit>任务的工作目录设置为除basedir之外的其他任务?

我有一个带有junit目标的Ant脚本,我希望它使用与basedir不同的工作目录启动VM.我该怎么做?

这是我的目标的伪版本.

<target name="buildWithClassFiles">
    <mkdir dir="${basedir}/UnitTest/junit-reports"/>
    <junit fork="true" printsummary="yes">
        <classpath>
            <pathelement location="${basedir}/UnitTest/bin"/>
            <path refid="classpath.compile.tests.nojars"/>
        </classpath>
        <jvmarg value="-javaagent:${lib}/jmockit/jmockit.jar=coverage=:html"/>
        <formatter type="xml" />
        <test name="GlobalTests" todir="${basedir}/UnitTest/junit-reports" />
    </junit>

</target>
Run Code Online (Sandbox Code Playgroud)

java ant junit

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