В приложении Java Swing у меня есть JFrame, который вызывает другие JFrame. В частности, я имею дело с JFrame для выбора цветов пользовательского интерфейса.
Каждая кнопка цвета создает новый JFrame, в котором есть только кнопки JColorChooser и OK / Cancel.
После выбора цвета мне нужновернуть выбранный цвет обратно в исходный JFrame, который вызвал JFrame с JColorChooser.
До сих пор я делал это, явно назначая атрибут в JFrame, который содержит JColorChooser.
public class PropertiesColor extends javax.swing.JFrame {
public MainWindow mainWindow;
public PropertiesColor(MainWindow mw) {
initComponents();
mainWindow = mw;
}
private void initComponents() {
jColorChooser = new javax.swing.JColorChooser();
...
}
Объект MainWindow имеет атрибуты / методы для использования выбранного цвета из JColorChooser, поэтому, как только вы закрываете JFrame с помощью JColorChooser, вы просто делаете:
mainWindow.setBackgroundColor(jColorChooser.getColor());
У меня есть вопрос об этом шаблоне: возможно лиопределить mainWindow
без явного присвоения его при создании PropertiesColor
? Вид сортировки .getInvokingJFrame
метод