Здравствуйте, 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;
}
}
И в этом случае всё нормально работает -- скроллпейн скроллирует информацию, помещённую внутри него.