Java me LUIT表格布局嵌入文本区域
我的目标是通过解析XML文件来显示表 我使用的是SAX解析器,内容有多行,我想要 将表格宽度调整为适合显示器。当然Y_轴滚动也可以 现在,我正在使用src/com/sun/lwuit/html/的HTMLTable模型及其对应的HTMLTable。为此,我声明它的方法是公共的,因此我可以访问它们。到目前为止,这一切都很好。这允许我在不过早知道表大小的情况下声明表 为了允许多行,我在单元格中嵌入文本区域 现在问题是:HTMLTable t需要Java me LUIT表格布局嵌入文本区域,java-me,lwuit,Java Me,Lwuit,我的目标是通过解析XML文件来显示表 我使用的是SAX解析器,内容有多行,我想要 将表格宽度调整为适合显示器。当然Y_轴滚动也可以 现在,我正在使用src/com/sun/lwuit/html/的HTMLTable模型及其对应的HTMLTable。为此,我声明它的方法是公共的,因此我可以访问它们。到目前为止,这一切都很好。这允许我在不过早知道表大小的情况下声明表 为了允许多行,我在单元格中嵌入文本区域 现在问题是:HTMLTable t需要t.setScrollableY(true),否则不会显
t.setScrollableY(true)
,否则不会显示所有行
这会导致表格在X方向有点过大,因此不会显示右边框。
此外,底部边框并非始终显示
嵌入表的容器具有BorderLayout.Y_轴。
我尝试过的事情:
t.setPreferredW(mainContainer.getLayoutWidth())代码>这确实减少了表的大小,但是表不会显示它的所有行,比如不显示t.setScrollableY(true)。
t.setLayout(新的BoxLayout(BoxLayout.Y_轴))
这会导致java/lang/ClassCastException
有什么想法吗?提前谢谢
摘自我的代码:
} else if (qName.equalsIgnoreCase("td")) {
if (sb.length() > 0) {
String sbt = new String(sb);
sb.delete(0, sb.length());
TextArea c = new TextArea(sbt);
c.setEditable(false);
c.getStyle().setFont(smallFont);
table.addCell(c, false, null);
}
} else if (qName.equalsIgnoreCase("tr")) {
debugPrint("Row closed.");
table.commitRow();
} else if (qName.equalsIgnoreCase("table")) {
HTMLTable t = new HTMLTable(table);
//without scrollable Y not all table rows are shown
t.setScrollableY(true);
//t.setPreferredW(screenWidth);
//this is verboten.
t.setLayout(new BoxLayout(BoxLayout.Y_AXIS));
mainContainer.addComponent(t);
tableBool = false;
不能从表布局更改表的布局,否则它将不是表
通过将宽度百分比分配给最多为100%的表格列,可以使表格填充父BoxLayout_Y的宽度,例如,对于3列表格返回,分配33、33和44
这可以通过对表进行子类化和重写方法来实现:
protected TableLayout.Constraint createCellConstraint(Object value, int row, int column) {
TableLayout.Constraint c = super.createCellConstraint(value, row, column);
c.setWidthPercentage(whateverYouWant);
return c;
}
不能从表布局更改表的布局,否则它将不是表
通过将宽度百分比分配给最多为100%的表格列,可以使表格填充父BoxLayout_Y的宽度,例如,对于3列表格返回,分配33、33和44
这可以通过对表进行子类化和重写方法来实现:
protected TableLayout.Constraint createCellConstraint(Object value, int row, int column) {
TableLayout.Constraint c = super.createCellConstraint(value, row, column);
c.setWidthPercentage(whateverYouWant);
return c;
}