基于内容的Vaadin 10网格样式个别行

我正在使用Vaadin网格显示传入信息并实时更新。 我已经能够通过访问DOM来设置所有行的样式,如下所示: [part=”row”] { height: 27px; font-size: 14px; max-height: 27px; } 我想要做的是根据行数据的内容为特定行设置特定样式。 基本上我有一列布尔值,如果它是真的,我希望行有一个绿色背景,如果它是假的,我希望该行有一个红色背景。 现在确定我将如何在我的Java代码或我的shared-styles.html执行此shared-styles.html 。 非常感谢! 我已经看到这个示例用于基于条件以编程方式设置列,但不是行。 Grid grid = new Grid(); grid.setItems(people); grid.addColumn(new ComponentRenderer(person -> { if (person.getGender() == Gender.MALE) { return new Icon(VaadinIcons.MALE); } else { return new Icon(VaadinIcons.FEMALE); } })).setHeader(“Gender”);

Thread.sleep()是否使UI线程进入hibernate状态?

这会使当前的UI线程进入睡眠状态吗? try { Thread.sleep(20); onProgressUpdate(i); } catch (InterruptedException e) { e.printStackTrace(); }

如何拦截从Java到Groovy的调用 – 或者轻松地模拟它

我希望使用groovy的invokeMethod来做到这一点,但事实certificate,当你从Java调用Groovy时,invokeMethod不会被调用,但是否则它会完美地工作。 我有一个案例,我将Groovy类提交给Java类(我无法编辑)。 Groovy类被注释,Java类扫描注释并将注释的方法保存为它的事件的侦听器。 当事件发出时,我想从事件对象中获取一些信息,用它来检索数据并将数据注入脚本中的事件处理程序(通过该方法中的注释变量)。 我控制的东西 – 我实例化脚本,为它们设置一个基类,并将它们传递给另一个要注册的系统。 这些脚本将由其他人编写 – 我可以控制脚本的设计,但我的目标是简单。 我可能会创建一个适配器类,但这似乎非常困难和脆弱,因为我必须手动注册所有这些方法而不是像现在这样使用注释 – 有很多不同的事件要听。 我想知道是否有我不考虑的常规技巧。 对于常规的元编程我还是很新的。 也许有一种方法可以自动创建适配器类,或者当我编译脚本时,用调用其真实方法转发到我的代码的转发方法替换方法 – 这样可能吗? 请求的源代码: 源代码 – 好吧,让我们看看,这个过程分散在几个类中…… 这就是我使用ScriptBase设置Groovy类加载器的方法 cconfig.setScriptBaseClass(“tv.kress.bill.minecraft.ezplugin.ScriptBase”); GroovyClassLoader gcl = new GroovyClassLoader(getClass().getClassLoader(), cconfig); 然后我将它传递给Groovy脚本引擎(我在这里遗漏了一些东西) gse = new GroovyScriptEngine(cpString, gcl); 然后我实例化脚本 scriptClass = gse.loadScriptByName(file.getAbsolutePath()); instance = (GroovyObject) scriptClass.newInstance(); 然后,如果它是一个“监听器”,它是“jar头”java库用于识别java类的标记接口,它应该扫描注释,我将它传递给该类,以便可以注册任何带注释的方法(在某处line“instance”变为“script”,同样的对象: if (script instanceof Listener) pm.registerEvents((Listener) script, this); 脚本本身的有趣部分如下所示: @EventHandler public […]

TicTacToe Game的Java代码

我正在尝试使用数组等创建一个简单的tic tac toe游戏作为练习。 只是一个小项目,我正在为自己工作。 我知道如何编写下面的代码,但我仍然坚持如何让数组输入改变为x或o的每个用户输入。 import java.util.Scanner; public class TicTacToe { public static void main(String[] args) { Scanner input = new Scanner(System.in); String[] array; array = new String [9]; int uInput; int pCounter=1; while ( uInput <= 9) { System.out.println("Enter X coordinate:"); uInput = input.nextInt(); array[uInput] = ("x"); System.out.println("Enter X coordinate:"); uInput = input.nextInt(); array[uInput] […]

MPAndroidChart条形图 – 如何在组之间对随机x轴间隔的条形图进行分组?

我想制作一个条形图,其中3个不同的数据集在每个数据点组合在一起,如下所示: 但是,我无法使用库提供的groupBars方法将条形组合在一起,因为无论我为条目设置了什么x值,它都会根据我在参数中指定的间隔对条形图进行分组。 例如,如果我生成一个带有条目x值{0,5,13,​​17 … 50}并调用`groupBars’的数据集,那么我的所有条目都会被收集1 x值,如下所示: 我想要的是每个被分组的条形图,每个条形图在其指定的x值处可见。 如果我只是删除groupBars调用,我会得到类似于我想要的东西但不完全,因为条形图都是重叠的,如下所示: 如何获得与上图类似的结果,但每个数据集的条形图是否完全可见? 这是我生成数据集和分组条形码的代码: ArrayList happinessValues = new ArrayList(); ArrayList stressValues = new ArrayList(); ArrayList painValues = new ArrayList(); for (int i = 0; i interval per “group” mChart.groupBars(startTime, groupSpace, barSpace);

如何在StAX中跟踪解析大文件的进度?

我正在使用StAX API处理大型(1TB)XML文件。 假设我们有一个处理一些元素的循环: XMLInputFactory fac = XMLInputFactory.newInstance(); XMLStreamReader reader = fac.createXMLStreamReader(new FileReader(inputFile)); while (true) { if (reader.nextTag() == XMLStreamConstants.START_ELEMENT){ // handle contents } } 如何跟踪大型XML文件中的整体进度? 从读取器获取偏移量适用于较小的文件: int offset = reader.getLocation().getCharacterOffset(); 但作为整数偏移,它可能只适用于高达2GB的文件…

我应该使用slf4j isTraceEnabled吗?

如果我打开大量数据,以防启用跟踪我应该使用isTraceEnabled还是只执行我的log.trace(“{} mymessage”, “param”)在这种情况下使用isTraceEnabled还是没有任何好处?

JHipster:允许匿名用户读取实体,但不更新?

我使用这些值生成了一个JHipster应用程序: { “generator-jhipster”: { “jhipsterVersion”: “3.1.0”, “baseName”: “app”, “packageName”: “my.app”, “packageFolder”: “my/app”, “serverPort”: “8080”, “authenticationType”: “session”, “hibernateCache”: “ehcache”, “clusteredHttpSession”: “no”, “websocket”: “no”, “databaseType”: “sql”, “devDatabaseType”: “h2Disk”, “prodDatabaseType”: “mysql”, “searchEngine”: “elasticsearch”, “buildTool”: “gradle”, “enableSocialSignIn”: false, “rememberMeKey”: “”, “useSass”: true, “applicationType”: “monolith”, “testFrameworks”: [], “jhiPrefix”: “jhi”, “enableTranslation”: false } } 我想允许匿名用户查看实体,但不允许更新或删除该实体。 我已经尝试编辑生成的SecurityConfiguration.java文件,以便在configure(HttpSecurity http)方法中为authorizeRequests()添加permitAll(HttpMethod.GET,”/**”) 。 在尝试访问实体时,我仍然被定向到accessdenied 。 有人曾经解决过这个用例吗?

使用模拟退火的图形着色

我正在尝试使用模拟退火来提出图形着色问题的算法。 在线有一般算法,但是当我看到它时,我无法理解如何将此算法应用于此问题。 图中的每个节点必须具有来自它的neibours的不同颜色。 我怎样才能使用模拟退火算法。 这个问题的“温度”,“时间表”是什么? 请帮我理解这个。 谢谢

如何设计一个屏幕来处理许多(类似的,子类)对象?

前言:我试图在不需要样板代码的情况下解决我的问题。 我可以通过复制/粘贴和重构代码轻松解决这个问题,但是这种问题应该可以用模型驱动的方法解决,因为设计明显重现。 我有一个包含四种不同对象类型的数据库应用程序,它们将用作另一个中心对象的参数。 所有四个字段在结构上都是相同的:一个自动生成的主键和一个VARCHAR字段。 这些字段需要由最终用户编辑,因此我设计了这个屏幕: 我没有为此制作四个不同的屏幕,而是认为制作这个由四种不同对象类型使用的屏幕会很好。 为了实现这一点,我(显然,对吗?)需要创建一个抽象对象(我称之为) StringField ,它可以通过四种子类型实现: Status , Type , Classification和Designation 。 如前所述,因为每个对象在结构上都是相同的,并且以相同的方式读/写数据库,所以抽象对象似乎是合乎逻辑的。 所以,我做了这个对象: public abstract class StringField { private final int id; private final String value; private final String fieldname; private final String tablename; public StringField(int id, String value, String fieldname, String tablename) { this.id = id; this.value = value; this.fieldname […]