2016-03-25 2 views
0

У меня есть два класса placeNewOrder и основной класс DeliveryExpressApp.Невозможно заполнить/обновить данные в другой JTable «B» onclick в определенной строке в JTable «A»

Проблема заключается в том, что, когда я выбираю первую строку в доступных ресторанах JTable, она должна загружать данные, которые я указал в комментарии в своем коде, в таблицу меню.

Я поместил код для двух классов по ссылке ниже.

http://txt.do/5nx9p или http://textuploader.com/5nx9p!

+1

* «Я поместил код для двух классов в ссылку ниже». * Для лучшей помощи скорее отправьте сообщение [MCVE] или [Short, Self Contained, Correct Example] (http: //www.sscce. орг /). (И разместите его здесь как редактирование вопроса, а не на некоторых ссылках, которые некоторые не могут выполнить, а большинство не будет.) –

+0

* «Проблема в том, что я выбираю первую строку в доступных ресторанах JTable он должен загрузить данные, которые я указал в комментарии в моем коде, в таблицу меню. * *. Почему это проблема? –

+1

Никоим образом никто не читает весь этот код. – Heinzlmaen

ответ

1

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

public JTable menuTableMethod(String []title, String [][]data){ 
     menuTable = new JTable(data, title); 

Создание таблиц при инициализации класса и использование табличных моделей для обновления таблиц. Я изменил приведенные ниже части, и программа теперь работает. Но все же вы должны внести некоторые изменения и использовать все таблицы с табличными моделями.

члены Инициализировать:

JTable availableRestaurantsTable, orderSummaryTable; 

DefaultTableModel defaultModel = new DefaultTableModel(); 
JTable menuTable = new JTable(defaultModel); 

menuTableMethod

public JTable menuTableMethod(String []title, String [][]data){ 
    //menuTable = new JTable(data, title); 
    defaultModel.setDataVector(data, title); 

    menuTable.setPreferredScrollableViewportSize(new Dimension(380, 250)); 
    //menuTable.setBackground(Color.lightGray); 
    menuTable.setFillsViewportHeight(true); 
    menuTable.updateUI(); 
    menuTable.validate(); 
    //JOptionPane.showMessageDialog(null, "Table update ! "); 

    return menuTable; 
} 

адаптер мыши

availableRestaurantsTable.addMouseListener(new MouseAdapter() { 
     @Override 
     public void mouseClicked(MouseEvent e) { 
      String cellValue = (String)availableRestaurantsTable.getValueAt(availableRestaurantsTable.getSelectedRow(), availableRestaurantsTable.getSelectedColumn()); 

      if(cellValue.compareTo("Bar & Boeuf") == 0){ 
       JOptionPane.showMessageDialog(null, "Yeap! Same\n"+cellValue); 
       menuTableMethod(title2, dataUpdate); 
      } 

     } 

Посмотрите here для получения дополнительной информации о моделях столов.

+0

thanx так много rdonuk вы мужчина .... моя проблема TableModel для освежающего стола ... теперь моя программа работает префектно ... :) – Lordwiz

Смежные вопросы