private void jbInit() throws Exception { int dw = Aut.getAut().getNumber(frmParam.getParam("sisfun", "datumHoriz")); int dh = Aut.getAut().getNumber(frmParam.getParam("sisfun", "datumVert")); br = new Rectangle(); jp = new JPanel(); month = new MonthPanel[12]; setYear(-1); columns = Math.max(1, Math.min(4, dw)); dh = Math.max(1, Math.min(4, dh)); if (columns == 4 && dh == 4) dh = 3; jp.setPreferredSize( new Dimension( month[0].getPreferredSize().width + 10, (month[0].getPreferredSize().height + 5) * jp.getComponentCount() + 5)); v = new JraScrollPane( JraScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JraScrollPane.HORIZONTAL_SCROLLBAR_NEVER); v.getViewport() .setMinimumSize( new Dimension( month[0].getPreferredSize().width + 10, month[0].getPreferredSize().height + 10)); v.getViewport().setPreferredSize(v.getViewport().getMinimumSize()); v.setViewportView(jp); Dimension ps = v.getViewport().getMinimumSize(); Dimension ns = new Dimension(columns * (ps.width - 5) + 5, dh * (ps.height - 5) + 5); setPreferredPanelSize(); v.getViewport().setPreferredSize(ns); v.addComponentListener( new ComponentAdapter() { public void componentResized(ComponentEvent e) { ensureProperViewSize(); } }); jp.addMouseListener( new MouseAdapter() { public void mouseClicked(MouseEvent e) { // System.out.println("mouseclick "+e); if ((e.getModifiers() & e.BUTTON1_MASK) != 0) mouseClick(e); } public void mousePressed(MouseEvent e) { // System.out.println("mousepress "+e); if ((e.getModifiers() & e.BUTTON1_MASK) != 0) mousePress(e); if (e.getModifiers() == e.BUTTON3_MASK) { if (scroll) { scroll = false; scroller.stop(); } setSelection(null, null); jp.repaint(); } } public void mouseReleased(MouseEvent e) { if ((e.getModifiers() & e.BUTTON1_MASK) != 0) { if (scroll) { scroll = false; scroller.stop(); } if (first != null && last != null) setResultRange(); } } }); jp.addMouseMotionListener( new MouseMotionAdapter() { public void mouseDragged(MouseEvent e) { if ((e.getModifiers() & e.BUTTON1_MASK) != 0) mouseDrag(e); } }); scroller = new javax.swing.Timer( 30, new ActionListener() { public void actionPerformed(ActionEvent e) { if (scroll && speed != 0) scrollView(); } }); }