1 /* 2 * Licensed to the Apache Software Foundation (ASF) under one or more 3 * contributor license agreements. See the NOTICE file distributed with 4 * this work for additional information regarding copyright ownership. 5 * The ASF licenses this file to You under the Apache License, Version 2.0 6 * (the "License"); you may not use this file except in compliance with 7 * the License. You may obtain a copy of the License at 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 * 17 */ 18 19 package org.apache.jmeter.gui.tree; 20 21 import java.awt.Component; 22 23 import javax.swing.ImageIcon; 24 import javax.swing.JTree; 25 import javax.swing.tree.DefaultTreeCellRenderer; 26 27 /** 28 * Class to render the test tree - sets the enabled/disabled versions of the icons 29 */ 30 public class JMeterCellRenderer extends DefaultTreeCellRenderer { 31 public JMeterCellRenderer() { 32 } 33 34 public Component getTreeCellRendererComponent(JTree tree, Object value, boolean sel, boolean expanded, 35 boolean leaf, int row, boolean p_hasFocus) { 36 super.getTreeCellRendererComponent(tree, ((JMeterTreeNode) value).getName(), sel, expanded, leaf, row, 37 p_hasFocus); 38 boolean enabled = ((JMeterTreeNode) value).isEnabled(); 39 ImageIcon ic = ((JMeterTreeNode) value).getIcon(enabled); 40 if (ic != null) { 41 if (enabled) { 42 setIcon(ic); 43 } else { 44 setDisabledIcon(ic); 45 } 46 } else { 47 if (!enabled)// i.e. no disabled icon found 48 { 49 // Must therefore set the enabled icon so there is at least some 50 // icon 51 ic = ((JMeterTreeNode) value).getIcon(); 52 if (ic != null) { 53 setIcon(ic); 54 } 55 } 56 } 57 this.setEnabled(enabled); 58 return this; 59 } 60 }