- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想创建一个简单的 JXTreeTable,所以我构建了以下代码:
public static void main(String[] args){
JTreeTable table = new JTreeTable();
JFrame frame=new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(new JScrollPane(table));
frame.pack();
frame.setVisible(true);
}
public JTreeTable(){
List<Conti> listaConti = new ArrayList<Conti>();
Conti c = new Conti();
c.setDescrizione("LOCALE");
c.setIva(10);
c.setImponibile(100);
c.setTotale(c.getImponibile()-c.getIva());
List<Conti> listaFigli = new ArrayList<Conti>();
Conti figlio = new Conti();
figlio.setDescrizione("FINESTRE");
figlio.setIva(5);
figlio.setImponibile(50);
figlio.setTotale(figlio.getImponibile()-figlio.getIva());
listaFigli.add(figlio);
figlio = new Conti();
figlio.setDescrizione("IMPIANTO ELETRTICO");
figlio.setIva(5);
figlio.setImponibile(50);
figlio.setTotale(figlio.getImponibile()-figlio.getIva());
listaFigli.add(figlio);
c.setListaContiFigli(listaFigli);
listaConti.add(c);
setTreeTableModel(new RandomTextTreeTableModel(listaConti));
setRowSelectionAllowed(true);
setDragEnabled(true);
setEditable(true);
setTreeCellRenderer(new DefaultTreeRenderer());
setSelectionBackground(new Color(176, 197, 227));
setSelectionForeground(new Color(0, 0, 128));
BorderHighlighter border = new BorderHighlighter(new ColumnHighlightPredicate(1, 2), BorderFactory.createEmptyBorder(0, 6, 0, 6), false, false);
addHighlighter(border);
}
class RandomTextTreeTableModel extends DefaultTreeTableModel {
DefaultMutableTreeTableNode Root = null;
final String[] ColName = {"Acquisti/Vendite","Uscite","Entrate","Saldo"};
RandomTextTreeTableModel(List<Conti>listaConti) {
Root = new DefaultMutableTreeTableNode();
this.setRoot(Root);
for (Conti conti : listaConti) {
DefaultMutableTreeTableNode node = new DefaultMutableTreeTableNode(conti);
Root.add(node);
for (Conti contoFiglio : conti.getListaContiFigli()) {
node.add(new DefaultMutableTreeTableNode(contoFiglio));
}
}
}
@Override
public String getColumnName(int column){
return ColName[column];
}
@Override
public int getColumnCount() {
return ColName.length;
}
@Override
public Object getValueAt(Object arg0, int arg1) {
try{
if(arg1==0){
int numberElement = ((DefaultMutableTreeTableNode)arg0).getChildCount();
if(numberElement<=0)
return null;
Conti c = (Conti)((DefaultMutableTreeTableNode)arg0).getChildAt(0).getUserObject();
return new String(c.getDescrizione());
}
Conti c = (Conti)((DefaultMutableTreeTableNode)arg0).getUserObject();
if(c==null)
return null;
if (arg1 == 0) {
return new String(c.getDescrizione());
}else if (arg1 == 1) {
return new String(c.getIva()+"");
}else if (arg1 == 2) {
return new String(c.getImponibile()+"");
}else if (arg1 == 3) {
return new String(c.getTotale()+"");
}
}catch(Exception e){
e.printStackTrace();
}
return arg0;
}
}
此代码尚未工作,因为在第一列中我无法显示描述“Locale or Finestre....”但我可以看到像这张照片这样的物体
如何解决这个问题?
最佳答案
com.mcsolution.easyMgmt.beans.Conti@19faa8c
是 Conti
类的 toString()
方法的默认输出(继承自Object
)。
尝试重写 Conti
类中的 toString()
。例如:
@Override
public String toString(){
return getDescrizione();
}
但是,鉴于您的代码,我不确定为什么会发生这种情况。您的 getValueAt()
方法永远不会返回 Conti
对象...
其他建议:
JTreeTable
扩展 JXTreeTable
,请不要忘记调用 super()
。返回 new String(c.getTotale()+"");
。为什么不直接返回 c.getTotale()+"";
?返回arg0;
。您永远不应该处于这种情况,因此只需抛出 IllegalArgumentException。关于java - 如何在 JXTreeTable 上显示字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31851041/
这里仍然是一个 Java 新手,为了我自己的利益,我正在努力尝试一些过于先进的东西。不过,这是我需要做的:JXTreeTable 中的一个复选框。我的主要类(class): package info.
我正在尝试理解 JXTreeTable ,因为我引用了一个站点来进行简单的 JXTreeTable 实现:下面是修改后的代码(我从一个站点中选择它) import java.awt.BorderLay
在 JXTreeTable 中是否可以有可变大小的行,如果是那么如何? ,我正在尝试更改 TreeExpansionEvent 上行的高度(如下所示): public void treeExpande
来自SwingLabs Forum ,似乎没有计划让 JXTreeTable 可排序。 从线程中,另一种选择是 “您可以使用 JXTable 和 GlazedLists TreeList 来制作 Tr
我正在尝试在 JXTreeTable 上添加固定列。我用过Fixed Column Table并做了一些调整以使其正常工作,但我遇到了崩溃事件的问题。当我在固定侧折叠节点时,它不会在移动侧折叠。 见下
当底层模型发生变化时,我无法找到重新绘制 JxTreeTable 的最佳方法。 对于表中的每个节点,我都有一个对应的模型对象,因此如果模型发生变化,我可以获得该节点。 此后,给定一个节点,您如何触发表
我正在使用默认情况下对表进行行条纹的外观。当我放入 JXTreeTable 时,我注意到由于某种原因它没有自动获取行 strip 化。 所以我使用荧光笔提出了一种解决方法,但看起来我遇到了重画故障:
可编辑的 JxTreeTable 是否有任何工作示例。我确实尝试了一些方法。但没有运气......只有第一列是可编辑的。 如何使所有列都可编辑? 对不起各位, 这是我的源代码: /* * To cha
这真的让我很困惑。到目前为止我将展示我的代码。我正在尝试使某些字段可编辑。这是最终目标,但我只是尝试放入 JCheckBox 只是为了测试。但即使这样似乎也不起作用。 你能看一下这个吗?我真的很感激。
我有一个 JXTreeTable,它的左侧有一棵节点树(不同的数据类型),右侧有一个网格(默认)。 现在我希望所有显示的值(还有树标题)均取自 getValueAt(row,column) 方法,而不
使用 Java 代码,我试图操作另一个外部 Java swing 应用程序,但我无法访问该应用程序的任何有关其编码方式的信息。具体来说,我正在尝试操作 JXTreeTable。其中 boolean 类
谁能提供一个具体的例子来说明如何使 JXTreeTable 可编辑? 具体来说,我想让一列中的所有单元格都可编辑。开箱即用似乎并不支持此功能。 最佳答案 JXTreeTable具有常规 JTable
我有一个带有自定义单元格渲染器的 JXTreeTable。当一行中的字段与上一行中的字段不同时,我试图让一行的背景颜色发生变化。例如,该行包含“1”作为 ID。如果前一行也包含“1”,我希望这一行被涂
我想创建一个简单的 JXTreeTable,所以我构建了以下代码: public static void main(String[] args){ JTreeTable table = new
要防止 JTree 节点折叠,您可以使用 setExpandedState() 方法。 我没有看到 SwingX JXTreeTable 类的类似方法,并且 JXTreeTable 似乎没有扩展 JX
我将尝试为 JXTreeTable 实现 RowFilter,但它不起作用。我的实现是这样的: public class CustomRowFilter extends RowFilter { @Ov
我正在使用JXTreeTable来制作树表结构,现在我想动态更改特定单元格的颜色。如何改变单元格的颜色? 我发现这段代码可以改变颜色,但这不起作用。 这里是代码: leftTree.setDefaul
我正在尝试为 JXTreeTable 的树列设置自定义树单元格编辑器,但由于某种原因,我的编辑器从未被调用。 这是应该设置编辑器的位: dataTable.setDefaultEditor(DataE
我正在使用 JXTreeTabble 构建一个 treetable,我想根据所选值禁用/启用 menu 项目。所以,我尝试将此代码放入我的表模型中: public Object getValueAt(
我想使用 JComboBox 作为 JXTreeTable 中的单元格编辑器.它适用于标准 DefaultCellEditor(即 开始点击次数 等于 2)。 现在我希望只需单击一次 即可编辑该列。所
我是一名优秀的程序员,十分优秀!