/**
* Copyright 2011 multibit.org
*
* Licensed under the MIT license (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://opensource.org/licenses/mit-license.php
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.multibit.viewsystem.swing.view.components;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.FontMetrics;
import javax.swing.JTextField;
import org.multibit.controller.Controller;
public class MultiBitTextField extends JTextField {
private static final long serialVersionUID = 8706099337840832271L;
private static final int HEIGHT_DELTA = 4;
private static final int WIDTH_DELTA = 4;
public MultiBitTextField(String text, int width, Controller controller) {
this(text, width, controller, HEIGHT_DELTA);
}
public MultiBitTextField(String text, int width, Controller controller, int heightDelta) {
super(text, width);
Font font = FontSizer.INSTANCE.getAdjustedDefaultFont();
setFont(font);
FontMetrics fontMetrics = getFontMetrics(font);
int preferredHeight = fontMetrics.getHeight() + heightDelta
;
int preferredWidth = fontMetrics.getMaxAdvance() * width + WIDTH_DELTA;
setPreferredSize(new Dimension(preferredWidth, preferredHeight));
setMinimumSize(new Dimension(preferredWidth, preferredHeight));
}
}