예제 #1
0
 private void jbInit() throws Exception {
   dm = hr.restart.baza.dM.getDataModule();
   initDataSet();
   jpGetVrnal.setDataSet(dataSet);
   jtDATUMKNJ.setColumnName("DATUMKNJ");
   jtDATUMKNJ.setDataSet(dataSet);
   jtDATUMKNJ.setHorizontalAlignment(SwingConstants.CENTER);
   jlDATUMKNJ.setText("Datum knjiženja");
   jtDATUMDO.setColumnName("DATUMDO");
   jtDATUMDO.setDataSet(dataSet);
   jtDATUMDO.setHorizontalAlignment(SwingConstants.CENTER);
   jtDATUMDO.setHelpText("Unesite zadnji datum dokumenata koje knjižite");
   jlDATUMDO.setText("Knjižiti do dana");
   rcbNK.setRaColumn("NK");
   rcbNK.setDataSet(dataSet);
   rcbNK.setRaItems(
       new String[][] {
         {"Zbrojiti stavke prema kontnom planu", "K"},
         {"Zbrojiti stavke po kontima i org. jedinicama", "Z"},
         {"Svaka stavka pojedina\u010Dno", "P"}
       });
   xYLCommon.setHeight(100);
   jp.setLayout(new BorderLayout());
   jpCommon.setLayout(xYLCommon);
   jpCommon.add(jpGetVrnal, new XYConstraints(0, 0, -1, 41));
   jpCommon.add(jlDATUMKNJ, new XYConstraints(15, 45, -1, -1));
   jpCommon.add(jtDATUMKNJ, new XYConstraints(150, 45, 100, -1));
   jpCommon.add(jlDATUMDO, new XYConstraints(15, 70, -1, -1));
   jpCommon.add(jtDATUMDO, new XYConstraints(150, 70, 100, -1));
   jpCommon.add(rcbNK, new XYConstraints(255, 70, 265, -1));
   jp.add(jpCommon, BorderLayout.NORTH);
   jp.add(okpanel, BorderLayout.SOUTH);
   getContentPane().add(jp, BorderLayout.CENTER);
   addComponentListener(
       new ComponentAdapter() {
         public void componentShown(ComponentEvent e) {
           initInputValues();
           SetFokus();
         }
       });
   jbIspis.addActionListener(
       new ActionListener() {
         public void actionPerformed(ActionEvent e) {
           fake = true;
           okPressed();
         }
       });
   okpanel.addResetButton(this);
   okpanel.add(jbIspis, BorderLayout.WEST);
   okpanel.registerOKPanelKeys(this);
 }
예제 #2
0
  private void init() throws Exception {
    model = new MatchTableModel();
    cbox = new JraComboBox();
    cbox.setRenderer(
        new BasicComboBoxRenderer() {
          public Component getListCellRendererComponent(
              JList l, Object val, int idx, boolean sel, boolean foc) {
            if (sel && idx >= 0 && val instanceof MatchableCollection)
              l.setToolTipText(((MatchableCollection) val).getToolTipText());
            return super.getListCellRendererComponent(l, val, idx, sel, foc);
          }
        });
    table =
        new JTable(model) {
          public void paintChildren(Graphics g) {
            super.paintChildren(g);
            paintSections(g);
          }

          public void changeSelection(int row, int col, boolean toggle, boolean extend) {
            int scrow = row;
            int oldrow = getSelectedRow();
            int oldcol = getSelectedColumn();
            int maxrow = model.getRowCount() - 2;
            if (model.isRowHeader(row) && (toggle || extend)) return;
            if (oldrow != -1 && model.isRowHeader(row)) {
              if (oldrow < row) while (row < maxrow && model.isRowHeader(++row)) ;
              else while (row > 0 && model.isRowHeader(--row)) ;
              if (model.isRowHeader(row))
                if (oldrow < row) while (row > 0 && model.isRowHeader(--row)) ;
                else while (row < maxrow && model.isRowHeader(++row)) ;
              if (model.isRowHeader(row)) row = oldrow;
            }
            if (scrow < 2) scrow = 0;
            else if (scrow <= maxrow) scrow = row;
            getSelectionModel().setSelectionInterval(row, row);
            //        super.changeSelection(row, col, false, false);
            if (oldrow < 0) oldrow = row;
            if ((toggle || extend) && (col == oldcol || row != oldrow)) {
              if (!extend) selectOrToggle(row, true);
              else {
                int beg = (oldrow > row ? row : oldrow), end = oldrow + row - beg;
                if (beg == end && extend) return;
                for (int i = beg; i <= end; i++) selectOrToggle(i, toggle);
              }
              repaint();
            }
            if (getAutoscrolls()) {
              Rectangle cellRect = getCellRect(scrow, 0, true);
              if (cellRect != null) scrollRectToVisible(cellRect);
            }
          }

          private void selectOrToggle(int row, boolean toggle) {
            if (toggle) model.toggleRowSelected(row);
            else model.setRowSelected(row, true);
          }
        };
    table.setColumnSelectionAllowed(false);
    table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    for (int i = 0; i < model.m_columns.length; i++)
      table.getColumnModel().getColumn(i).setPreferredWidth(model.m_columns[i].m_width);
    table
        .getColumnModel()
        .getColumn(1)
        .setCellEditor(
            new DefaultCellEditor(cbox) {
              public Component getTableCellEditorComponent(
                  JTable t, Object v, boolean sel, int row, int col) {
                cbox.setModel(new DefaultComboBoxModel(model.getMatchOptions(row)));
                cbox.setToolTipText(
                    v instanceof MatchableCollection
                        ? ((MatchableCollection) v).getToolTipText()
                        : null);
                return super.getTableCellEditorComponent(t, v, sel, row, col);
              }
            });
    table.setDefaultRenderer(
        Object.class,
        new DefaultTableCellRenderer() {
          private javax.swing.border.Border emptyBorder =
              BorderFactory.createEmptyBorder(0, 2, 0, 2);
          private Color m = null;
          private Color g = Color.green.darker().darker().darker();

          private Color halfTone(Color cFrom, Color cTo, float factor) {
            return new Color(
                (int) (cFrom.getRed() * (1 - factor) + cTo.getRed() * factor),
                (int) (cFrom.getGreen() * (1 - factor) + cTo.getGreen() * factor),
                (int) (cFrom.getBlue() * (1 - factor) + cTo.getBlue() * factor));
          }

          public Component getTableCellRendererComponent(
              JTable t, Object v, boolean sel, boolean foc, int row, int col) {
            super.getTableCellRendererComponent(t, v, sel, false, row, col);
            setOpaque(true);
            setBorder(emptyBorder);
            if (model.isRowSelected(row)) {
              if (m == null) m = halfTone(Color.yellow, t.getBackground(), 0.75f);
              super.setBackground(sel ? g : m);
            } else super.setBackground(sel ? t.getSelectionBackground() : t.getBackground());
            int rc = t.convertColumnIndexToModel(col);
            if (rc == 2) setHorizontalAlignment(JLabel.TRAILING);
            else {
              setHorizontalAlignment(JLabel.LEADING);
              if (rc == 0 || rc == 1) setToolTipText(model.getToolTip(row, col));
            }
            return this;
          }
        });

    table.setRowHeight(21);
    table.setPreferredScrollableViewportSize(
        new Dimension(740, table.getPreferredScrollableViewportSize().height));
    /*    table.getActionMap().put("select-all", new AbstractAction() {
      if (e.getKeyCode() == e.VK_A && e.getModifiers() == e.CTRL_MASK) {
        for (int i = 0; i < model.getRowCount(); i++)
          model.toggleRowSelected(i);
        table.repaint();
        e.consume();
      }
    });*/

    table
        .getActionMap()
        .put(
            "selectAll",
            new AbstractAction() {
              public void actionPerformed(ActionEvent e) {
                if (table.isEditing()) table.removeEditor();
                for (int i = 0; i < model.getRowCount(); i++) model.toggleRowSelected(i);
                table.repaint();
              }
            });
    table.addKeyListener(
        new KeyAdapter() {
          public void keyPressed(KeyEvent e) {
            if (e.getKeyCode() == e.VK_ENTER && table.getSelectedRow() >= 0) {
              model.toggleRowSelected(table.getSelectedRow());
              table.repaint();
            }
          }
        });

    contents = new JPanel(new BorderLayout());
    okp =
        new OKpanel() {
          public void jBOK_actionPerformed() {
            OKPress();
          }

          public void jPrekid_actionPerformed() {
            CancelPress();
          }
        };
    JPanel pd = new JPanel(null);
    pd.setLayout(new BoxLayout(pd, BoxLayout.X_AXIS));

    JButton all = new JraButton();
    all.setText("Oznaèi sve");
    all.setIcon(raImages.getImageIcon(raImages.IMGALIGNJUSTIFY));
    all.setPreferredSize(new Dimension(120, 25));
    all.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            for (int i = 0; i < model.getRowCount(); i++) model.setRowSelected(i, true);
            table.repaint();
          }
        });
    okp.add(all, BorderLayout.WEST);

    contents.add(new JraScrollPane(table));
    contents.add(okp, BorderLayout.SOUTH);
    okp.registerOKPanelKeys(table);
  }