001package org.openstreetmap.gui.jmapviewer.checkBoxTree; 002 003import java.awt.BorderLayout; 004import java.awt.Insets; 005 006import javax.swing.JCheckBox; 007import javax.swing.JLabel; 008import javax.swing.JPanel; 009 010/** 011 * Node Panel for checkBox Tree 012 * 013 * @author galo 014 */ 015public class CheckBoxNodePanel extends JPanel { 016 /** Serial Version UID */ 017 private static final long serialVersionUID = -7236481597785619029L; 018 private final JLabel label = new JLabel(); 019 private CheckBoxNodeData data; 020 public final JCheckBox check = new JCheckBox(); 021 022 public CheckBoxNodePanel() { 023 this.check.setMargin(new Insets(0, 0, 0, 0)); 024 setLayout(new BorderLayout()); 025 add(check, BorderLayout.WEST); 026 add(label, BorderLayout.CENTER); 027 } 028 public void setSelected(Boolean bool){ 029 if(bool==null){ 030 check.getModel().setPressed(true); 031 check.getModel().setArmed(true); 032 }else{ 033 check.setSelected(bool.booleanValue()); 034 check.getModel().setArmed(false); 035 } 036 } 037 public CheckBoxNodeData getData() { 038 data.setSelected(check.isSelected()); 039 return data; 040 } 041 public void setData(CheckBoxNodeData data) { 042 this.data = data; 043 label.setText(data.getText()); 044 } 045 public JLabel getLabel() { 046 return label; 047 } 048}