До сих пор я разрабатывал на PHP и JavaScript.В настоящее время я изучаю Groovy, но, к сожалению, не так много учебных пособий по этому языку, и книга, которую я сейчас читаю (Groovy Recipes), не содержит ничего об использовании свингового мастера groovy.Проект на работе, я хотел бы создать таблицу, подобную схеме ниже:
Instancename
groupId artifactId DEV TEST PROD
firstgroup firstartifact 1.00 1.05 1.05
secondgroup secondartifact 2.02 2.00 2.00
Это мой текущий код:
import groovy.swing.SwingBuilder
import java.awt.BorderLayout
public class Gui {
public void createGui(String instanceTitle, ArrayList<Artifact> columnData){
def bldr = new groovy.swing.SwingBuilder();
def frame = bldr.frame(
title: "Overview",
size: [600,150],
defaultCloseOperation:javax.swing.WindowConstants.EXIT_ON_CLOSE
){
def tab = table(constraints:BorderLayout.CENTER) {
tableModel(list:columnData) {
propertyColumn(header:'GroupId', propertyName:'groupId')
propertyColumn(header:'ArtifactId', propertyName:'artifactId')
propertyColumn(header:'Dev', propertyName:'devVersion')
propertyColumn(header:'Test', propertyName:'testVersion')
propertyColumn(header:'Prod', propertyName:'prodVersion')
}
}
widget(constraints:BorderLayout.NORTH, tab.tableHeader)
}
frame.pack()
frame.show();
}
}
Когда я запускаю это, я заполняю таблицус моими данными.У меня вопрос, как я могу подчинить "DEV", "TEST" и "PROD" "Instancename"?Я не знаю, как добавить заголовок над остальными.В html это выглядело бы так:
<table>
<tr>
<td colspan="2"></td>
<td colspan="3">Instancename</td>
</tr>
<tr>
<td>groupId</td>
<td>artifactId</td>
<td>DEV</td>
<td>TEST</td>
<td>PROD</td>
</tr>
<tr>
<td>firstgroupid</td>
<td>firstartifactid</td>
<td>firstdevversion</td>
<td>firsttestversion</td>
<td>firstprodversion</td>
</tr>
...
</table>
PS: Если вы знаете хорошие учебники, дайте мне знать:)