예제 #1
0
  /**
   * Die Spalte verstecken.
   *
   * @param iColumnIndex der Index der Spalte
   * @param iColumnWidth doe absolute Breite der Spalte
   */
  private void setColumnWidthToZero(int iColumnIndex) {
    TableColumn tc = table.getColumnModel().getColumn(iColumnIndex);
    tc.setMinWidth(0);
    tc.setPreferredWidth(0);

    boolean showIIds = iColumnIndex == 0 && Defaults.getInstance().isShowIIdColumn();
    tc.setMaxWidth(showIIds ? Helper.getBreiteInPixel(QueryParameters.FLR_BREITE_M) : 0);
    tc.setResizable(showIIds);
  }
예제 #2
0
  /**
   * Die absoulte Breite einer Spalte festlegen.
   *
   * @param iColumnIndex der Index der Spalte
   * @param iColumnWidth die absolute Breite der Spalte
   */
  protected void setColumnWidth(int iColumnIndex, int iColumnWidth) {
    if (iColumnWidth == 0) {
      setColumnWidthToZero(iColumnIndex);
      return;
    }

    TableColumn tc = table.getColumnModel().getColumn(iColumnIndex);
    tc.setMinWidth(Helper.getBreiteInPixel(QueryParameters.FLR_BREITE_MINIMUM));
    //		tc.setMaxWidth(iColumnWidth);
    //		tc.setMinWidth(iColumnWidth);
    tc.setPreferredWidth(iColumnWidth);
    tc.setWidth(iColumnWidth);
  }
예제 #3
0
  /**
   * Initialisiere alle Komponenten; braucht der JBX-Designer; hier bitte keine wilden Dinge wie zum
   * Server gehen, etc. machen.
   *
   * @throws Exception
   */
  private void jbInit() throws Exception {
    // das Aussenpanel hat immer das Gridbaglayout und einen Rahmen nach
    // innen von 10
    gridBagLayoutAll = new GridBagLayout();
    setLayout(gridBagLayoutAll);

    // auf dem Aussenpanel wird die Toolbar angebracht
    add(
        getToolsPanel(),
        new GridBagConstraints(
            0,
            0,
            1,
            1,
            1,
            0.0,
            GridBagConstraints.NORTHWEST,
            GridBagConstraints.HORIZONTAL,
            new Insets(0, 0, 0, 0),
            0,
            0));

    // CK: Listen-Druck-Icon einbauen
    //		JButton bPrint = createAndSaveButton(
    //				"/com/lp/client/res/table_sql_view.png",
    //				LPMain.getTextRespectUISPr("lp.printer"),
    //				LEAVEALONE_PRINTPANELQUERY, null, null);
    //		bPrint.setEnabled(true);

    getToolBar()
        .addButtonRight(
            "/com/lp/client/res/table_sql_view.png",
            LPMain.getTextRespectUISPr("lp.printer"),
            LEAVEALONE_PRINTPANELQUERY,
            null,
            null);
    enableToolsPanelButtons(true, LEAVEALONE_PRINTPANELQUERY);
    //		getToolBar().getToolsPanelRight().add(bPrint);

    // auf dem Aussenpanel wird ausserdem das WorkingPanel angebracht, das
    // alles andere enthaelt
    panelWorkingOn = new JPanel();
    gridBagLayoutWorkingOn = new GridBagLayout();
    panelWorkingOn.setLayout(gridBagLayoutWorkingOn);
    add(
        panelWorkingOn,
        new GridBagConstraints(
            0,
            1,
            1,
            1,
            1.0,
            1.0,
            GridBagConstraints.SOUTH,
            GridBagConstraints.BOTH,
            new Insets(0, 0, 0, 0),
            0,
            0));

    // Zeile - das Panel mit den Filterkriterien
    panelWorkingOn.add(
        getPanelFilterKriterien(),
        new GridBagConstraints(
            0,
            iYGridBagNext,
            1,
            1,
            1.0,
            0.0,
            GridBagConstraints.NORTH,
            GridBagConstraints.HORIZONTAL,
            new Insets(0, 0, 0, 0),
            0,
            0));

    // Zeile - das Panel fuer die optionale zweite Zeile
    iYGridBagNext++;

    panelWorkingOn.add(
        getPanelOptionaleZweiteZeile(),
        new GridBagConstraints(
            0,
            iYGridBagNext,
            1,
            1,
            1.0,
            0.0,
            GridBagConstraints.NORTH,
            GridBagConstraints.HORIZONTAL,
            new Insets(0, 0, 0, 0),
            0,
            0));

    // Zeile
    iYGridBagNext++;

    dataSource = new DistributedTableDataSourceImpl(new Integer(idUsecase));

    tableModel = new DistributedTableModelImpl(this.dataSource);

    // String[] dbColumnNames = this.dataSource.getTableInfo()
    // .getDataBaseColumnNames();

    this.table = new WrapperTable(getInternalFrame(), this.tableModel);
    this.table.setLocale(LPMain.getInstance().getUISprLocale());
    // this.table.addKeyListener(this);
    // this.table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    // this.table.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);
    this.table.setColumnSelectionAllowed(false);
    this.table.setRowSelectionAllowed(false);
    // this.table.addMouseListener(this);

    // Feature Spalten mit der Maus verschieben deaktivieren
    table.getTableHeader().setReorderingAllowed(false);

    tableScrollPane = new JScrollPane(table);
    tableScrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
    tableScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);

    // die Tabelle hat ein hellgraues Gitter
    table.setGridColor(HelperClient.getHintergrundColor());

    // die erste Spalte ist immer der ZeilenHeader
    TableColumn tcZeilenHeader = table.getColumnModel().getColumn(0);
    tcZeilenHeader.setCellRenderer(new ZeilenHeaderRenderer());
    //		tcZeilenHeader.setPreferredWidth(SPALTENBREITE_ZEILENHEADER);

    /** @todo das kommt 2 mal vor -> eine Methode */
    // die restlichen Spalten werden per default formatiert

    // die Breite der Spalten einstellen
    columnHeaderWidths = dataSource.getTableInfo().getColumnHeaderWidths();

    if (columnHeaderWidths != null) {
      for (int i = 1; i < columnHeaderWidths.length; i++) {

        // alle Spalten mit -1 sind variabel
        if (columnHeaderWidths[i] != -1) {
          setColumnWidth(i, Helper.getBreiteInPixel(columnHeaderWidths[i]));
        }
      }
    }

    // die letzte Spalte Verstecken, wenn Color
    Class<?> letzteKlasse = dataSource.getColumnClasses()[dataSource.getColumnClasses().length - 1];
    if (letzteKlasse.equals(java.awt.Color.class)) {
      setColumnWidthToZero(dataSource.getColumnClasses().length - 1);
    }

    table.setAutoResizeMode(JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS);
    // Zeile
    iYGridBagNext++;

    panelWorkingOn.add(
        tableScrollPane,
        new GridBagConstraints(
            0,
            iYGridBagNext,
            1,
            1,
            1.0,
            0.7,
            GridBagConstraints.SOUTH,
            GridBagConstraints.BOTH,
            new Insets(0, 0, 0, 0),
            0,
            0));
  }