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