小编Tru*_*oft的帖子

获取字体高度的GC和FontData有什么区别?

这解释了字体指标 在此输入图像描述

我想我们可以在这些SWT中获得"字体高度";

GC gc = new GC(label);
System.out.println( gc.textExtent(label.getText()) );
System.out.println( label.getFont().getFontData()[0].getHeight() );
Run Code Online (Sandbox Code Playgroud)

为什么这两个出局不一样?哪一个是正确的字符串高度?

java fonts swt font-size

7
推荐指数
1
解决办法
1729
查看次数

在.NET中序列化数据传输对象

我有一组数据传输对象(例如很多请求,响应消息类,如MainRequest,MainResponse,ShutDownRequest,ShutDownResponse)随着项目的发展,新类不断涌现.这些类必须(使用不同的公共XSD各种XML格式序列化).随着项目的发展,新的XML格式也随之而来.

我的问题是如何围绕这两个要求设计我的类和接口,特别是在我应该放置实际(de)serration逻辑的地方.我应该编写一个可以接受各种DTO实例的静态服务,知道如何序列化它们吗?当新课程出现时,我必须触摸每个FormatXSeriaizer并添加新的覆盖.随着新格式的出现,我只需要编写新的FormatXSerializer类.

FormatASerializer.Serialize(XmlWriter writer, MainResponse r);
FormatASerializer.Serialize(XmlWriter writer, ShutDownResponse r);
FormatBSerializer.Serialize(XmlWriter writer, MainResponse r);
FormatBSerializer.Serialize(XmlWriter writer, ShutDownResponse r);
Run Code Online (Sandbox Code Playgroud)

或者DTO自己应该知道如何去做.所以我把它放在一个地方 - 每个DTO课程.随着新的DTO课程的出现,他们只需要实现各种格式的序列化.随着新格式的出现,我必须触及每个DTO课程.

myMainRequestInstace.Serialize(FormatTypeEnum type, XmlWriter writer);
Run Code Online (Sandbox Code Playgroud)

还是有完全不同的方法?我是否应该为序列化引入一个通用的接口并且有一些控制反转,所以我可以在运行时加载新格式的序列化器?

什么设计模式可以指导我在这里?

我可以研究.NET世界中的哪些开源代码来查看有关此主题的不同方法?

编辑:我知道框架中存在的一般序列化技术.我的问题更侧重于尊重这两个要求的类设计:多个xml格式和多个DTO(消息类型)随着项目的发展而不断涌现.

.net serialization class-design

6
推荐指数
2
解决办法
6708
查看次数

Rails应用程序中的前缀URL

我希望我的2.3 Rails应用程序中的所有页面都有以前缀为url的URL:

www.example.com/app/
Run Code Online (Sandbox Code Playgroud)

routes.rb按以下方式写了这篇文章:

# I named the first part of the url ':appl'
map.root :appl => "app", :controller => "home"

# Default routes
map.connect ':appl/:controller/:action/:id'
map.connect ':appl/:controller/:action/:id.:format'
Run Code Online (Sandbox Code Playgroud)

这一切都很好,除了map.resources我所拥有的

map.resources :pages
Run Code Online (Sandbox Code Playgroud)

现在无论我在哪里,edit_page_path或者page生成的url都不正确,因为app在开头没有插入.我试着namespacescope,像我见过这里章节2.6,但没有成功.

我该怎么做?是:appl在路由的坏主意?

routing ruby-on-rails

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

使用Criteria and Restrictions进行查询时,Hibernate异常"无法解析属性"

我在hibernate中有一个OneToMany关系定义如下:

@Entity
@Table(name = "groups")
public class Group extends BaseModel {// BaseModel defines id as @Id and @GeneratedValue

    @OneToMany
    @JoinColumn(name = "group_id")
    private List<User> users;

    // other fields, getters and setters omitted 
}


@Entity
@Table(name = "users")
public class User extends BaseModel {

    @ManyToOne
    @JoinColumn(name = "group_id")
    private Group group;

    // other fields, getters and setters omitted 
}
Run Code Online (Sandbox Code Playgroud)

group_id位于users表中.
调用方法Group.getUsers()User.getGroup()正常工作.但我还需要在列之后进行查询group_id:

Criteria criteria = Activator.getDefault().getSQLSession().createCriteria(User.class);
Criterion c = Restrictions.eq("group_id", 1); // an id …
Run Code Online (Sandbox Code Playgroud)

java hibernate one-to-many

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

Java包 - 引用来自不同包的类

在(默认包)中,我有一个名为"Bird"的类,它有一个名为"dialog"的方法.

我可以在同一个包中创建一个名为Class1的类,如下所示:

public class Class1
{
    public static void main(String[] args) 
    {
        Bird b = new Bird("Alexander",true,5);
        b.dialog("tweet!");
    }
}
Run Code Online (Sandbox Code Playgroud)

这实际上有效,我实际上可以tweet!在控制台中看到.

我的问题是:如果代码Class1位于包中,我需要在代码中添加什么Fundamental (而类Bird位于"默认包"中)?我收到一个错误:在这种情况下"鸟类型未被识别".我应该以某种方式表明包裹.

附带问题:1.什么是类路径?如何更改?我已经看到这个术语在几个与包相关的讨论的背景下被模糊地使用,但没有一个像我刚才给出的明确的例子.2.我见过多次名为xxx.bla.zzz的软件包 - 这是标准吗?我通常只使用一个通用名称(不是三个分隔的.)我理解一个包是Java替代其他语言的命名空间.如果有几个解决方案值得一提,我会很感激.谢谢!

java package

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

如何在 SM 显示器上跨越 2 行的 Bootstrap 4 表单行中的字段之间设置边距?

我正在尝试创建一个 Bootstrap 4 表单,其中一些字段对于大于 sm 的屏幕应位于一行,否则应将它们放在 2 行中。

我尝试使用以下代码来做到这一点:

<div class="form-group row">
  <label class="col-sm-2 col-form-label">File:</label>
  <div class="col-sm-10 col-md-6">
    <input class="form-control" type="text" />
  </div>
  <label class="col-sm-2 col-md-2 col-form-label">Type</label>
  <div class="col-sm-4 col-md-2">
    <select class="form-control"><option value=""></option></select>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

对于md + ,字段将位于一行: 2+6+2+2
对于sm,该行将为 2+10 (我们将其命名为A),下一个 - B - 2+4...

我的问题是,新的“行” AB之间没有边距,就像我们有 2 个带有“行”类的 div 一样。

请参阅此小提琴: https: //jsfiddle.net/truesoft/q1djhp5b/第 1 行只是作为边距的示例,它在下一行之间有一个边距。但是当屏幕为smlabel时,当 Type并进入下一行时没有边距。我尝试为提交按钮留出边距,但如果我放置这些按钮,则在其他情况下将无法正常显示。select

边距用红色标记

哪种方法是最好的方法?

html css css-selectors twitter-bootstrap bootstrap-4

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

将excel单元格文本转换为数字poi

HAI

我想要使​​用POI API将单元格文本值转换为Excel中的数字.

单元格文本值,如'2,345',表示为数字.

我怎样才能做到这一点.

如果有人遇到这个问题,请告诉我...

java export-to-excel apache-poi

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

在Ruby on rails上渲染部分集合正在增加项目

我想在Ruby-on-Rails中显示页面中的项目列表.我使用偏爱

在我的index.html.erb文件中我有:

<%= @lista = News.find(:all, :order => Document::COL_DATE + ' DESC, id DESC')
    render :partial => "newsitem",
           :layout => "list_news",
           :spacer_template => "spacer",
           :collection => @lista
%>
Run Code Online (Sandbox Code Playgroud)

_list_news.html.erb我有:

<div class="news">
  <%= yield %>
</div>
Run Code Online (Sandbox Code Playgroud)

_spacer.html.erb 我有<hr/>

_newsitem.html.erb我有

<%= newsitem_counter + 1 %>
<!-- Code to print details for one item -->
Run Code Online (Sandbox Code Playgroud)

问题是它多次打印列表:

如果列表有3个项目,则显示3次:1,2,3,1,2,3,1,2,3.
如果它有7个项目,那么这些项目将被打印7次.

我的代码有什么问题?

collections renderpartial ruby-on-rails

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

复制二进制文件的内容

我正在设计一个图像解码器,作为第一步,我试图复制使用cie打开文件,并将其内容写入新文件.下面是我使用的代码.

while((c=getc(fp))!=EOF)
  fprintf(fp1,"%c",c);
Run Code Online (Sandbox Code Playgroud)

其中fp是源文件,fp1是目标文件.程序执行时没有任何错误,但图像文件(".bmp")未正确复制.我观察到复制文件的大小较小,只有20%的图像可见,其他都是黑色.当我尝试使用简单的文本文件时,副本已完成.

你知道问题是什么吗?

c copying filehandle

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

确定此Delete语句的作用

不是一个sql程序员.它在我看来它正在寻找今天exch_date的任何东西并删除它.那是对的吗?

DELETE FROM dbo.Table where 
DATEADD(dd, DATEDIFF(dd,0,exch_Date),0) = DATEADD(dd, DATEDIFF(dd,0,GETDATE()),0)
Run Code Online (Sandbox Code Playgroud)

sql t-sql stored-procedures

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

在Ruby on Rails中路由生成的路径

我是ruby-on-rails的初学者,我花了最后一小时尝试做以下事情:

我有一个ruby-on-rails应用程序 - 包含帖子和类别的博客.我希望有另一个帖子的URL(我希望有http://localhost:3000/news而不是http://localhost:3000/posts)首先我试图将控制器和类替换PostsNews,但我放弃了(因为annoyng奇异复数的事情).然后在我的I替换map.resources :posts(案例1)

  map.resources :news, :controller => "posts"     #case 2
Run Code Online (Sandbox Code Playgroud)

要么

  map.resources :posts, :as => 'news'             #case 3
Run Code Online (Sandbox Code Playgroud)

routes.rb我上看到的一些网站.它也不起作用.

我怎样才能做到这一点?


编辑:

输出rake routes是(只有第一行):

对于案例1和3:

               posts GET    /posts                           {:action=>"index", :controller=>"posts"}
     formatted_posts GET    /posts.:format                   {:action=>"index", :controller=>"posts"}
                     POST   /posts                           {:action=>"create", :controller=>"posts"}
                     POST   /posts.:format                   {:action=>"create", :controller=>"posts"}
            new_post GET    /posts/new                       {:action=>"new", :controller=>"posts"}
  formatted_new_post GET    /posts/new.:format               {:action=>"new", :controller=>"posts"}
           edit_post GET    /posts/:id/edit                  {:action=>"edit", :controller=>"posts"}
 formatted_edit_post GET    /posts/:id/edit.:format          {:action=>"edit", :controller=>"posts"} …
Run Code Online (Sandbox Code Playgroud)

routing ruby-on-rails

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

ArrayList到String数组

给定3个变量(homeNumber,mobileNumber和workNumber),它们可以为null,但至少其中一个是String,我需要返回一个String数组,以便稍后在Android对话框中使用它.我这样做有麻烦.我尝试在ArrayList中执行它并删除所有null元素,这样就只有我想要的只有字符串的ArrayList,但是当我尝试将它更改为数组时,我在最后一行得到一个ClassCast异常.

ArrayList numberList = new ArrayList();
numberList.add(homeNumber);
numberList.add(mobileNumber);
numberList.add(workNumber);
numberList.removeAll(Collections.singleton(null)); 

final String[] items= (String[]) numberList.toArray();
Run Code Online (Sandbox Code Playgroud)

任何想法如何解决这一问题?

java arraylist

0
推荐指数
1
解决办法
205
查看次数