20 package net.sf.gridarta.gui.utils;
22 import java.awt.Component;
23 import java.awt.GridBagConstraints;
24 import java.awt.GridBagLayout;
25 import java.awt.Insets;
26 import java.awt.event.FocusEvent;
27 import java.awt.event.FocusListener;
28 import javax.swing.AbstractButton;
29 import javax.swing.ImageIcon;
30 import javax.swing.JButton;
31 import javax.swing.JPanel;
32 import javax.swing.JTextField;
35 import org.jetbrains.annotations.NotNull;
52 private final JTextField
textField =
new JTextField();
70 public FaceComponent(@NotNull
final String faceName, @NotNull
final FaceObjects faceObjects, @NotNull
final FaceObjectProviders faceObjectProviders, @NotNull
final ImageIcon noFaceSquareIcon, @NotNull
final ImageIcon unknownSquareIcon, @NotNull
final String tooltip) {
71 super(
new GridBagLayout());
75 final AbstractButton label =
new JButton();
76 label.setMargin(
new Insets(0, 0, 0, 0));
80 button.setMargin(
new Insets(0, 1, 0, 1));
81 textField.addFocusListener(
new FocusListener() {
84 public void focusGained(
final FocusEvent e) {
89 public void focusLost(
final FocusEvent e) {
94 final GridBagConstraints gbc =
new GridBagConstraints();
95 gbc.anchor = GridBagConstraints.CENTER;
96 gbc.gridx = GridBagConstraints.RELATIVE;
99 gbc.fill = GridBagConstraints.NONE;
103 gbc.fill = GridBagConstraints.HORIZONTAL;
107 gbc.fill = GridBagConstraints.NONE;
111 if (!tooltip.isEmpty()) {
112 label.setToolTipText(tooltip.replace(
"\n",
" "));
113 textField.setToolTipText(tooltip.replace(
"\n",
" "));
114 button.setToolTipText(tooltip.replace(
"\n",
" "));
138 super.setEnabled(enabled);