小编Pan*_*vos的帖子

Swing 中的 Furigana(或 GUI 替代品......)

简单地说,我找不到在 JLabel 中轻松显示假名的方法。

作为记录:

Furigana (?????) 是一种日语阅读辅助工具,由较小的假名或音节字符组成,印在汉字(表意字符)或其他字符旁边以指示其发音。在水平文本 yokogaki 中,它们位于文本行上方,而在垂直文本 tategaki 中,它们位于文本行右侧,如下图所示。它是一种类型的 ruby​​ 文本。Furigana 在日语中也称为 yomigana (?????) 或 rubi (???)。

在 XHTML 中,Ruby Annotation元素支持这一点,而 Swing 有限的 HTML 呈现功能不支持该元素。

我最近尝试创建一个JRubyLabel能够处理 Ruby Annotation 元素的类,方法是将多个JLabel元素堆叠在一个 a 中JPanel- 但是,我对 Swing 不是很熟悉,所以从某种意义上说,我觉得我把事情复杂化了。

因此,我的问题是,按优先顺序排列:

  • Swing 是否支持显示 ruby​​ 文本?
  • 您能看到在 Swing 中实现 ruby​​ 文本的更简单或更好的方法吗?
  • 最后,还有没有其他的GUI程序-最好的Java -即支持拼音文本?

java user-interface swing ruby-characters

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

处理鼠标右键双击形状

我怎么能处理这个Mouse Right Button Double Click事件Shape

c# wpf shape double-click mouseevent

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

Task.wait和continueWIth

我正在完成如下任务.

var task = Task<string>.Factory.StartNew(() => longrunningmethod()
    .ContinueWith(a =>
             longrunningmethodcompleted((Task<string>)a,
                  TaskScheduler.FromCurrentSynchronizationContext())));

task.Wait();
Run Code Online (Sandbox Code Playgroud)

我的任务将调用longrunning方法,完成后将调用完成的方法.在我的长期运动方法中,我正在推迟Thread.Sleep(30000).当我使用Task.wait系统挂起并且它没有调用longrunningmethodcompleted方法时.如果我不使用Task.wait一切顺利.

task-parallel-library c#-4.0

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

将SQL查询结果导出为CSV

我正在使用sqlcmd将带有两列的查询结果导出到csv.简单的查询是:

SELECT DISTINCT
    CustomerGuid, CustomerPassword
FROM
    ServiceOrder
ORDER BY
    CustomerGuid
Run Code Online (Sandbox Code Playgroud)

当我在Excel中打开导出的csv时,客户和密码都在同一列上.是否可以使用sqlcmd将它们拆分为自己的列.我的sqlcmd看起来像

SQLCMD -S . -d BAS -Q "SQL STATEMENT" -s "," -o "c:\data.csv"
Run Code Online (Sandbox Code Playgroud)

谢谢.

sql sql-server excel sqlcmd

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

是否可以使用Unicode输入Furigana(和Ruby字符)?

我目前正在制作一个Corona应用,我想在其中添加日语文本。对于不认识的人来说,日语似乎有多种语言可以写文字(汉字,平假名等)。Furigana是一种在平假名中包含汉字字符和平假名的方法(或Ruby字符)。有关示例,请参见本页上的Ruby幻灯片。

我正在寻找在我的应用程序中使用Furigana的方法。我希望有一种使用Unicode的方法。好吧,我偶然发现了Interlinear注释字符,并在Corona中对其进行了测试(使用unicodeToUtf8LastResort字体),如下所示:

    local iaAnchor = unicodeToUtf8(0xfff9)
    local iaSep = unicodeToUtf8(0xfffa)
    local iaTerm = unicodeToUtf8(0xfffb)
    local options = {
        parent = localGroup,
        text = iaAnchor .. "?" .. iaSep .. "??" .. iaTerm .. iaAnchor .."?" .. iaSep .. "?" .. iaTerm,
        x = 285,
        y = 195,
        font = "LastResort",
        fontSize = 24,
    }
    local testText = display.newText(options)
Run Code Online (Sandbox Code Playgroud)

不幸的是,我没有成功,最终得到了这样的东西:

错误的假名结果

所以,我的问题是,是否有可能使Furigana(和Ruby字符 …

unicode lua string-formatting coronasdk ruby-characters

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

将IS NULL转换为BIT

这可能是一个非常基本的问题,但我只是在编写查询时遇到它.

为什么不能SQL Server转换的支票NULLBIT?我在考虑这样的事情:

DECLARE @someVariable INT = NULL;
-- Do something
SELECT CONVERT(BIT, (@someVariable IS NULL))
Run Code Online (Sandbox Code Playgroud)

预期结果将是10.

t-sql sql-server sql-server-2014

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

C#NOT(〜)位智能运算符返回负值

为什么C#的按位运算NOT符返回(the_number*-1)-1

byte a = 1;
Console.WriteLine(~a); //equals -2
byte b = 9;
Console.WriteLine(~b); //equals -10
// Shouldn't a=0 and b=6?
Run Code Online (Sandbox Code Playgroud)

我怎么用C#做这个?

9 = 0b1001 -> NOT
  = 0b0110 = 6
Run Code Online (Sandbox Code Playgroud)

c# bit bitwise-operators

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

有些服务无法使用该库构建:NetCore.AutoRegisterDi

我正在开发基于 ASP.NET Core 3.1 GraphQL 的 API。我使用下面的参考文章在 API 层中设置自动 DI 配置并使用了 nuget 包:NetCore.AutoRegisterDi

https://www.thereformedprogrammer.net/asp-net-core-fast-and-automatic-dependency-injection-setup/

这是代码详细信息:

代码:

启动.cs:

public virtual void ConfigureServices(IServiceCollection services) => services
                      .AddGraphQLResolvers()
                      .AddProjectRepositories();
Run Code Online (Sandbox Code Playgroud)

ProjectServiceCollectionExtensions.cs

public static class ProjectServiceCollectionExtensions
{
    public static IServiceCollection AddProjectRepositories(this IServiceCollection services) => 
        services.RegisterAssemblyPublicNonGenericClasses(Assembly.GetAssembly(typeof(CommonService)))
                .Where(c => c.Name.EndsWith("Persistence"))
                .AsPublicImplementedInterfaces(ServiceLifetime.Scoped);

    public static IServiceCollection AddGraphQLResolvers(this IServiceCollection services) =>
       services
           .AddScoped<ICountriesResolver, CountriesResolver>()
           .AddScoped<ICountryGroupsResolver, CountryGroupsResolver>()
           .AddScoped<IDisclaimerResolver, DisclaimerResolver>();
}
Run Code Online (Sandbox Code Playgroud)

上面的CommonService是服务层的一部分,以持久性结束。

国家解析器.cs

public class CountriesResolver : Resolver, ICountriesResolver
{
    private readonly ICountryService _countryService;
    private readonly IHttpContextAccessor _accessor;
    private readonly …
Run Code Online (Sandbox Code Playgroud)

dependency-injection graphql-dotnet c#-8.0 asp.net-core-3.1 netcore.autoregisterdi

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

C# HttpClient 在补丁请求上返回 415 不支持的媒体类型

我们有一个 .netcore 3.1 ApiController,其端点侦听 PATCH 请求,并定义了一个用于集成/API 测试的测试服务器。

使用 Postman 发送的 PATCH 请求工作得很好,但在 XUnit 测试中通过 HttpClient 发送的请求失败,并显示 415 不支持的媒体类型。

邮递员补丁请求:除了承载令牌和内容类型之外没有特定标头:“application/json”

在测试中,我们使用 WebApplicationFactory 及其 HttpClient 的factory.CreateClient()。

这不应该是 Json 序列化的问题,因为我通过调试器查看了内容,它似乎序列化得很好。

此外,我们的 POST 方法完全开箱即用,使用完全相同的代码(将“PATCH”替换为“POST”等)

期待一些建议。另外,如果您需要更多信息,请告诉我。多谢。

控制器:

[HttpPatch("{id}")]
public async Task<ActionResult<Unit>> Edit(Edit.Command request)
{
     return await Mediator.Send(request);
}
Run Code Online (Sandbox Code Playgroud)

命令:

public class Command : IRequest
{
      public string Id { get; set; }

      public JsonPatchDocument<ObjectDTO> PatchDocument { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

测试:

[InlineData(/* inline data goes here */)]
public async void TestEdit_Ok(/* required parameters for the …
Run Code Online (Sandbox Code Playgroud)

c# patch http-status-code-415 json-patch asp.net-core-3.1

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

如何解决无法使用范围服务

我已将托管服务添加到我的 .net core 3.1 项目中。但添加托管服务后我面临以下错误。

无法使用范围服务

。在此之前我的项目运行良好。我想为我的项目添加后台服务从数据库获取数据。

启动.cs

services.AddScoped<IScheduleService, ScheduleService>();
services.AddHostedService<TimedHostedService>();
Run Code Online (Sandbox Code Playgroud)

SMhostedService.cs

internal class TimedHostedService : IHostedService, IDisposable
    {
        private readonly Microsoft.Extensions.Logging.ILogger _logger;
        private Timer _timer;
        private IScheduleService _scheduleService;
        public TimedHostedService(ILogger<TimedHostedService> logger, IScheduleService scheduleService)
        {
            _logger = logger;
            _scheduleService = scheduleService;
        }

        public Task StartAsync(CancellationToken cancellationToken)
        {
            _logger.LogInformation("Timed Background Service is starting.");

            _timer = new Timer(DoWork, null, TimeSpan.Zero,
                TimeSpan.FromSeconds(10));

            return Task.CompletedTask;
        }

        private void DoWork(object state)
        {
            _logger.LogInformation("Timed Background Service is working.");
            DateTime todaydate = new DateTime();
            var getAttendanceStatus = …
Run Code Online (Sandbox Code Playgroud)

c# .net-core asp.net-core-3.1

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