package com.javamarcher.window; import java.awt.FlowLayout; import javax.swing.JPanel; import com.javamarcher.util.ActionGeneric; public class Vector3fTextfield extends LabelBasedUIComponent { private static final int COLUMN_WIDTH = 4; private final DoubleJTextfieldWithLabel xField; private final DoubleJTextfieldWithLabel yField; private final DoubleJTextfieldWithLabel zField; private final JPanel container = new JPanel(); public Vector3fTextfield(String label, ActionGeneric<Double> xAction, ActionGeneric<Double> yAction, ActionGeneric<Double> zAction, double xStartValue, double yStartValue, double zStartValue) { super(label); xField = new DoubleJTextfieldWithLabel("X", xStartValue, xAction, 3, COLUMN_WIDTH); yField = new DoubleJTextfieldWithLabel("Y", yStartValue, yAction, 3, COLUMN_WIDTH); zField = new DoubleJTextfieldWithLabel("Z", zStartValue, zAction, 3, COLUMN_WIDTH); setupFields(); addComponentToContainer(container); } private void setupFields() { container.setLayout(new FlowLayout(FlowLayout.LEFT, 1, 0)); container.add(xField.getComponent()); container.add(yField.getComponent()); container.add(zField.getComponent()); } }