Re[2]: Опять проблемы со скроллированием
От: abcdijkl  
Дата: 10.09.08 11:59
Оценка:
Здравствуйте, denis.zhdanov, Вы писали:

DZ>Не надо добавлять один и тот же контрол несколько раз в один и тот же контейнер. Результат может быть непредсказуемым;


Почему же нельзя? Если указать у каждого из таких контролов его границы в этом контейнере?

DZ>Используй одну таблицу, а не три. Просто сделай заголовок двух правых столбцов таким, чтобы он покрывал оба эти столбца. Пример того, как это сделать, находится здесь;


А если я хочу именно три таблицы? Почему нельзя это использовать?
Вот пример с двумя таблицами (jTable и jTable1), помещёнными на панель (jPanel10), которая, в свою очередь, помещена внутри скроллпейна:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
import javax.swing.table.*;
import javax.swing.JScrollPane;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Button;
import java.awt.Rectangle;
import java.awt.Color;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JPanel;
import java.awt.GridBagLayout;
import java.awt.Panel;
import javax.swing.BorderFactory;
import java.awt.SystemColor;
import javax.swing.border.BevelBorder;
import javax.swing.border.EtchedBorder;
import javax.swing.JMenuItem;
import java.io.*;
import java.lang.*;
import java.util.*;
import java.math.*;
import java.text.*;

public class MyApplication {

    private JFrame jFrame = null;  //  @jve:decl-index=0:visual-constraint="10,10"

    private JPanel jContentPane = null;

    private JMenuBar jJMenuBar = null;

    private JMenu fileMenu = null;

    private JMenu editMenu = null;

    private JMenu helpMenu = null;

    private JMenuItem exitMenuItem = null;

    private JMenuItem aboutMenuItem = null;

    private JMenuItem cutMenuItem = null;

    private JMenuItem copyMenuItem = null;

    private JMenuItem pasteMenuItem = null;

    private JMenuItem saveMenuItem = null;

    private JDialog aboutDialog = null;  //  @jve:decl-index=0:visual-constraint="1,837"

    private JPanel aboutContentPane = null;

    private JLabel aboutVersionLabel = null;

    private JButton jButton = null;

    private JButton jButton1 = null;

    private JPanel jPanel = null;

    private JLabel jLabel = null;

    private JLabel jLabel1 = null;

    private JTextField jTextField = null;

    private JPanel jPanel1 = null;

    private JLabel jLabel2 = null;

    private JButton jButton3 = null;

    private JButton jButton4 = null;

    private JPanel jPanel2 = null;

    private JPanel jPanel3 = null;

    private JLabel jLabel3 = null;

    private JTextField jTextField1 = null;

    private JPanel jPanel4 = null;

    private JLabel jLabel4 = null;

    private JPanel jPanel5 = null;

    private JButton jButton8 = null;

    private JButton jButton9 = null;

    private JLabel jLabel6 = null;

    private JLabel jLabel7 = null;

    private JPanel jPanel7 = null;

    private JButton jButton11 = null;

    private JPanel jPanel8 = null;

    private JPanel jPanel9 = null;

    private JScrollPane jScrollPane = null;
    
    private JPanel jPanel10 = null;
    
    private JPanel jPanel11 = null;
    
    private JTable jTable = null;
    
    private JTable jTable1 = null;

    public Object[][] data = {{"", "", "", "", "", "", ""}, {"", "", "", "", "", "", ""},
                       {"", "", "", "", "", "", ""}, {"", "", "", "", "", "", ""},
                       {"", "", "", "", "", "", ""}, {"", "", "", "", "", "", ""},
                       {"", "", "", "", "", "", ""}, {"", "", "", "", "", "", ""},
                       {"", "", "", "", "", "", ""}, {"", "", "", "", "", "", ""},
                       {"", "", "", "", "", "", ""}, {"", "", "", "", "", "", ""},
                       {"", "", "", "", "", "", ""}, {"", "", "", "", "", "", ""},
                       {"", "", "", "", "", "", ""}, {"", "", "", "", "", "", ""},
                       {"", "", "", "", "", "", ""}, {"", "", "", "", "", "", ""},
                       {"", "", "", "", "", "", ""}, {"", "", "", "", "", "", ""},
                       {"", "", "", "", "", "", ""}, {"", "", "", "", "", "", ""},
                       {"", "", "", "", "", "", ""}, {"", "", "", "", "", "", ""}}; 

    public Object[] columnnames = {"N", "Дата / время (ДМВ)", "Источник изм.", "Вид изм.",
                            "Измерение", "СКО", "O-C"};
    
    public Object[][] data2 = {{""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
            {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
            {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}}; 

    //public Object[] columnnames2 = {"-3s -2s  -s   0   s  2s  3s"};
    
    TableModel myTM;
    DisableTableModel disTM = new DisableTableModel(data, columnnames);
    DefaultTableModel moyaTM = new DefaultTableModel(data, columnnames);
  
    char sigmachar = '\u03C3';
    char breakchar = '\u007C'; // |
    char breakchar3 = '\u00B7';
    char[] labelarray1 = {'.', '.', '.', '-', '3', sigmachar, '.', '.', '.', breakchar,
                          '.', '.', '.', '-', '2', sigmachar,
                          '.', '.', '.', breakchar, '.', '.', '.', '-', '1', sigmachar,
                          '.', '.', '.', breakchar, '.', '.', '.', '.', '0',
                          '.', '.', '.', '.', breakchar, '.', '.', '.', '.', '1', sigmachar,
                          '.', '.', '.', breakchar, '.', '.', '.', '.', '2', sigmachar,
                          '.', '.', '.', breakchar, '.', '.', '.', '.', '3', sigmachar, '.', '.', '.'}; 

    String labelstring1 = new String(labelarray1);
    
    char breakchar2 = '\u00A6';
    char[] tablearray = {'.', '.', '.', '.', '.', breakchar2, '.', '.', '.', '.', '.', '.', '.', '.', '.', breakchar2,
                         '.', '.', '.', '.', '.', '.', '.', '.', '.', breakchar2,
                         '.', '.', '.', '.', '.', '.', '.', '.', '.', breakchar,
                         '.', '.', '.', '.', '.', '.', '.', '.', '.', breakchar2,
                         '.', '.', '.', '.', '.', '.', '.', '.', '.', breakchar2,
                         '.', '.', '.', '.', '.', '.', '.', '.', '.', breakchar2, '.', '.', '.', '.'};

    String tablestring = new String(tablearray);  //  @jve:decl-index=0:
    
    public Object[] columnnames2 = {labelstring1};
    
    DefaultTableModel myTM2 = new DefaultTableModel(data2, columnnames2);
    
    //public Object[] columnnames2 = {""};
    
    public ArrayList myArrayList = new ArrayList(0);
    public ArrayList myArrayList2 = new ArrayList(0);
    public int year;
    public int month;
    public int day;
    public double partDay;

    private Button button = null;

    private JLabel jLabel9 = null;

    private JTextField jTextField2 = null;

    private JButton jButton2 = null;

    private JLabel jLabel10 = null;

    private Button button1 = null;

    private Button button2 = null;

    private Button button3 = null;

    private JPanel jPanel6 = null;

    private JPanel jPanel12 = null;

    private JLabel jLabel11 = null;

    private JPanel jPanel13 = null;

    private JPanel jPanel14 = null;

    private JPanel jPanel15 = null;

    private JPanel jPanel16 = null;

    private JPanel jPanel17 = null;

    private JPanel jPanel18 = null;

    private JPanel jPanel19 = null;

    private JPanel jPanel20 = null;

    private JLabel jLabel12 = null;

    private JLabel jLabel13 = null;

    private JLabel jLabel14 = null;

    private JLabel jLabel15 = null;

    private JLabel jLabel16 = null;

    private JLabel jLabel17 = null;

    private JLabel jLabel18 = null;

    private JButton jButton5 = null;

    private JButton jButton6 = null;

    private JPanel jPanel21 = null;

    private JMenuItem jOpenMenuItem = null;

    private JPopupMenu jPopupMenu = new JPopupMenu();
    
    public boolean izmdanvizm = false;
    
    public boolean isklizmizmass = true;
    
    public boolean showvariety = true;
    
    public boolean istochniki = true;
    
    public String istochnikistr = "";
    
    public boolean vidy = true;
    
    public String vidystr = "";
    
    public int pokmassizm = 1;

    private JMenuItem jMenuItem = null;

    private JMenuItem jMenuItem1 = null;

    private JMenuItem jMenuItem2 = null;

    private JMenuItem jMenuItem3 = null;

    private JMenuItem jMenuItem4 = null;

    /**
     * This method initializes jButton    
     *     
     * @return javax.swing.JButton    
     */
    private JButton getJButton() {
        if (jButton == null) {
            jButton = new JButton();
            jButton.setText("Редактирование массива");
            jButton.setFont(new Font("Dialog", Font.PLAIN, 12));
            jButton.setBounds(new Rectangle(2, 1, 184, 20));
            jButton.addMouseListener(new java.awt.event.MouseAdapter() {
                public void mouseClicked(java.awt.event.MouseEvent e) {
                    jTable.setCellSelectionEnabled(false);
                    jTable1.setCellSelectionEnabled(false);
                    Editing_of_array edofar = new Editing_of_array(getJFrame());
                    edofar.loc = jButton.getLocationOnScreen();
                    //edofar.loc.y += jButton.getHeight();
                    edofar.setLocation(edofar.loc);
                    edofar.jFrame = MyApplication.this;
                    edofar.setVisible(true);
                }
            });
            jButton.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent e) {
                    //System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
                }
            });
            jButton.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent e) {
                    //System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
                }
            });
        }
        return jButton;
    }
    
    public void setTM(boolean flag) {
        int i, j, n, m;
        if (flag==true) {
            //jTable.setModel(myTM);
            myTM = (DefaultTableModel)moyaTM;
        } else {
            //jTable.setModel(disTM);
            myTM = (DisableTableModel)disTM;
            /* n = myTM.getRowCount();
            for (i=0; i<n; i++) {
                Object[] obj = {"","","","","","",""};
                disTM.addRow(obj);
                m = myTM.getColumnCount();
                for (j=0; j<m; j++) {
                    disTM.setValueAt(myTM.getValueAt(i, j), i, j);
                }
            } */
        }
    }

    /**
     * This method initializes jButton1    
     *     
     * @return javax.swing.JButton    
     */
    private JButton getJButton1() {
        if (jButton1 == null) {
            jButton1 = new JButton();
            jButton1.setBounds(new Rectangle(186, 1, 160, 20));
            jButton1.setFont(new Font("Dialog", Font.PLAIN, 12));
            jButton1.setText("Разброс измерений");
            jButton1.addMouseListener(new java.awt.event.MouseAdapter() {
                public void mouseClicked(java.awt.event.MouseEvent e) {
                    jTable.setCellSelectionEnabled(false);
                    jTable1.setCellSelectionEnabled(false);
                    Variety_of_measurements varofmeas = new Variety_of_measurements(getJFrame());
                    varofmeas.loc = jButton1.getLocationOnScreen();
                    //varofmeas.loc.y += jButton1.getHeight();
                    varofmeas.setLocation(varofmeas.loc);
                    varofmeas.jFrame = MyApplication.this;
                    varofmeas.setVisible(true);
                }
            });
        }
        return jButton1;
    }

    /**
     * This method initializes jPanel    
     *     
     * @return javax.swing.JPanel    
     */
    private JPanel getJPanel() {
        if (jPanel == null) {
            jLabel9 = new JLabel();
            jLabel9.setBounds(new Rectangle(107, 45, 196, 18));
            jLabel9.setText("Кол-во учтённых измерений  N =");
            jLabel1 = new JLabel();
            jLabel1.setBounds(new Rectangle(140, 75, 146, 18));
            jLabel1.setText("Мера согласования  \u03C3= ");
            jLabel = new JLabel();
            jLabel.setBounds(new Rectangle(190, 15, 178, 21));
            jLabel.setText("СОГЛАСОВАНИЕ  ИЗМЕРЕНИЙ");
            jPanel = new JPanel();
            jPanel.setLayout(null);
            jPanel.setBounds(new Rectangle(2, 22, 552, 105));
            jPanel.setBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED));
            jPanel.add(jLabel, null);
            jPanel.add(jLabel1, null);
            jPanel.add(getJTextField(), null);
            jPanel.add(getButton(), null);
            jPanel.add(jLabel9, null);
            jPanel.add(getJTextField2(), null);
            jPanel.addMouseListener(new java.awt.event.MouseAdapter() {
                public void mouseClicked(java.awt.event.MouseEvent e) {
                    //System.out.println("mouseClicked()"); // TODO Auto-generated Event stub mouseClicked()
                    jTable.setCellSelectionEnabled(false);
                    jTable1.setCellSelectionEnabled(false);
                }
            });
        }
        return jPanel;
    }

    /**
     * This method initializes jTextField    
     *     
     * @return javax.swing.JTextField    
     */
    private JTextField getJTextField() {
        if (jTextField == null) {
            jTextField = new JTextField();
            jTextField.setBounds(new Rectangle(285, 75, 60, 20));
            jTextField.setText("");
        }
        return jTextField;
    }

    /**
     * This method initializes jPanel1    
     *     
     * @return javax.swing.JPanel    
     */
    private JPanel getJPanel1() {
        if (jPanel1 == null) {
            jLabel2 = new JLabel();
            jLabel2.setBounds(new Rectangle(205, 15, 138, 23));
            jLabel2.setText("МАССИВ  ИЗМЕРЕНИЙ");
            jPanel1 = new JPanel();
            jPanel1.setLayout(null);
            jPanel1.setBounds(new Rectangle(2, 127, 552, 80));
            jPanel1.setBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED));
            jPanel1.add(jLabel2, null);
            jPanel1.add(getJButton3(), null);
            jPanel1.add(getJButton4(), null);
            jPanel1.addMouseListener(new java.awt.event.MouseAdapter() {
                public void mouseClicked(java.awt.event.MouseEvent e) {
                    //System.out.println("mouseClicked()"); // TODO Auto-generated Event stub mouseClicked()
                    jTable.setCellSelectionEnabled(false);
                    jTable1.setCellSelectionEnabled(false);
                }
            });
        }
        return jPanel1;
    }

    /**
     * This method initializes jButton3    
     *     
     * @return javax.swing.JButton    
     */
    private JButton getJButton3() {
        if (jButton3 == null) {
            jButton3 = new JButton();
            jButton3.setBounds(new Rectangle(40, 45, 161, 20));
            jButton3.setFont(new Font("Dialog", Font.PLAIN, 12));
            jButton3.setText("Показ  массива");
            jButton3.addMouseListener(new java.awt.event.MouseAdapter() {
                public void mouseClicked(java.awt.event.MouseEvent e) {
                    jTable.setCellSelectionEnabled(false);
                    jTable1.setCellSelectionEnabled(false);
                    Showing_of_array shofar = new Showing_of_array(getJFrame());
                    shofar.loc = jButton3.getLocationOnScreen();
                    //shofar.loc.y += jButton3.getHeight();
                    shofar.setLocation(shofar.loc);
                    shofar.jFrame = MyApplication.this;
                    shofar.setVisible(true);
                }
            });
        }
        return jButton3;
    }
    
    public void Showvariety() {
        if (showvariety==true) {
            jFrame.setSize(1080, 770);
        } else {
            jFrame.setSize(556, 770);
        }
    }

    /**
     * This method initializes jButton4    
     *     
     * @return javax.swing.JButton    
     */
    private JButton getJButton4() {
        if (jButton4 == null) {
            jButton4 = new JButton();
            jButton4.setBounds(new Rectangle(335, 45, 155, 20));
            jButton4.setFont(new Font("Dialog", Font.PLAIN, 12));
            jButton4.setText("Выборка  измерений");
            jButton4.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent e) {
                    //System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
                }
            });
            jButton4.addMouseListener(new java.awt.event.MouseAdapter() {
                public void mouseClicked(java.awt.event.MouseEvent e) {
                    jTable.setCellSelectionEnabled(false);
                    jTable1.setCellSelectionEnabled(false);
                    Choice_of_measurements chofmeas = new Choice_of_measurements(getJFrame());
                    chofmeas.loc = jButton4.getLocationOnScreen();
                    //chofmeas.loc.y += jButton4.getHeight();
                    chofmeas.setLocation(chofmeas.loc);
                    chofmeas.jFrame = MyApplication.this;
                    chofmeas.setVisible(true);
                }
            });
        }
        return jButton4;
    }

    /**
     * This method initializes jPanel2    
     *     
     * @return javax.swing.JPanel    
     */
    private JPanel getJPanel2() {
        if (jPanel2 == null) {
            jPanel2 = new JPanel();
            jPanel2.setLayout(null);
            jPanel2.setBounds(new Rectangle(2, 624, 552, 57));
            jPanel2.setBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED));
            jPanel2.add(getJPanel4(), null);
            jPanel2.add(getJPanel3(), null);
        }
        return jPanel2;
    }

    /**
     * This method initializes jPanel3    
     *     
     * @return javax.swing.JPanel    
     */
    private JPanel getJPanel3() {
        if (jPanel3 == null) {
            jLabel3 = new JLabel();
            jLabel3.setBounds(new Rectangle(50, 2, 177, 25));
            //jLabel3.setFont(new Font("Dialog", Font.BOLD, 11));
            jLabel3.setText("Сохранить массив как");
            jPanel3 = new JPanel();
            jPanel3.setLayout(null);
            jPanel3.setBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED));
            jPanel3.setBounds(new Rectangle(0, 0, 276, 57));
            jPanel3.add(jLabel3, null);
            jPanel3.add(getJTextField1(), null);
            jPanel3.add(getButton1(), null);
            jPanel3.addMouseListener(new java.awt.event.MouseAdapter() {
                public void mouseClicked(java.awt.event.MouseEvent e) {
                    //System.out.println("mouseClicked()"); // TODO Auto-generated Event stub mouseClicked()
                    jTable.setCellSelectionEnabled(false);
                    jTable1.setCellSelectionEnabled(false);
                }
            });
        }
        return jPanel3;
    }

    /**
     * This method initializes jTextField1    
     *     
     * @return javax.swing.JTextField    
     */
    private JTextField getJTextField1() {
        if (jTextField1 == null) {
            jTextField1 = new JTextField();
            jTextField1.setBounds(new Rectangle(20, 27, 178, 20));
        }
        return jTextField1;
    }

    /**
     * This method initializes jPanel4    
     *     
     * @return javax.swing.JPanel    
     */
    private JPanel getJPanel4() {
        if (jPanel4 == null) {
            jLabel4 = new JLabel();
            jLabel4.setBounds(new Rectangle(75, 2, 128, 24));
            jLabel4.setText("Изменение массива");
            jPanel4 = new JPanel();
            jPanel4.setLayout(null);
            jPanel4.setBounds(new Rectangle(276, 0, 277, 57));
            jPanel4.setBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED));
            jPanel4.add(jLabel4, null);
            jPanel4.add(getButton2(), null);
            jPanel4.add(getButton3(), null);
            jPanel4.addMouseListener(new java.awt.event.MouseAdapter() {
                public void mouseClicked(java.awt.event.MouseEvent e) {
                    //System.out.println("mouseClicked()"); // TODO Auto-generated Event stub mouseClicked()
                    jTable.setCellSelectionEnabled(false);
                    jTable1.setCellSelectionEnabled(false);
                }
            });
        }
        return jPanel4;
    }

    /**
     * This method initializes jPanel5    
     *     
     * @return javax.swing.JPanel    
     */
    private JPanel getJPanel5() {
        if (jPanel5 == null) {
            jPanel5 = new JPanel();
            jPanel5.setLayout(null);
            jPanel5.setBounds(new Rectangle(2, 680, 1066, 32));
            jPanel5.setBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED));
            jPanel5.add(getJPanel6(), null);
            jPanel5.addMouseListener(new java.awt.event.MouseAdapter() {
                public void mouseClicked(java.awt.event.MouseEvent e) {
                    //System.out.println("mouseClicked()"); // TODO Auto-generated Event stub mouseClicked()
                    jTable.setCellSelectionEnabled(false);
                    jTable1.setCellSelectionEnabled(false);
                }
            });
        }
        return jPanel5;
    }

    /**
     * This method initializes jButton8    
     *     
     * @return javax.swing.JButton    
     */
    private JButton getJButton8() {
        if (jButton8 == null) {
            jButton8 = new JButton();
            jButton8.setText("Гистограмма разброса");
            jButton8.setBounds(new Rectangle(590, 183, 179, 20));
        }
        return jButton8;
    }

    /**
     * This method initializes jButton9    
     *     
     * @return javax.swing.JButton    
     */
    private JButton getJButton9() {
        if (jButton9 == null) {
            jButton9 = new JButton();
            jButton9.setText("График  разброса");
            jButton9.setFont(new Font("Dialog", Font.BOLD, 12));
            jButton9.setBounds(new Rectangle(290, 73, 170, 20));
            jButton9.addMouseListener(new java.awt.event.MouseAdapter() {
                public void mouseClicked(java.awt.event.MouseEvent e) {
                    //System.out.println("mouseClicked()"); // TODO Auto-generated Event stub mouseClicked()
                    jTable.setCellSelectionEnabled(false);
                    jTable1.setCellSelectionEnabled(false);
                }
            });
        }
        return jButton9;
    }

    /**
     * This method initializes jPanel6    
     *     
     * @return javax.swing.JPanel    
     */
    /* private JPanel getJPanel6() {
        if (jPanel6 == null) {
            jPanel6 = new JPanel();
            jPanel6.setBounds(new Rectangle(560, 22, 500, 185));
            jLabel7 = new JLabel();
            jLabel7.setText("относительно текущей траектории");
            jLabel7.setBounds(new Rectangle(157, 36, 207, 20));
            jLabel6 = new JLabel();
            jLabel6.setText("РАЗБРОС  ИЗМЕРЕНИЙ");
            jLabel6.setBounds(new Rectangle(191, 15, 142, 21));
        }
        return jPanel6;
    } */

    /**
     * This method initializes jPanel7    
     *     
     * @return javax.swing.JPanel    
     */
    private JPanel getJPanel7() {
        if (jPanel7 == null) {
            jPanel7 = new JPanel();
            jPanel7.setLayout(null);
            jPanel7.setBounds(new Rectangle(556, 624, 512, 28));
            jPanel7.setBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED));
            jPanel7.add(getJButton11(), null);
            jPanel7.addMouseListener(new java.awt.event.MouseAdapter() {
                public void mouseClicked(java.awt.event.MouseEvent e) {
                    //System.out.println("mouseClicked()"); // TODO Auto-generated Event stub mouseClicked()
                    jTable.setCellSelectionEnabled(false);
                    jTable1.setCellSelectionEnabled(false);
                }
            });
        }
        return jPanel7;
    }

    /**
     * This method initializes jButton11    
     *     
     * @return javax.swing.JButton    
     */
    private JButton getJButton11() {
        if (jButton11 == null) {
            jButton11 = new JButton();
            jButton11.setBounds(new Rectangle(325, 4, 170, 20));
            jButton11.setFont(new Font("Dialog", Font.PLAIN, 12));
            jButton11.setText("Параметры  разброса");
            jButton11.addMouseListener(new java.awt.event.MouseAdapter() {
                public void mouseClicked(java.awt.event.MouseEvent e) {
                    //System.out.println("mouseClicked()"); // TODO Auto-generated Event stub mouseClicked()
                    jTable.setCellSelectionEnabled(false);
                    jTable1.setCellSelectionEnabled(false);
                    BoundsofO_C myboundsofo_c = new BoundsofO_C();
                    myboundsofo_c.setLocation(jPanel7.getLocationOnScreen());
                    myboundsofo_c.setVisible(true);
                }
            });
        }
        return jButton11;
    }

    /**
     * This method initializes jPanel8    
     *     
     * @return javax.swing.JPanel    
     */
    private JPanel getJPanel8() {
        if (jPanel8 == null) {
            jPanel8 = new JPanel();
            jPanel8.setLayout(null);
            jPanel8.setBounds(new Rectangle(556, 652, 512, 29));
            //jPanel8.setBorder(BorderFactory.createLineBorder(Color.red, 2));
            jPanel8.setBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED));
            jPanel8.add(getJPanel21(), null);
            jPanel8.addMouseListener(new java.awt.event.MouseAdapter() {
                public void mouseClicked(java.awt.event.MouseEvent e) {
                    //System.out.println("mouseClicked()"); // TODO Auto-generated Event stub mouseClicked()
                    jTable.setCellSelectionEnabled(false);
                    jTable1.setCellSelectionEnabled(false);
                }
            });
        }
        return jPanel8;
    }

    /**
     * This method initializes jPanel9    
     *     
     * @return javax.swing.JPanel    
     */
    private JPanel getJPanel9() {
        if (jPanel9 == null) {
            jLabel7 = new JLabel();
            jLabel7.setText("относительно текущей траектории");
            jLabel7.setBounds(new Rectangle(157, 36, 207, 20));
            jLabel6 = new JLabel();
            jLabel6.setText("РАЗБРОС  ИЗМЕРЕНИЙ");
            jLabel6.setBounds(new Rectangle(191, 15, 142, 21));
            jLabel10 = new JLabel();
            jLabel10.setBounds(new Rectangle(143, 147, 232, 22));
            jLabel10.setText("Нормированные   невязки  измерений");
            jPanel9 = new JPanel();
            jPanel9.setLayout(null);
            jPanel9.setBounds(new Rectangle(556, 22, 495, 185));
            //jPanel9.add(jButton8, null);
            jPanel9.setBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED));
            jPanel9.add(getJButton8(), null);
            jPanel9.add(jLabel6, null);
            jPanel9.add(jLabel7, null);
            jPanel9.add(getJButton9(), null);
            jPanel9.add(getJButton2(), null);
            jPanel9.add(jLabel10, null);
            jPanel9.addMouseListener(new java.awt.event.MouseAdapter() {
                public void mouseClicked(java.awt.event.MouseEvent e) {
                    //System.out.println("mouseClicked()"); // TODO Auto-generated Event stub mouseClicked()
                    jTable.setCellSelectionEnabled(false);
                    jTable1.setCellSelectionEnabled(false);
                }
            });
        }
        return jPanel9;
    }

    /**
     * This method initializes jScrollPane    
     *     
     * @return javax.swing.JScrollPane    
     */
    private JScrollPane getJScrollPane() {
        if (jScrollPane == null) {
            jScrollPane = new JScrollPane();
            jScrollPane.setBounds(new Rectangle(2, 239, 1066, 386));
            jScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
            jScrollPane.setFont(new Font("Dialog", Font.PLAIN, 11));
            //jScrollPane.setBorder(BorderFactory.createEtchedBorder(EtchedBorder.RAISED));
            jScrollPane.setViewportView(getJPanel10());
            jScrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
        }
        return jScrollPane;
    }    

    private JPanel getJPanel10() {
      if (jPanel10==null) {
        jPanel10 = new JPanel();
        //jPanel10.setBounds(new Rectangle(2, 0, 1048, 384));
        jPanel10.setBounds(new Rectangle(0, 0, 1066, 386));
        jPanel10.setLayout(null);
        //jPanel10.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
        //DefaultTableModel myTM = new DefaultTableModel(data, columnnames); 
        if (jTable==null) {
          myTM = (DisableTableModel)disTM;
          jTable = new JTable(myTM);
          //jTable = new JTable(disTM);
          jTable.setBounds(new Rectangle(2, 0, 548, 384));
          jTable.setFont(new Font("Dialog", Font.PLAIN, 11));
          jTable.setGridColor(new Color(125, 190, 255));
          jTable.addMouseListener(new java.awt.event.MouseAdapter() {
              public void mouseClicked(java.awt.event.MouseEvent e) {
                  jTable.setCellSelectionEnabled(true);
                  // если была нажата левая кнопка мыши
                  if (e.getButton()==1) {
                      jPopupMenu.setVisible(false);
                  }
                  // если была нажата правая кнопка мыши
                  if (e.getButton()==3) {
                      if (izmdanvizm==true) {
                        jPopupMenu.setLocation(e.getPoint().x+jTable.getLocationOnScreen().x,
                                               e.getPoint().y+jTable.getLocationOnScreen().y);
                        jPopupMenu.setVisible(true);
                      }
                  }
                  //System.out.println("mouseClicked()"); // TODO Auto-generated Event stub mouseClicked()
              }
          });
          TableColumnModel myTCM = jTable.getColumnModel();
          TableColumn myTC = myTCM.getColumn(0);
          myTC.setPreferredWidth(18);
          //myTC.setMaxWidth(25);
          myTC = myTCM.getColumn(1);
          myTC.setPreferredWidth(123);
          myTC = myTCM.getColumn(2);
          myTC.setPreferredWidth(75);
          myTC = myTCM.getColumn(3);
          myTC.setPreferredWidth(70);
          myTC = myTCM.getColumn(4);
          myTC.setPreferredWidth(90);
          myTC = myTCM.getColumn(5);
          myTC.setPreferredWidth(50);
          myTC = myTCM.getColumn(6);
          disTM.setValueAt("123", 0, 0);
          disTM.setValueAt(" 2006.06.07 17:00:01.125", 0, 1);
          disTM.setValueAt(" 13 7 07", 0, 2);
          disTM.setValueAt(" (02) W, км/с", 0, 3);
          disTM.setValueAt(" -.68796883D-02", 0, 4);
          disTM.setValueAt(" .122E-9", 0, 5);
          disTM.setValueAt("  .207123E-7", 0, 6);
          disTM.setValueAt("124", 1, 0);
          disTM.setValueAt(" 2006.06.07 18:10:00.000", 1, 1);
          disTM.setValueAt(" ЦККП", 1, 2);
          disTM.setValueAt(" (10) x, км", 1, 3);
          disTM.setValueAt("  .70245602D+04", 1, 4);
          disTM.setValueAt(" .102E+1", 1, 5);
          disTM.setValueAt(" -.156412E+1", 1, 6);
          disTM.setValueAt("125", 2, 0);
          disTM.setValueAt(" 2006.06.07 19:20:00.000", 2, 1);
          disTM.setValueAt(" NORAD", 2, 2);
          disTM.setValueAt(" (14) n, км", 2, 3);
          disTM.setValueAt("  .76215678D+02", 2, 4);
          disTM.setValueAt(" .121E+1", 2, 5);
          disTM.setValueAt("  .102212E+1", 2, 6);
          //myTM.addRow(new Object[] {"123", "", "", "", "", "", ""});
        }
        jPanel10.add(jTable, null);
        if (jPanel11==null) {
          jPanel11 = new JPanel();
          jPanel11.setBounds(new Rectangle(552, 0, 1, 384));
          jPanel11.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
        }
        jPanel10.add(jPanel11, null);
        //DefaultTableModel myTM2 = new DefaultTableModel(data2, columnnames2);
        if (jTable1==null) {
          jTable1 = new JTable(myTM2);
          jTable1.setBounds(new Rectangle(552, 0, 495, 384));
          jTable1.setFont(new Font("Monospaced", Font.PLAIN, 11));
          jTable1.addMouseListener(new java.awt.event.MouseAdapter() {
              public void mouseClicked(java.awt.event.MouseEvent e) {
                  //System.out.println("mouseClicked()"); // TODO Auto-generated Event stub mouseClicked()
                  jTable1.setCellSelectionEnabled(true);
              }
          });
          for (int i=0; i<24; i++) {
            myTM2.setValueAt(tablestring, i, 0);
          }
        } 
        jPanel10.add(jTable1, null);
      }
      return  jPanel10;
    }
    
    /**
     * This method initializes button    
     *     
     * @return java.awt.Button    
     */
    private Button getButton() {
        if (button == null) {
            button = new Button();
            button.setBounds(new Rectangle(350, 75, 70, 20));
            button.setFont(new Font("Dialog", Font.PLAIN, 11));
            button.setBackground(new Color(238, 238, 238));
            button.setLabel("Получить");
        }
        return button;
    }

    /**
     * This method initializes jTextField2    
     *     
     * @return javax.swing.JTextField    
     */
    private JTextField getJTextField2() {
        if (jTextField2 == null) {
            jTextField2 = new JTextField();
            jTextField2.setBounds(new Rectangle(304, 45, 54, 20));
        }
        return jTextField2;
    }

    /**
     * This method initializes jButton2    
     *     
     * @return javax.swing.JButton    
     */
    private JButton getJButton2() {
        if (jButton2 == null) {
            jButton2 = new JButton();
            jButton2.setBounds(new Rectangle(50, 73, 170, 20));
            jButton2.setFont(new Font("Dialog", Font.BOLD, 12));
            jButton2.setText("Гистограмма  разброса");
            jButton2.addMouseListener(new java.awt.event.MouseAdapter() {
                public void mouseClicked(java.awt.event.MouseEvent e) {
                    //System.out.println("mouseClicked()"); // TODO Auto-generated Event stub mouseClicked()
                    jTable.setCellSelectionEnabled(false);
                    jTable1.setCellSelectionEnabled(false);
                }
            });
        }
        return jButton2;
    }

    /**
     * This method initializes button1    
     *     
     * @return java.awt.Button    
     */
    private Button getButton1() {
        if (button1 == null) {
            button1 = new Button();
            button1.setBounds(new Rectangle(210, 27, 50, 20));
            button1.setFont(new Font("Dialog", Font.PLAIN, 11));
            button1.setBackground(new Color(238, 238, 238));
            button1.setLabel("OK");
            button1.addMouseListener(new java.awt.event.MouseAdapter() {
                public void mouseClicked(java.awt.event.MouseEvent e) {
                    //System.out.println("mouseClicked()"); // TODO Auto-generated Event stub mouseClicked()
                    jTable.setCellSelectionEnabled(false);
                    jTable1.setCellSelectionEnabled(false);
                }
            });
        }
        return button1;
    }

    /**
     * This method initializes button2    
     *     
     * @return java.awt.Button    
     */
    private Button getButton2() {
        if (button2 == null) {
            button2 = new Button();
            button2.setBounds(new Rectangle(32, 27, 73, 20));
            button2.setFont(new Font("Dialog", Font.PLAIN, 11));
            button2.setBackground(new Color(238, 238, 238));
            button2.setLabel("Отменить");
            button2.addMouseListener(new java.awt.event.MouseAdapter() {
                public void mouseClicked(java.awt.event.MouseEvent e) {
                    //System.out.println("mouseClicked()"); // TODO Auto-generated Event stub mouseClicked()
                    jTable.setCellSelectionEnabled(false);
                    jTable1.setCellSelectionEnabled(false);
                }
            });
        }
        return button2;
    }

    /**
     * This method initializes button3    
     *     
     * @return java.awt.Button    
     */
    private Button getButton3() {
        if (button3 == null) {
            button3 = new Button();
            button3.setBounds(new Rectangle(166, 27, 73, 20));
            button3.setFont(new Font("Dialog", Font.PLAIN, 11));
            button3.setBackground(new Color(238, 238, 238));
            button3.setLabel("Принять");
            button3.addMouseListener(new java.awt.event.MouseAdapter() {
                public void mouseClicked(java.awt.event.MouseEvent e) {
                    //System.out.println("mouseClicked()"); // TODO Auto-generated Event stub mouseClicked()
                    jTable.setCellSelectionEnabled(false);
                    jTable1.setCellSelectionEnabled(false);
                }
            });
        }
        return button3;
    }

    /**
     * This method initializes jPanel6    
     *     
     * @return javax.swing.JPanel    
     */
    private JPanel getJPanel6() {
        if (jPanel6 == null) {
            jPanel6 = new JPanel();
            jPanel6.setLayout(null);
            jPanel6.setBounds(new Rectangle(6, 3, 160, 26));
            //jPanel6.setBorder(BorderFactory.createLineBorder(new Color(51, 102, 0), 2));
            jPanel6.setBorder(BorderFactory.createLineBorder(SystemColor.activeCaption, 2));
            jPanel6.add(getJButton5(), null);
        }
        return jPanel6;
    }

    /**
     * This method initializes jPanel12    
     *     
     * @return javax.swing.JPanel    
     */
    private JPanel getJPanel12() {
        if (jPanel12 == null) {
            jLabel11 = new JLabel();
            jLabel11.setBackground(Color.white);
            jLabel11.setFont(new Font("Monospaced", Font.PLAIN, 12));
            jLabel11.setBounds(new Rectangle(3, 0, 505, 15));
            jLabel11.setText(labelstring1);
            jLabel11.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
                public void propertyChange(java.beans.PropertyChangeEvent e) {
                    if ((e.getPropertyName().equals("text"))) {
                        //System.out.println("propertyChange(text)"); // TODO Auto-generated property Event stub "text" 
                    }
                }
            });
            jPanel12 = new JPanel();
            jPanel12.setLayout(null);
            jPanel12.setBounds(new Rectangle(557, 209, 495, 27));
            jPanel12.setBackground(new Color(125, 190, 255));
            jPanel12.add(getJPanel13(), null);
        }
        return jPanel12;
    }

    /**
     * This method initializes jPanel13    
     *     
     * @return javax.swing.JPanel    
     */
    private JPanel getJPanel13() {
        if (jPanel13 == null) {
            jPanel13 = new JPanel();
            jPanel13.setLayout(null);
            jPanel13.setBounds(new Rectangle(4, 4, 488, 19));
            jPanel13.setBackground(Color.white);
            jPanel13.add(jLabel11, null);
            
        }
        return jPanel13;
    }

    /**
     * This method initializes jPanel14    
     *     
     * @return javax.swing.JPanel    
     */
    private JPanel getJPanel14() {
        if (jPanel14 == null) {
            jLabel12 = new JLabel();
            jLabel12.setBounds(new Rectangle(11, 6, 10, 16));
            jLabel12.setFont(new Font("Dialog", Font.BOLD, 11));
            jLabel12.setText("N");
            jPanel14 = new JPanel();
            jPanel14.setLayout(null);
            jPanel14.setBounds(new Rectangle(2, 208, 29, 29));
            jPanel14.setBackground(new Color(125, 190, 255));
            jPanel14.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
            jPanel14.add(jLabel12, null);
        }
        return jPanel14;
    }

    /**
     * This method initializes jPanel15    
     *     
     * @return javax.swing.JPanel    
     */
    private JPanel getJPanel15() {
        if (jPanel15 == null) {
            jLabel13 = new JLabel();
            jLabel13.setBounds(new Rectangle(12, 5, 105, 16));
            jLabel13.setFont(new Font("Dialog", Font.BOLD, 11));
            jLabel13.setText("Дата / время (ДМВ)");
            jPanel15 = new JPanel();
            jPanel15.setLayout(null);
            jPanel15.setBounds(new Rectangle(30, 208, 131, 29));
            jPanel15.setBackground(new Color(125, 190, 255));
            jPanel15.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
            jPanel15.add(jLabel13, null);
        }
        return jPanel15;
    }

    /**
     * This method initializes jPanel16    
     *     
     * @return javax.swing.JPanel    
     */
    private JPanel getJPanel16() {
        if (jPanel16 == null) {
            jLabel14 = new JLabel();
            jLabel14.setBounds(new Rectangle(4, 5, 83, 16));
            jLabel14.setFont(new Font("Dialog", Font.BOLD, 11));
            jLabel14.setText("Источник изм.");
            jPanel16 = new JPanel();
            jPanel16.setLayout(null);
            jPanel16.setBounds(new Rectangle(160, 208, 83, 29));
            jPanel16.setBackground(new Color(125, 190, 255));
            jPanel16.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
            jPanel16.add(jLabel14, null);
        }
        return jPanel16;
    }

    /**
     * This method initializes jPanel17    
     *     
     * @return javax.swing.JPanel    
     */
    private JPanel getJPanel17() {
        if (jPanel17 == null) {
            jLabel15 = new JLabel();
            jLabel15.setBounds(new Rectangle(15, 5, 54, 16));
            jLabel15.setFont(new Font("Dialog", Font.BOLD, 11));
            jLabel15.setText("Вид изм.");
            jPanel17 = new JPanel();
            jPanel17.setLayout(null);
            jPanel17.setBounds(new Rectangle(242, 208, 78, 29));
            jPanel17.setBackground(new Color(125, 190, 255));
            jPanel17.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
            jPanel17.add(jLabel15, null);
        }
        return jPanel17;
    }

    /**
     * This method initializes jPanel18    
     *     
     * @return javax.swing.JPanel    
     */
    private JPanel getJPanel18() {
        if (jPanel18 == null) {
            jLabel16 = new JLabel();
            jLabel16.setBounds(new Rectangle(20, 5, 71, 16));
            jLabel16.setFont(new Font("Dialog", Font.BOLD, 11));
            jLabel16.setText("Измерение");
            jPanel18 = new JPanel();
            jPanel18.setLayout(null);
            jPanel18.setBounds(new Rectangle(318, 208, 98, 29));
            jPanel18.setBackground(new Color(125, 190, 255));
            jPanel18.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
            jPanel18.add(jLabel16, null);
        }
        return jPanel18;
    }

    /**
     * This method initializes jPanel19    
     *     
     * @return javax.swing.JPanel    
     */
    private JPanel getJPanel19() {
        if (jPanel19 == null) {
            jLabel17 = new JLabel();
            jLabel17.setBounds(new Rectangle(18, 5, 28, 16));
            jLabel17.setFont(new Font("Dialog", Font.BOLD, 11));
            jLabel17.setText("СКО");
            jPanel19 = new JPanel();
            jPanel19.setLayout(null);
            jPanel19.setBounds(new Rectangle(414, 208, 59, 29));
            jPanel19.setBackground(new Color(125, 190, 255));
            jPanel19.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
            jPanel19.add(jLabel17, null);
        }
        return jPanel19;
    }

    /**
     * This method initializes jPanel20    
     *     
     * @return javax.swing.JPanel    
     */
    private JPanel getJPanel20() {
        if (jPanel20 == null) {
            jLabel18 = new JLabel();
            jLabel18.setBounds(new Rectangle(30, 5, 25, 16));
            jLabel18.setFont(new Font("Dialog", Font.BOLD, 11));
            jLabel18.setText("O-C");
            jPanel20 = new JPanel();
            jPanel20.setLayout(null);
            jPanel20.setBounds(new Rectangle(470, 208, 84, 29));
            jPanel20.setBackground(new Color(125, 190, 255));
            jPanel20.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
            jPanel20.add(jLabel18, null);
        }
        return jPanel20;
    }

    /**
     * This method initializes jButton5    
     *     
     * @return javax.swing.JButton    
     */
    private JButton getJButton5() {
        if (jButton5 == null) {
            jButton5 = new JButton();
            jButton5.setBounds(new Rectangle(4, 4, 150, 18));
            jButton5.setFont(new Font("Dialog", Font.BOLD, 12));
            jButton5.setText("Вернуться в задачу");
            jButton5.setBorder(BorderFactory.createLineBorder(Color.yellow, 2));
            jButton5.addMouseListener(new java.awt.event.MouseAdapter() {
                public void mouseClicked(java.awt.event.MouseEvent e) {
                    //System.out.println("mouseClicked()"); // TODO Auto-generated Event stub mouseClicked()
                    jTable.setCellSelectionEnabled(false);
                    jTable1.setCellSelectionEnabled(false);
                }
            });
        }
        return jButton5;
    }

    /**
     * This method initializes jButton6    
     *     
     * @return javax.swing.JButton    
     */
    private JButton getJButton6() {
        if (jButton6 == null) {
            jButton6 = new JButton();
            jButton6.setText("Закрыть разброс");
            jButton6.setBounds(new Rectangle(4, 4, 140, 15));
            //jButton6.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
            jButton6.setBorder(BorderFactory.createLineBorder(Color.yellow, 2));
            jButton6.addMouseListener(new java.awt.event.MouseAdapter() {
                public void mouseClicked(java.awt.event.MouseEvent e) {
                    //System.out.println("mouseClicked()"); // TODO Auto-generated Event stub mouseClicked()
                    jTable.setCellSelectionEnabled(false);
                    jTable1.setCellSelectionEnabled(false);
                    jFrame.setSize(556, 770);
                }
            });
        }
        return jButton6;
    }

    /**
     * This method initializes jPanel21    
     *     
     * @return javax.swing.JPanel    
     */
    private JPanel getJPanel21() {
        if (jPanel21 == null) {
            jPanel21 = new JPanel();
            jPanel21.setLayout(null);
            jPanel21.setBounds(new Rectangle(350, 3, 150, 23));
            jPanel21.setBorder(BorderFactory.createLineBorder(Color.red, 2));
            jPanel21.add(getJButton6(), null);
        }
        return jPanel21;
    }

    /**
     * This method initializes jOpenMenuItem    
     *     
     * @return javax.swing.JMenuItem    
     */
    private JMenuItem getJOpenMenuItem() {
        if (jOpenMenuItem == null) {
            jOpenMenuItem = new JMenuItem();
            jOpenMenuItem.setText("Открыть");
            jOpenMenuItem.setFont(new Font("Dialog", Font.PLAIN, 11));
            jOpenMenuItem.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent e) {
                    //System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
                    // вывод диалога об открытии файла
                    try {
                        ReadFromFile();
                    } catch (Exception ex) {
                        String s = ex.toString();
                    }
                }
            });
        }
        return jOpenMenuItem;
    }
    
    void ReadFromFile() throws IOException {
        // чтение информации из файла измерений и запись её в таблицу;
        Dimension psDim;

        disTM.setRowCount(24);
        psDim = jTable1.getPreferredSize();
        psDim.height = 384;
        jTable1.setPreferredSize(psDim);
        int rowscount = myTM.getRowCount();
        JFileChooser myFileChooser = new JFileChooser();
        int returnVal = myFileChooser.showOpenDialog(null);
        if (returnVal==JFileChooser.APPROVE_OPTION) {
          String fileName = myFileChooser.getSelectedFile().getPath();
          getSourceInformation(fileName);
        }
    }
    
    // загрузка информации из файла в таблицу
    void getSourceInformation(String filename) throws IOException {
        int  i, n, countstr, pos, pos2, res, hour, minute;
        long  jt;
        double  tj, second;
        String  s, s1, s2;
        
        /* n = myTM.getRowCount();
        for (i=(n-1); i>=0; i--) {
            myTM.removeRow(i);
        }
        n = myTM2.getRowCount();
        for (i=(n-1); i>=0; i--) {
            myTM2.removeRow(i);
        } */
        myArrayList.clear();
        myArrayList2.clear();
        BufferedReader fileIn = new BufferedReader(new FileReader(filename));
        byte buff[] = new byte[600];
        countstr = 0;
        while ((s=fileIn.readLine())!=null) {
            countstr++;
            if (countstr>5) {
                // обработка строки s и вставка её содержимого в таблицу
                myArrayList.add(s);
                myArrayList2.add(s);
            }
        }
        // действия с myArrayList -- считывание оттуда информации
        n = myArrayList.size();
        for (i=0; i<myArrayList.size(); i++) {
          s = (String)myArrayList.get(i);
          if (s.compareTo("")!=0) {
            if (i>=24) {
                Object[] obj1 = {"", "", "", "", "", "", ""};
                Object[] obj2 = {tablestring};
                disTM.addRow(obj1);
                myTM2.addRow(obj2);
            }
            s1 = String.valueOf(i+1);
            myTM.setValueAt(s1, i, 0); // запись номера строки в таблицу
            pos = s.indexOf(" ", 1);
            //s1 = " " + s.substring(5, pos);
            s2 = s.substring(5, pos);
            if ((s2.compareTo("1")==0)||(s2.compareTo("01")==0))  s1 = " (01) D, км";
            if ((s2.compareTo("2")==0)||(s2.compareTo("02")==0))  s1 = " (02) W, км/с";
            if ((s2.compareTo("3")==0)||(s2.compareTo("03")==0))  s1 = " (03) V, км/с";
            if ((s2.compareTo("8")==0)||(s2.compareTo("08")==0))  s1 = " (08) A, град";
            if ((s2.compareTo("9")==0)||(s2.compareTo("09")==0))  s1 = " (01) \u03B3, град";
            if (s2.compareTo("11")==0)  s1 = " (11) \u03B1, град";
            if (s2.compareTo("12")==0)  s1 = " (12) \u03B4, град";
            myTM.setValueAt(s1, i, 3); // запись вида измерений в таблицу
            pos2 = pos + 5;
            pos = s.indexOf(" ", pos2);
            s1 = " " + s.substring(pos2, pos);
            myTM.setValueAt(s1, i, 2); // запись номера НИП-а в таблицу
            pos2 = pos + 8;
            pos = s.indexOf(" ", pos2);
            s1 = s.substring(pos2, pos);
            jt = Long.parseLong(s1);
            pos2 = pos + 8;
            pos = s.indexOf(" ", pos2);
            s1 = s.substring(pos2, pos);
            tj = Double.parseDouble(s1);
            JD(jt, tj);
            hour = (int)(partDay*24);
            minute = (int)((partDay*24 - hour) * 60);
            second = ((partDay*24 - hour)*60 - minute)*60;
            s1 = " " + String.valueOf(year) + "." + String.valueOf(month) + "." + String.valueOf(day) + " " +
                 String.valueOf(hour) + ":" + String.valueOf(minute) + ":";
            s2 = FromDoubleToString(second);
            s1 = s1 + s2;
            myTM.setValueAt(s1, i, 1); // запись даты и времени в таблицу
            pos2 = pos + 1;
            pos = s.indexOf(" ", pos2);
            pos2 = pos + 4;
            pos = s.indexOf(" ", pos2);
            s1 = " " + s.substring(pos2, pos-1);
            myTM.setValueAt(s1, i, 4); // запись измерения в таблицу
            pos2 = pos + 5;
            pos = s.indexOf(" ", pos2);
            s1 = s.substring(pos2, pos);
            double val = Double.parseDouble(s1);
            s1 = " " + FromDoubleToString(val);
            myTM.setValueAt(s1, i, 5); // запись СКО в таблицу
            pos2 = pos + 5;
            pos = s.indexOf(" ", pos2);
            s1 = " " + s.substring(pos2, pos);
            myTM.setValueAt(s1, i, 6); // запись O-C  таблицу
          } else break;
        }
        n = myTM.getRowCount();
        jPanel10.remove(jTable);
        jPanel10.remove(jTable1);
        jPanel10.remove(jPanel11);
        Dimension prSize = new Dimension(0,0);
        if (n<=24) {
            jPanel10.add(jTable);
            jTable.setBounds(2, 0, 548, 384);
            jPanel10.add(jPanel11);
            jPanel11.setBounds(552,0, 1, 384);
            jPanel10.add(jTable1);
            jTable1.setBounds(552, 0, 495, 384);
        } else {
            jPanel10.add(jTable, new Rectangle(2, 0, 548, 16*n));
            prSize.width = 548;
            prSize.height = 16 * n;
            jTable.setPreferredSize(prSize);
            jTable.setBounds(2, 0, 548, 16*n);
            jPanel10.add(jPanel11, new Rectangle(552,0, 1, 16*n));
            prSize.width = 1;
            prSize.height = 16 * n;
            jPanel10.setPreferredSize(prSize);
            jPanel11.setBounds(552,0, 1, 16*n);
            jPanel10.add(jTable1, new Rectangle(552, 0, 495, 16*n));
            prSize.width = 495;
            prSize.height = 16 * n;
            jTable1.setPreferredSize(prSize);
            jTable1.setBounds(552, 0, 495, 16*n);
        }
    } // конец функции getSourceInformation
    
    void JD(long jt, double tj) {
    // int *year, int *month, int *day,LDouble *partDay
    ////////////////////////////////////////////////////////////////////////////
    //Получение календарной даты по юлианской дате
    //Входные параметры:
    //jt(long),tj(long double) - юлианская дата (сутки + доли суток)
    //Выхoдные параметры:
    //year(int),month(int),day(int),partDay(long double) - календарная дата
    //(год, месяц, день, доли дня)
    ////////////////////////////////////////////////////////////////////////////
      int  ii;
      long  j1d, j1, j2;
      int  j3;
      if (tj < -0.5) {
        ii = (int)(tj - 0.5);
      } else {
        ii = (int)(tj + 0.5);
      }
      partDay = tj + 0.5 - ii;
      j1d = jt + ii - 1721119L;
      j1 = (4 * j1d - 1) / 146097L;
      j2 = (4 * j1d - 1 - 146097L * j1) / 4;
      j1d = (4 * j2 + 3) / 1461;
      j2 = (4 * j2 + 7 - 1461 * j1d) / 4;
      j3 = (int)((5 * j2 - 3) / 153);
      day = (int)((5 * j2 + 2 - 153 * j3) / 5);
      year = (int)(100 * j1 + j1d);
      if(j3 < 10) {
        month = j3 + 3;
      } else {
        month = j3 - 9;
        year = year + 1;
      }
    } // конец функции JD
    
    public String FromDoubleToString(double val) {
      int i, n1, n2, pos;
      double tmpval;
      char c1, c2;
      char[] charray;
      String s, s1, s2, s3;
      DecimalFormat mydc = new DecimalFormat();

      mydc.setMaximumFractionDigits(5);
      s1 = String.valueOf(val);
      n1 = s1.indexOf(".");
      n2 = s1.indexOf("E");
      if (n2==-1) {
        s = mydc.format(val);
      } else {
        s2 = s1.substring(0, n2);
        s3 = s1.substring(n2);
        tmpval = Double.parseDouble(s2);
        s = mydc.format(tmpval);
        s += s3;
      }
      s = s.replace(',','.');
      i = 0;
      s1 = "";
      pos = s.indexOf((int)(' '));
      while (pos!=-1) {
        s1 += s.substring(i, pos);
        i = pos + 1;
        pos = s.indexOf((int)(' '), i);
      }
      s1 += s.substring(i);
      s = s1;
      return s;
    } // конец функции FromDoubleToString
    
    /**
     * This method initializes jMenuItem    
     *     
     * @return javax.swing.JMenuItem    
     */
    private JMenuItem getJMenuItem() {
        if (jMenuItem == null) {
            jMenuItem = new JMenuItem();
            jMenuItem.setText("Редактирование измерений");
        }
        return jMenuItem;
    }

    /**
     * This method initializes jMenuItem1    
     *     
     * @return javax.swing.JMenuItem    
     */
    private JMenuItem getJMenuItem1() {
        if (jMenuItem1 == null) {
            jMenuItem1 = new JMenuItem();
            jMenuItem1.setText("Вырезать");
        }
        return jMenuItem1;
    }

    /**
     * This method initializes jMenuItem2    
     *     
     * @return javax.swing.JMenuItem    
     */
    private JMenuItem getJMenuItem2() {
        if (jMenuItem2 == null) {
            jMenuItem2 = new JMenuItem();
            jMenuItem2.setText("Копировать");
        }
        return jMenuItem2;
    }

    /**
     * This method initializes jMenuItem3    
     *     
     * @return javax.swing.JMenuItem    
     */
    private JMenuItem getJMenuItem3() {
        if (jMenuItem3 == null) {
            jMenuItem3 = new JMenuItem();
            jMenuItem3.setText("Вставить");
        }
        return jMenuItem3;
    }

    /**
     * This method initializes jMenuItem4    
     *     
     * @return javax.swing.JMenuItem    
     */
    private JMenuItem getJMenuItem4() {
        if (jMenuItem4 == null) {
            jMenuItem4 = new JMenuItem();
            jMenuItem4.setText("Отказаться от выделения");
        }
        return jMenuItem4;
    }

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                MyApplication application = new MyApplication();
                application.getJFrame().setVisible(true);
            }
        });
    }

    /**
     * This method initializes jFrame
     * 
     * @return javax.swing.JFrame
     */
    private JFrame getJFrame() {
        if (jFrame == null) {
            jPopupMenu.add(getJMenuItem());
            jPopupMenu.add(getJMenuItem1());
            jPopupMenu.add(getJMenuItem2());
            jPopupMenu.add(getJMenuItem3());
            jPopupMenu.add(getJMenuItem4());
            jFrame = new JFrame();
            jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            jFrame.setFont(new Font("Dialog", Font.PLAIN, 12));
            jFrame.setJMenuBar(getJJMenuBar());
            jFrame.setSize(1080, 770);
            jFrame.setContentPane(getJContentPane());
            jFrame.setTitle("Согласование и редактирование массива измерений");
            jFrame.setVisible(true);
        }
        return jFrame;
    }

    /**
     * This method initializes jContentPane
     * 
     * @return javax.swing.JPanel
     */
    private JPanel getJContentPane() {
        if (jContentPane == null) {
            jContentPane = new JPanel();
            jContentPane.setLayout(null);
            jContentPane.add(getJButton1(), null);
            jContentPane.add(getJPanel(), null);
            jContentPane.add(getJPanel1(), null);
            jContentPane.add(getJPanel2(), null);
            jContentPane.add(getJPanel5(), null);
            jContentPane.add(getJPanel7(), null);
            jContentPane.add(getJPanel8(), null);
            jContentPane.add(getJPanel9(), null);
            jContentPane.add(getJButton(), null);
            jContentPane.add(getJScrollPane(), null);
            jContentPane.add(getJPanel12(), null);
            jContentPane.add(getJPanel14(), null);
            jContentPane.add(getJPanel15(), null);
            jContentPane.add(getJPanel16(), null);
            jContentPane.add(getJPanel17(), null);
            jContentPane.add(getJPanel18(), null);
            jContentPane.add(getJPanel19(), null);
            jContentPane.add(getJPanel20(), null);
            jContentPane.addMouseListener(new java.awt.event.MouseAdapter() {
                public void mouseClicked(java.awt.event.MouseEvent e) {
                    //System.out.println("mouseClicked()"); // TODO Auto-generated Event stub mouseClicked()
                    jTable.setCellSelectionEnabled(false);
                    jTable1.setCellSelectionEnabled(false);
                }
            });
        }
        return jContentPane;
    }

    /**
     * This method initializes jJMenuBar    
     *     
     * @return javax.swing.JMenuBar    
     */
    private JMenuBar getJJMenuBar() {
        if (jJMenuBar == null) {
            jJMenuBar = new JMenuBar();
            jJMenuBar.setFont(new Font("Dialog", Font.PLAIN, 8));
            jJMenuBar.add(getFileMenu());
            jJMenuBar.add(getEditMenu());
            jJMenuBar.add(getHelpMenu());
            jJMenuBar.addMouseListener(new java.awt.event.MouseAdapter() {
                public void mouseClicked(java.awt.event.MouseEvent e) {
                    //System.out.println("mouseClicked()"); // TODO Auto-generated Event stub mouseClicked()
                    jTable.setCellSelectionEnabled(false);
                    jTable1.setCellSelectionEnabled(false);
                }
            });
        }
        return jJMenuBar;
    }

    /**
     * This method initializes jMenu    
     *     
     * @return javax.swing.JMenu    
     */
    private JMenu getFileMenu() {
        if (fileMenu == null) {
            fileMenu = new JMenu();
            fileMenu.setText("Файл");
            fileMenu.setFont(new Font("Dialog", Font.PLAIN, 11));
            fileMenu.add(getJOpenMenuItem());
            fileMenu.add(getSaveMenuItem());
            fileMenu.add(getExitMenuItem());
        }
        return fileMenu;
    }

    /**
     * This method initializes jMenu    
     *     
     * @return javax.swing.JMenu    
     */
    private JMenu getEditMenu() {
        if (editMenu == null) {
            editMenu = new JMenu();
            editMenu.setText("Правка");
            editMenu.setFont(new Font("Dialog", Font.PLAIN, 11));
            editMenu.add(getCutMenuItem());
            editMenu.add(getCopyMenuItem());
            editMenu.add(getPasteMenuItem());
        }
        return editMenu;
    }

    /**
     * This method initializes jMenu    
     *     
     * @return javax.swing.JMenu    
     */
    private JMenu getHelpMenu() {
        if (helpMenu == null) {
            helpMenu = new JMenu();
            helpMenu.setText("Помощь");
            helpMenu.setFont(new Font("Dialog", Font.PLAIN, 11));
            helpMenu.add(getAboutMenuItem());
        }
        return helpMenu;
    }

    /**
     * This method initializes jMenuItem    
     *     
     * @return javax.swing.JMenuItem    
     */
    private JMenuItem getExitMenuItem() {
        if (exitMenuItem == null) {
            exitMenuItem = new JMenuItem();
            exitMenuItem.setText("Выход");
            exitMenuItem.setFont(new Font("Dialog", Font.PLAIN, 11));
            exitMenuItem.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    System.exit(0);
                }
            });
        }
        return exitMenuItem;
    }

    /**
     * This method initializes jMenuItem    
     *     
     * @return javax.swing.JMenuItem    
     */
    private JMenuItem getAboutMenuItem() {
        if (aboutMenuItem == null) {
            aboutMenuItem = new JMenuItem();
            aboutMenuItem.setText("О программе");
            aboutMenuItem.setFont(new Font("Dialog", Font.PLAIN, 11));
            aboutMenuItem.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    JDialog aboutDialog = getAboutDialog();
                    aboutDialog.pack();
                    Point loc = getJFrame().getLocation();
                    loc.translate(20, 20);
                    aboutDialog.setLocation(loc);
                    aboutDialog.setVisible(true);
                }
            });
        }
        return aboutMenuItem;
    }

    /**
     * This method initializes aboutDialog    
     *     
     * @return javax.swing.JDialog
     */
    private JDialog getAboutDialog() {
        if (aboutDialog == null) {
            aboutDialog = new JDialog(getJFrame(), true);
            aboutDialog.setTitle("О программе");
            aboutDialog.setContentPane(getAboutContentPane());
        }
        return aboutDialog;
    }

    /**
     * This method initializes aboutContentPane
     * 
     * @return javax.swing.JPanel
     */
    private JPanel getAboutContentPane() {
        if (aboutContentPane == null) {
            aboutContentPane = new JPanel();
            aboutContentPane.setLayout(new BorderLayout());
            aboutContentPane.add(getAboutVersionLabel(), BorderLayout.CENTER);
        }
        return aboutContentPane;
    }

    /**
     * This method initializes aboutVersionLabel    
     *     
     * @return javax.swing.JLabel    
     */
    private JLabel getAboutVersionLabel() {
        if (aboutVersionLabel == null) {
            aboutVersionLabel = new JLabel();
            aboutVersionLabel.setText("Версия 1.0");
            aboutVersionLabel.setHorizontalAlignment(SwingConstants.CENTER);
        }
        return aboutVersionLabel;
    }

    /**
     * This method initializes jMenuItem    
     *     
     * @return javax.swing.JMenuItem    
     */
    private JMenuItem getCutMenuItem() {
        if (cutMenuItem == null) {
            cutMenuItem = new JMenuItem();
            cutMenuItem.setText("Вырезать");
            cutMenuItem.setFont(new Font("Dialog", Font.PLAIN, 11));
            cutMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,
                    Event.CTRL_MASK, true));
        }
        return cutMenuItem;
    }

    /**
     * This method initializes jMenuItem    
     *     
     * @return javax.swing.JMenuItem    
     */
    private JMenuItem getCopyMenuItem() {
        if (copyMenuItem == null) {
            copyMenuItem = new JMenuItem();
            copyMenuItem.setText("Копировать");
            copyMenuItem.setFont(new Font("Dialog", Font.PLAIN, 11));
            copyMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,
                    Event.CTRL_MASK, true));
        }
        return copyMenuItem;
    }

    /**
     * This method initializes jMenuItem    
     *     
     * @return javax.swing.JMenuItem    
     */
    private JMenuItem getPasteMenuItem() {
        if (pasteMenuItem == null) {
            pasteMenuItem = new JMenuItem();
            pasteMenuItem.setText("Вставить");
            pasteMenuItem.setFont(new Font("Dialog", Font.PLAIN, 11));
            pasteMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,
                    Event.CTRL_MASK, true));
        }
        return pasteMenuItem;
    }

    /**
     * This method initializes jMenuItem    
     *     
     * @return javax.swing.JMenuItem    
     */
    private JMenuItem getSaveMenuItem() {
        if (saveMenuItem == null) {
            saveMenuItem = new JMenuItem();
            saveMenuItem.setText("Сохранить");
            saveMenuItem.setFont(new Font("Dialog", Font.PLAIN, 11));
            saveMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,
                    Event.CTRL_MASK, true));
        }
        return saveMenuItem;
    }
}


И в этом случае всё нормально работает -- скроллпейн скроллирует информацию, помещённую внутри него.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.