如何在中间设置ActionBar标题而不是默认的左对齐位置?

尝试将ActionBar标题设置在中间而不是默认的左对齐位置。 为此,基于其他答案,这就是我所做的: Toolbar myToolbar = (Toolbar) findViewById(R.id.toolbarDownloads); setSupportActionBar(myToolbar); if(getSupportActionBar()!=null) { getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM); getSupportActionBar().setCustomView(R.layout.actionbar_layout); } actionbar_layout.xml 但是,这不会产生预期的结果(即,这会使文本仍然保持对齐) ,这种方法有什么问题以及如何解决这个问题?

哪个软件行业使用C ++?

像大多数人一样,我在C之后学习了C ++。我学习了C ++,因为它是那些取得工作的语言之一。 我仍然在学习(做主人)。 我的一位表兄弟已经作为开发人员工作了大约12年。 他建议我学习Java,这样我就能找到一份好工作。 他说只有少数部门如远程通信使用C ++,几乎所有的企业软件都是用Java开发的。 我在大学当学生技术员。 这项工作涉及C ++中的Windows编程。 我学习了核心Java。 我不知道任何Struts , Hibernate或其他任何东西。 为了更加安全,我计划掌握两者。 但我认为Java是一个大洋,虽然使用Java编程比使用C ++更容易(这是我的观点.C ++爱好者不会杀了我)。 那些极客和专业人士在那里建议我。 你认为我应该学习它们吗? 软件行业的哪些部门使用C ++?

pdfBox – 签名有效性复选标记在Acrobat阅读器中不可见

我正在使用此作为参考向pdf添加可视签名 – https://stackoverflow.com/a/27940667/7103795 我能够正确打印细节。 但是,在Acrobat中打开时,pdf不会显示绿色勾号,尽管它是“已签名且所有签名都有效”。 在签名面板中。 这是我需要的一个例子: 如何确保出现有效性标志? 我使用的是pdfBox版本2.0.1

将简单的表达式语言放入java中

在我的Java应用程序中,用户可以指定如何从一系列元数据字段中命名文件。 即 %artist% – %album% – %disctotal% 然后我的代码解析这些字段并重新编译文件。 但是我希望用户能够使用’表达语言’,这样他们可以说: $if(%disctotal% >= 01,%discno%) 使用ifelse ,比较长度和大小写等。 我不想从头开始写这个,有什么东西可以提供给我,我可以插入到我的代码中吗? 编辑:我想我有一些很好的回复,但我的知识让我失望。 让我们简化我希望用户能够编写的问题 $ if(%disctotal%> = 01,%discno%) 进入gui的一个领域。 然后在我的Java代码中,我希望能够将此表达式应用于一组文件,因此对于每个文件,我都有disctotal的值,而discno但是我希望能够将表达式转换为类似的 if(discTotal> = 1){return discNo} else {return“”} 我不想做的是必须编写识别字符串的代码(“$ if(%disctotal%> = 01,%discno%)”是一个if语句,因为这是很难做的事情。 然后扩展这个我希望表达式允许诸如大写oof字段,检查字段长度等事情。 或者:也许它应该以这种方式工作,用户输入表达式,然后在每个文件的日后,Java代码用实际值替换每个变量 即$ if(%disctotal%> = 01,%discno%) – > $ if(2> = 01,1) 然后将其传递给exopression语言进行解析并给出结果, 这是Javascript的想法吗?

Java 6是否为JMX远程连接打开了默认端口?

我的具体问题与JDK 1.6中使用的JMX有关:如果我使用JRE 1.6运行Java进程 com.sun.management.jmxremote 在命令行中,Java是否为远程JMX连接选择了一个默认端口? 背景故事:我目前正在尝试开发一个程序,让客户能够通过JMX从远程机器连接到我们的一个进程。 目标是实现对实时显示控制台上发生的情况的远程调试。 由于他们的服务级别协议,他们强烈有动力捕获尽可能多的数据,如果情况看起来太复杂,无法快速修复,重新启动显示控制台并允许它重新连接到服务器端。 我知道我可以在JDK 1.6进程上运行jconsole,在JDK 1.6.7进程上运行jvisualvm ,同时可以访问控制台。 但是,由于操作要求和涉及的人员问题,我们强烈要求远程获取我们需要的数据并重新启动和运行。 编辑:我知道命令行端口属性 com.sun.management.jmxremote.port=portNum 我想回答的问题是,如果你没有在命令行设置该属性,Java是否会选择另一个端口进行远程监控? 如果是这样,你怎么能确定它可能是什么?

为什么Java编译器允许在throws部分中列出exception,该方法无法抛出exception

如果有一些代码显然无法抛出exception,那么Java编译器似乎不一致,并且您编写了声明代码可以抛出该exception的周围代码。 请考虑这些代码段。 片段1 从未抛出的exceptioncatch 。 public void g(){ try { } catch (FileNotFoundException e) {//any checked exception } } 消息是编译错误 Unreachable catch block for FileNotFoundException. This exception is never thrown from the try statement body Snippet2 throws声明,指示从不抛出的exception。 public void g() throws FileNotFoundException{ } 它汇编很好。 因此,第一个代码段的结果显示编译器可以计算方法是否可以抛出throws列表中列出的throws 。 因此,似乎编译器故意不报告第二个片段的错误。 但为什么? 为什么编译器允许您在throws部分编写exception,即使编译器知道这些exception不能被抛出?

Java打包工具 – jsmooth,launch4j,onejar的替代品

我已经使用这三个开源工具来打包我的java应用程序,但它们现在看起来都像放弃了。 这三个都是非常好的软件。 现在有哪些选择? (或者使用Java进行桌面应用程序开发不再是应用程序开发人员构建和维护这些工具的“热门”市场吗?)。 1)exe包装器:jsmooth – 2。5年内没有新的开发 – 不支持64位。 launch4j – 一年多没有新开发,支持64位,但你不能签署launch4j创建的exe,所以我更喜欢jsmooth,但它不支持64位。 2)onejar:它有效,但在超过2。5年内没有新的开发或网站更新。 所以,如果突然中断了新的Java构建,只想切换到支持/有备份计划的东西。 谢谢埃德加

do-while条件不会停止循环Java

所以我有一个名为ConsoleHangmanGame的对象, ConsoleHangmanGame包含玩游戏和显示结果的方法。 我在ConsoleHangman类中实例化了一个Hangman对象。 Hangman对象执行游戏的所有准备和处理。 奇怪的是我在ConsoleHangmanGame有一个while循环用于playGame()方法,但是当条件满足时它不会停止循环。 这是我的playGame方法 public boolean playGame() { // Declaration String letter; int result = 0; boolean vali; // Statement try { hg.prepGame(); // call prepGame method do { displayWord(); System.out.print(“\nPlease enter a letter: “); letter = scan.next(); letter = letter.toLowerCase(); vali = letter.matches(“[az]”); if(vali == true) { result = hg.process(letter); // call […]

从代码更新.JAR的内容

我正在制作一款需要更新的游戏。 我有两个JAR文件: Update.Jar和Game.Jar基本上,我希望能够修改Game.Jar而不会完全覆盖它。 我要: 从代码中打开Jar文件作为Zip文件 替换/添加一些资源 重新打包Jar文件。 是否有一种简单的方法或类可以做到这一点? 如果没有,那么最干净的方法是什么?

CORSfilter未按预期工作

我试图从我的Webstorm应用程序发送请求到我的后端应用程序,它们都在不同的端口,我在前端使用angularJS,在后端使用java。 我已经阅读了一些关于CORSfilter的内容,并且我了解到为了做Cross Origin Requests,我需要实现它们。 然而,在做完这个我的错误后,正在 Failed to load resource: No ‘Access-Control-Allow-Origin’ header is present on the requested resource. Origin ‘http://localhost:63343’ is therefore not allowed access. http://localhost:8080/register?password=&username= XMLHttpRequest cannot load http://localhost:8080/register?password=&username=. No ‘Access-Control-Allow-Origin’ header is present on the requested resource. Origin ‘http://localhost:63343’ is therefore not allowed access. 没有改变导致我相信我做错了什么,这是我发送请求的代码: var charmanderServices = angular.module(‘charmanderServices’, [‘ngResource’]); var hostAdress = […]