package Common.Visual; import Common.MainModule_; import Common.Utils.Utils_; import javax.swing.*; import javax.swing.event.ChangeListener; import javax.swing.text.DefaultFormatter; import javax.swing.text.DefaultHighlighter; import javax.swing.text.Highlighter; import java.awt.*; public class UI_ { //-- public static final Highlighter.HighlightPainter GreenTextPainter = new DefaultHighlighter.DefaultHighlightPainter(new Color(152, 251, 152, 90)); public static final Highlighter.HighlightPainter RedTextPainter = new DefaultHighlighter.DefaultHighlightPainter(new Color(240, 128, 128, 90)); public static boolean active = false; public static boolean isActive() { return active; } //--- public static void Clear(Container container) { container.removeAll(); container.repaint(); container.revalidate(); } // http://java-online.ru/swing-joptionpane.xhtml public static void TrySelect(JComboBox box, T value_in) { if (value_in != null) { for (int i = 0; i < box.getItemCount(); ++i) { T value = (T) box.getItemAt(i); if (value.equals(value_in)) { box.setSelectedIndex(i); return; } } box.addItem(value_in); box.setSelectedIndex(box.getItemCount() - 1); } } public static void TrySelect_s(JComboBox box, String value_string_in) { for (int i = 0; i < box.getItemCount(); ++i) { Object value = box.getItemAt(i); if (value.toString().equals(value_string_in)) { box.setSelectedIndex(i); return; } } } public static void MakeSpinnerRapid(JSpinner spinner, ChangeListener listener) { JComponent comp = spinner.getEditor(); JFormattedTextField field = (JFormattedTextField) comp.getComponent(0); DefaultFormatter formatter = (DefaultFormatter) field.getFormatter(); formatter.setCommitsOnValidEdit(true); formatter.setAllowsInvalid(true); spinner.addChangeListener(listener); } //Примитивные диалоговые элементы public static boolean Question(Component parent, String text) { return !UI_.isActive() || (JOptionPane.showConfirmDialog(parent, text + "?", "Подтверждение", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE) == 0); } public static boolean Question(String text) { return Question(MainModule_.instance.getUI().getFrontWindow(), text); } public static void Info(String message) { Utils_.CopyToClipboard(message); if (UI_.isActive()) JOptionPane.showMessageDialog(MainModule_.instance.getUI().getFrontWindow(), message, "", 1); } public static void Error(String message) { Utils_.CopyToClipboard(message); if (UI_.isActive()) JOptionPane.showMessageDialog(MainModule_.instance.getUI().getFrontWindow(), message, "", 0); } public static boolean Warning(String text) { return !UI_.isActive() || JOptionPane.showConfirmDialog(MainModule_.instance.getUI().getFrontWindow(), text + "\nВы уверены?", "Подтверждение", JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE) == 0; } //----- public static void ShowTabsNames(JTabbedPane tabs, boolean flag) { ShowTabsNames(tabs, 0, flag); } public static void ShowTabsNames(JTabbedPane tabs, int startIndex, boolean flag) { for (int i = startIndex; i < tabs.getTabCount(); ++i) tabs.setTitleAt(i, flag ? tabs.getToolTipTextAt(i) : ""); } //-- }