问题描述
- <Jtree>,JPanel中添加JLabel显示问题
-
public java.awt.Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) { java.awt.Component component = null; if(selected) { DefaultMutableTreeNode node = (DefaultMutableTreeNode) value; if(true){label1.setIcon(lockiImageIcon);} ProductAtributeNodeInfo nodeInfo = (ProductAtributeNodeInfo) node.getUserObject(); String title = nodeInfo.toString(); label2.setText(title); label2.setFont(font.deriveFont(Font.BOLD)); label3.setFont(font.deriveFont(Font.BOLD, CHECKMARK_FONT_SIZE)); component = fSelectedComponent; } return component; } 代码如上,重写了getTreeCellRendererComponent方法,三个Label之前定义好了。label1是个条件判断。当我选中某个节点的时候,且label1的条件为true,应该三个都显示。但是页面上label3不显示。(当我鼠标从JTree上移开再移动进来的时候,label3显示)。且我不添加label1的时候。label3也正常显示。
解决方案
调试下,看看是不是panel嵌套了,所以没找到。
解决方案二:
不知道你的具体环境,从上面的代码看不出你对label3做的操作,只是设置了font.
时间: 2024-12-03 11:03:45