Как отправить результат mouseClick другому jFrame '?

1

Я использую NetBeans IDE

Я столкнулся с проблемой в "Как отправить результат mouseClick в другой jFrame"?

Я установил TF_appID как общедоступный в SearchForNewAppointment jFrame

никаких ошибок, но когда я нажимаю на стол, ничего не появляется?

        SearchForNewAppointment show = new SearchForNewAppointment();
        int row = appointment_table.getSelectedRow();
        String table_click = (appointment_table.getModel().getValueAt(row, 0).toString());

        String sql = "select * from appointment where app_id = '"+table_click+"' ";

        pst = conn.prepareStatement(sql);
        rs = pst.executeQuery();

        if(rs.next()){
           String add1 = rs.getString("app_id");
           show.TF_appID.setText(add1);
        }
Теги:
netbeans
swing
jframe

2 ответа

1

Почему бы не использовать концентратор событий?

public interface EventHub {
    void subscribe(String eventName, EventHandler handler);
    void publish(String eventName, Object context);
}

public interface EventHandler {
    void onEvent(Object context);
}

EventHub - это синглтон, который вводится в оба кадра.

public class Frame1 extends JFrame {
    public Frame1(final EventHub hub) {
        Button button = new Button("click-me");
        button.addAddActionListener(new ActionListener() {
           public void actionPerformed(ActionEvent evt) {
              // for this simple event, the context is null. In the future,
              // more complex events might need some contextual info
              hub.publish("myCustomEvent", null);
           }
        });
        super.add(button);
    }
}

public class Frame2 extends JFrame {
    public Frame2(EventHub hub) {
        hub.subscribe("myCustomEvent", new EventHandler() {
            public void onEvent(Object context) {
               System.out.println("Button was clicked");
            }
        });
    }
}

Это означает, что публикация отменена из подписки. Это также означает, что у вас может быть много слушателей для одного события.

0

Это зависит от того, инициализируются ли ваши компоненты во втором Jframe (т.е. TF_appID) во время установки для него значения. Перед заполнением динамических значений убедитесь, что вы инициализируете второй JFrame и его необходимые компоненты

Ещё вопросы

Сообщество Overcoder
Наверх
Меню