Как заставить openshift взять правильный артефакт в сборке maven

Существует два способа создания JTable с базовым подготовленным набором данных:

  1. массив 2D Object
  2. a Vector, элементами которого являются Vector

, чтобы вы могли сделать это:

 Object [][] model = {{"Marrie", "Female","33"},{"John","Male","32"}};
 JTable table = new JTable(model);

, или вы могли бы сделать это:

 Vector model = new Vector();
 Vector row = new Vector();

 row.add("Marrie");
 row.add("Female");
 row.add("33");
 model.add(row);

 row = new Vector();
 row.add("John");
 row.add("Male");
 row.add("32");
 model.add(row);

 JTable table = new JTable(model);

Следующим шагом будет чтобы реализовать свой собственный TableModel, чтобы использовать класс DataObject, который вы собрали вместе (обратите внимание, что классы Java начинаются с кепок). Расширение AbstractTableModel облегчает жизнь, так как вам нужно всего лишь реализовать три метода:

public int getRowCount();
public int getColumnCount();
public Object getValueAt(int row, int column);

первые два из них просты, вы можете получить размер вашего Vector для подсчета строк и hard-code val для количества столбцов. getValueAt, где вы извлекаете данные из своего DataObject

Вот пример использования анонимного класса, расширяющий AbstractTableModel.

final Vector<DataObject> myDataObjects = new Vector<DataObject>();
myDataObjects.add(...);// add your objects
JTable table = new JTable(new AbstractTableModel() {

    public int getRowCount() {return myDataObjects.size();}
    public int getColumnCount() { return 3; }
    public Object getValueAt(int row, int column){
         switch (column) {
           case 0:
              return myDataObjects.get(row).getName();
           case 1:
              return myDataObjects.get(row).getGender();
           case 2:
              return myDataObjects.get(row).getAge();
           default:
              return "";
         }
    }
});

Я сохранил Vector, чтобы он был близок к вашей текущей реализации. Вы можете легко изменить это на ArrayList в этом примере без каких-либо забот.

0
задан heldt 1 March 2019 в 09:29
поделиться

1 ответ

Из https://access.redhat.com/documentation/en-us/red_hat_jboss_middleware_for_openshift/3/html-single/red_hat_java_s2i_for_openshift/index#configuration_environment_variables похоже, что переменная работы должна указывать следующую среду с расширением .jar или без него, я не уверен)

JAVA_APP_JAR=app-exec
0
ответ дан Will Gordon 1 March 2019 в 09:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: