У меня есть три класса, первый класс создает окно на экране, и есть способ экранирования захвата содержимого поля. Во втором классе создается несколько ящиков, а в третьем классе есть jframe с кнопкой. Когда кнопка нажата, я хочу вызвать метод captureComponent, но только для одного определенного окна, которое было создано. Я новичок в Java, и я очень стараюсь понять, как я могу это достичь. Я смотрел на этот код несколько дней. Я думаю, что это будет что-то простое. Все индивидуальные занятия отлично работают, и в идеале организация класса должна оставаться такой, какая есть.вызов метода объекта из другого класса
Я создал следующий код, чтобы продемонстрировать проблему, которую я испытываю. Это упрощенное представление моего фактического кода, поскольку в противном случае это было бы слишком большим, чтобы надеть SO. Линия, с которой у меня возникают проблемы, - Box.a.captureComponent(); в классе Button. Каков правильный способ вызова метода одного конкретного объекта из другого класса?
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
public class Box {
public Box() {
// Code to displays a transparent box on screen with a border
}
public void captureComponent() {
// This method screen captures whats displayed in the box
}
}
public class Object_Instantiate {
// In this class two boxes are created a & b
Box a = new Box();
Box b = new Box();
}
public class Button {
/*In this class there is a button. When I press it I want to call
the captureComponent method but just for box a*/
public static void main(String[] args) {
// Code to create JFrame with button would go here
btnSnap.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent event) {
JButton clickedButton = (JButton) event.getSource();
if (clickedButton == btnSnap) {
//CaptureComponent method of just Box a
Box.a.captureComponent();
}
}
});
}
}
Спасибо, не совсем то, что я хотел, но сумел найти решение. Счастливого Нового года. – volican