95 lines
3.8 KiB
Java
95 lines
3.8 KiB
Java
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 <T> 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) : "");
|
||
}
|
||
//--
|
||
}
|