Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> 2 таблицы в одной форме (и не только), Как это реализовать? 
:(
    Опции темы
RedButterfly
Дата 23.8.2006, 20:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Учусь
*


Профиль
Группа: Участник
Сообщений: 132
Регистрация: 4.7.2005
Где: Уфа->Москва

Репутация: нет
Всего: нет



В JFrame нужно вставить две таблицы, кнопки, текстовые поля и другое.  Скажите пожалуйста как это лучше всего сделать? (воспользоваться каким-нибудь компановщиком, или определить размера каждого объекта) А ещё у меня одного из полей: поле даты - и как его реализовать я не знаю. 
Если у кого-нибудь есть совет (а ещё лучше пример) буду очень рада.
Спасибо за ответы.
PM MAIL ICQ Skype   Вверх
powerOn
Дата 23.8.2006, 21:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 31
Всего: 159



Цитата(RedButterfly @  23.8.2006,  21:47 Найти цитируемый пост)
В JFrame нужно вставить две таблицы, кнопки, текстовые поля и другое.  Скажите пожалуйста как это лучше всего сделать? (воспользоваться каким-нибудь компановщиком, или определить размера каждого объекта) 


Проще (да и лучше) воспользоваться "каким-нибудь компановщиком" (менеджером расположения (Layout)). Все зависит от того что необходимо получить в итоге.

Цитата(RedButterfly @  23.8.2006,  21:47 Найти цитируемый пост)
А ещё у меня одного из полей: поле даты - и как его реализовать я не знаю. 


JSpinner c использованием SpinnerDateModel или скачайте какой-нибудь "модный" компонент-календарь, например jcalendar



--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
RedButterfly
Дата 24.8.2006, 09:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Учусь
*


Профиль
Группа: Участник
Сообщений: 132
Регистрация: 4.7.2005
Где: Уфа->Москва

Репутация: нет
Всего: нет



MoonCat а у вас есть примерчик?
PM MAIL ICQ Skype   Вверх
powerOn
Дата 24.8.2006, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 31
Всего: 159



Цитата(RedButterfly @  24.8.2006,  10:26 Найти цитируемый пост)
MoonCat а у вас есть примерчик? 

Чего конкретно примерчик?

По спиннеру здесь есть примеры.



--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
RedButterfly
Дата 24.8.2006, 13:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Учусь
*


Профиль
Группа: Участник
Сообщений: 132
Регистрация: 4.7.2005
Где: Уфа->Москва

Репутация: нет
Всего: нет



Пример фрейма с несколькими таблицами, кнопками и т.д. 
PM MAIL ICQ Skype   Вверх
powerOn
Дата 24.8.2006, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 31
Всего: 159



Цитата(RedButterfly @  24.8.2006,  14:24 Найти цитируемый пост)
Пример фрейма с несколькими таблицами, кнопками и т.д.  


2 минуты в редакторе форм и пожалуйста:

Код

public class NewJFrame extends javax.swing.JFrame {
    
    /** Creates new form NewJFrame */
    public NewJFrame() {
        initComponents();
    }
    
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    // <editor-fold defaultstate="collapsed" desc=" Generated Code ">
    private void initComponents() {
        jSplitPane1 = new javax.swing.JSplitPane();
        jScrollPane3 = new javax.swing.JScrollPane();
        jTable3 = new javax.swing.JTable();
        jScrollPane2 = new javax.swing.JScrollPane();
        jTable1 = new javax.swing.JTable();
        jPanel1 = new javax.swing.JPanel();
        jButton1 = new javax.swing.JButton();
        jButton2 = new javax.swing.JButton();
        jButton3 = new javax.swing.JButton();
        jToggleButton1 = new javax.swing.JToggleButton();
        jComboBox1 = new javax.swing.JComboBox();
        jProgressBar1 = new javax.swing.JProgressBar();
        jScrollPane1 = new javax.swing.JScrollPane();
        jTree1 = new javax.swing.JTree();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        jTable3.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null}
            },
            new String [] {
                "Title 1", "Title 2", "Title 3", "Title 4"
            }
        ));
        jScrollPane3.setViewportView(jTable3);

        jSplitPane1.setRightComponent(jScrollPane3);

        jScrollPane2.setMinimumSize(new java.awt.Dimension(250, 28));
        jTable1.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null}
            },
            new String [] {
                "Title 1", "Title 2", "Title 3", "Title 4"
            }
        ));
        jScrollPane2.setViewportView(jTable1);

        jSplitPane1.setLeftComponent(jScrollPane2);

        getContentPane().add(jSplitPane1, java.awt.BorderLayout.CENTER);

        jPanel1.setLayout(new java.awt.GridLayout());

        jButton1.setText("jButton1");
        jPanel1.add(jButton1);

        jButton2.setText("jButton2");
        jPanel1.add(jButton2);

        jButton3.setText("jButton3");
        jPanel1.add(jButton3);

        jToggleButton1.setText("jToggleButton1");
        jPanel1.add(jToggleButton1);

        jComboBox1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
        jPanel1.add(jComboBox1);

        getContentPane().add(jPanel1, java.awt.BorderLayout.NORTH);

        jProgressBar1.setValue(74);
        jProgressBar1.setStringPainted(true);
        getContentPane().add(jProgressBar1, java.awt.BorderLayout.SOUTH);

        jScrollPane1.setViewportView(jTree1);

        getContentPane().add(jScrollPane1, java.awt.BorderLayout.WEST);

        pack();
    }// </editor-fold>
    
    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new NewJFrame().setVisible(true);
            }
        });
    }
    
    // Variables declaration - do not modify
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    private javax.swing.JButton jButton3;
    private javax.swing.JComboBox jComboBox1;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JProgressBar jProgressBar1;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JScrollPane jScrollPane3;
    private javax.swing.JSplitPane jSplitPane1;
    private javax.swing.JTable jTable1;
    private javax.swing.JTable jTable3;
    private javax.swing.JToggleButton jToggleButton1;
    private javax.swing.JTree jTree1;
    // End of variables declaration
    
}




--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
RedButterfly
Дата 24.8.2006, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Учусь
*


Профиль
Группа: Участник
Сообщений: 132
Регистрация: 4.7.2005
Где: Уфа->Москва

Репутация: нет
Всего: нет



спасибо smile
А вот если внизу нужна одна кнопочка маленьких размеров, то вроде как есть какой-то метод, который задает значение(число) до границы области, то есть вот тут кнопка на всю ширину окна:
Код

getContentPane().add(jButton1, java.awt.BorderLayout.SOUTH);

 а нужно чтобы это была небольшая аккуратная кнопочка.

Может кто знает этот метод?
PM MAIL ICQ Skype   Вверх
powerOn
Дата 24.8.2006, 19:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 31
Всего: 159



Почитайте документацию по Layout-ам, ситуация сразу прояснится.


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
Metal_Heart
Дата 25.8.2006, 09:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а почему бы и нет?
**


Профиль
Группа: Участник
Сообщений: 728
Регистрация: 31.3.2005
Где: Москва

Репутация: 1
Всего: 12



а ещё в нашем ФАКе есть на русском:
http://vingrad.ru/JAVA-JAV-000105


--------------------
 не стыдно учиться, а стыдно не учиться 
PM ICQ   Вверх
RedButterfly
Дата 25.8.2006, 10:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Учусь
*


Профиль
Группа: Участник
Сообщений: 132
Регистрация: 4.7.2005
Где: Уфа->Москва

Репутация: нет
Всего: нет



Посмотрите пожалуйста код. Вроде бы правильно пишу (чтобы одна таблица была выше, а другая ниже), но кажется ,что splitPane не может быть горизонтальным разделителем.
Код

import javax.swing.JScrollPane;
import javax.swing.JPanel;
import javax.swing.*;
public class test extends javax.swing.JFrame {
        public test() {
        super("Тестик");
        initComponents();
    }
     private void initComponents() {
        JSplitPane splitPane1 = new JSplitPane();
        JTable table1 = new JTable();
        JTable table2 = new JTable();
        JButton jButton1 = new JButton();
        JScrollPane scrollPane1 = new JScrollPane();
        JScrollPane scrollPane2 = new JScrollPane();
        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
      table1.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
             {new Integer(1265),"Client1","10.02.2006",new Float(0)},
    {new Integer(2623),"Client2","30.03.2006",new Float(7845.12)},
    {new Integer(8953),"Client3","22.06.2006",new Float(7845.1)},
    {new Integer(2356),"Client5","8.12.2005",new Float(456412.3)}
            },
            new String [] {"ID_Name", "Name", "Date", "Max_Credit"}
        ));
      scrollPane1 = new JScrollPane(table1);
      scrollPane1.setMaximumSize(new java.awt.Dimension(300,200));
      scrollPane1.setAlignmentX(LEFT_ALIGNMENT);
      scrollPane1.setViewportView(table1);
      getContentPane().add(scrollPane1,java.awt.BorderLayout.NORTH);
      splitPane1.setTopComponent(scrollPane1);
        table2.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] 
          {new Integer(1654),"12.14.2003",new Float(1235.3),new Float(23659.2),new Integer(2623)}        {new Integer(7954),"6.05.2004",new Float(4589.23),new Float(7845.12),new Integer(1265)},
    {new Integer(1234),"18.11.2006",new Float(78412.2),new Float(7845.1),new Integer(2356)},
    {new Integer(7327),"14,04,2006",new Float(98633),new Float(456412.3),new Integer(8953)},
            },
            new String [] {"ID_Order", "Date", "Sum","Credit", "ID_Name"}
        ));
        scrollPane2.setViewportView(table2);
        scrollPane2.setAlignmentX(LEFT_ALIGNMENT); 
        scrollPane2.setMaximumSize(new java.awt.Dimension(300,200));
        splitPane1.setBottomComponent(scrollPane2);// эта нижняя таблица 
        getContentPane().add(splitPane1, java.awt.BorderLayout.NORTH);
          pack();
    }
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new test().setVisible(true);
            }
        });
    }
  }


Или может, но это надо как-то по-другому писать?
PM MAIL ICQ Skype   Вверх
Metal_Heart
Дата 25.8.2006, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а почему бы и нет?
**


Профиль
Группа: Участник
Сообщений: 728
Регистрация: 31.3.2005
Где: Москва

Репутация: 1
Всего: 12



Цитата(RedButterfly @  25.8.2006,  10:18 Найти цитируемый пост)
но кажется ,что splitPane не может быть горизонтальным разделителем.


Код

splitPaneLeft = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, left_panel, right_panel);


а также:
http://java.sun.com/j2se/1.5.0/docs/api/ja...JSplitPane.html

а здесь можно нарыть много примеров:
http://java.sun.com/docs/books/tutorial/


Это сообщение отредактировал(а) Metal_Heart - 25.8.2006, 10:56


--------------------
 не стыдно учиться, а стыдно не учиться 
PM ICQ   Вверх
RedButterfly
Дата 25.8.2006, 11:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Учусь
*


Профиль
Группа: Участник
Сообщений: 132
Регистрация: 4.7.2005
Где: Уфа->Москва

Репутация: нет
Всего: нет



спасибо большое всем smile
Вот что у меня получилось:
Код

import javax.swing.JScrollPane;
import javax.swing.*;
public class test extends javax.swing.JFrame {
        public test() {
        super("Тестик");
        initComponents();
    }
     private void initComponents() {
        JTable table1 = new JTable();
        JTable table2 = new JTable();
        JButton jButton1 = new JButton();
        JScrollPane scrollPane1 = new JScrollPane();
        JScrollPane scrollPane2 = new JScrollPane();
        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
      table1.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                 {new Integer(1265),"Client1","10.02.2006",new Float(0)},
                    {new Integer(2623),"Client2","30.03.2006",new Float(7845.12)},
                    {new Integer(8953),"Client3","22.06.2006",new Float(7845.1)},
                    {new Integer(2356),"Client5","8.12.2005",new Float(456412.3)}
            },
            new String [] {"ID_Name", "Name", "Date", "Max_Credit"}
        ));
      scrollPane1 = new JScrollPane(table1);
      scrollPane1.setPreferredSize(new java.awt.Dimension(350,200));
      scrollPane1.setAlignmentX(LEFT_ALIGNMENT);
      scrollPane1.setViewportView(table1);
      getContentPane().setLayout(new BoxLayout(getContentPane(), BoxLayout.Y_AXIS));
      scrollPane1.setAlignmentX(CENTER_ALIGNMENT);
      getContentPane().add(scrollPane1);
      table2.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                 {new Integer(1654),"12.14.2003",new Float(1235.3),new Float(23659.2),new Integer(2623)},
                    {new Integer(7954),"6.05.2004",new Float(4589.23),new Float(7845.12),new Integer(1265)},
                    {new Integer(1234),"18.11.2006",new Float(78412.2),new Float(7845.1),new Integer(2356)},
                    {new Integer(7327),"14,04,2006",new Float(98633),new Float(456412.3),new Integer(8953)},
            },
            new String [] {"ID_Order", "Date", "Sum","Credit", "ID_Name"}
        ));
        scrollPane2.setViewportView(table2);
        scrollPane2.setAlignmentX(LEFT_ALIGNMENT); 
        scrollPane2.setPreferredSize(new java.awt.Dimension(350,200)); 
        scrollPane2.setAlignmentX(CENTER_ALIGNMENT);
        getContentPane().add(scrollPane2);
        jButton1.setText("Заказ");
      jButton1.setAlignmentX(CENTER_ALIGNMENT);
        jButton1.setPreferredSize(new java.awt.Dimension(100,50));
        getContentPane().add(jButton1);
        pack();
    }
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new test().setVisible(true);
            }
        });
    }
  } 

Пойду дальше делать тестовое задание smile
PM MAIL ICQ Skype   Вверх
RedButterfly
Дата 25.8.2006, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Учусь
*


Профиль
Группа: Участник
Сообщений: 132
Регистрация: 4.7.2005
Где: Уфа->Москва

Репутация: нет
Всего: нет



При клике на мышку должно появляться новое окно:
Код

public class test extends JFrame {
        public test() {
        super("Тестик");
        initComponents();
        }
        public void initComponents() {
                       ...
        jButton1 = new JButton();
        jButton1.setText("Заказ");
        jButton1.setAlignmentX(CENTER_ALIGNMENT);
        jButton1.setPreferredSize(new java.awt.Dimension(100,50));
        jButton1.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jButton1MouseClicked(evt);
            }
        });
        getContentPane().add(jButton1);
        pack();
        }     
     private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {
      JFrame frame = new JFrame("Заказ");
      frame.setBounds(300,300,400,400);
      
      getContentPane().setLayout(null);
      Label label1 = new Label("Клиент");
      label1.setBounds(320,320,370,350);
      getContentPane().setBackground(Color.red);
      getContentPane().add(label1);
      frame.setVisible(true);
          
    }
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new test().setVisible(true);
                  }
        });
    }
  }

Она появляется, но без метки. 
Что я неправильно делаю? 
.... Ведь потом мне надо будет чтобы окна взаимодействовали...
PM MAIL ICQ Skype   Вверх
powerOn
Дата 25.8.2006, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 31
Всего: 159



Цитата(RedButterfly @  25.8.2006,  14:56 Найти цитируемый пост)
Что я неправильно делаю? 

В строках 29 в добавляете JLabel на ContentPane, но не на тот.



Это сообщение отредактировал(а) MoonCat - 25.8.2006, 15:54


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
RedButterfly
Дата 26.8.2006, 12:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Учусь
*


Профиль
Группа: Участник
Сообщений: 132
Регистрация: 4.7.2005
Где: Уфа->Москва

Репутация: нет
Всего: нет



Теперь у меня окошечко вообще не добавляется  smile 
Код

class test extends JFrame {
    test2 frame2;
        test() {
        super("Тестик");
 ........
           jButton1.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                MouseClicked(evt);
            }
        });
        getContentPane().add(jButton1);
        pack();
        }     
    public void MouseClicked(java.awt.event.MouseEvent evt) {
      frame2 = new test2();    
    
    }
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new test().setVisible(true);
                  }
        });
    }
    class test2 extends JFrame{
     test2(){
     super("Заказ");
     Container contentpane = getContentPane();
          frame2.setBounds(300,300,400,400);
                contentpane.setLayout(null);
          Label label1 = new Label("Клиент");
          label1.setBounds(320,320,370,350);
          contentpane.setBackground(Color.red);
          contentpane.add(label1);
          frame2.setVisible(true);
    }
    }
  }

Ругается на окошко test2.
PM MAIL ICQ Skype   Вверх
powerOn
Дата 26.8.2006, 15:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 31
Всего: 159



В вашем коде много ошибок.
Посмотрите следуюший пример (скопилируйте и запустите), надеюсь он поможет:

Код

public class FirstFrame extends javax.swing.JFrame {
    
    /** Creates new form FirstFrame */
    public FirstFrame() {
        initComponents();
    }
    
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    // <editor-fold defaultstate="collapsed" desc=" Generated Code ">                          
    private void initComponents() {
        jButton1 = new javax.swing.JButton();
        jButton2 = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        jButton1.setText("Show Second Frame");
        jButton1.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jButton1MouseClicked(evt);
            }
        });

        getContentPane().add(jButton1, java.awt.BorderLayout.CENTER);

        jButton2.setText("Exit");
        jButton2.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jButton2MouseClicked(evt);
            }
        });

        getContentPane().add(jButton2, java.awt.BorderLayout.SOUTH);

        pack();
    }// </editor-fold>                        

    private void jButton2MouseClicked(java.awt.event.MouseEvent evt) {                                      
// нажата кнопка Exit:
        System.exit(0);
    }                                     

    private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {                                      
// нажата кнопка Show Second Frame:
        SecondFrame sf = new SecondFrame();
        sf.setTitle("Second Frame");
        sf.setVisible(true);
    }                                     
    
    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new FirstFrame().setVisible(true);
            }
        });
    }
    
    // Variables declaration - do not modify                     
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    // End of variables declaration                   
    
}

class SecondFrame extends javax.swing.JFrame {
    
    /** Creates new form SecondFrame */
    public SecondFrame() {
        initComponents();
    }
    
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    // <editor-fold defaultstate="collapsed" desc=" Generated Code ">                          
    private void initComponents() {
        jButton1 = new javax.swing.JButton();
        jLabel1 = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        jButton1.setText("Close me.");
        jButton1.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jButton1MouseClicked(evt);
            }
        });

        getContentPane().add(jButton1, java.awt.BorderLayout.EAST);

        jLabel1.setText("This is simple JFrame form!");
        getContentPane().add(jLabel1, java.awt.BorderLayout.CENTER);

        pack();
    }// </editor-fold>                        

    private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {                                      
// нажата кнопка Close me:
        this.dispose();
    }                                     
    
    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new SecondFrame().setVisible(true);
            }
        });
    }
    
    // Variables declaration - do not modify                     
    private javax.swing.JButton jButton1;
    private javax.swing.JLabel jLabel1;
    // End of variables declaration                   
}





--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
RedButterfly
Дата 26.8.2006, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Учусь
*


Профиль
Группа: Участник
Сообщений: 132
Регистрация: 4.7.2005
Где: Уфа->Москва

Репутация: нет
Всего: нет



Большое спасибо smile
Скоро покажу что получилось smile
PM MAIL ICQ Skype   Вверх
powerOn
Дата 26.8.2006, 18:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 31
Всего: 159



Цитата(RedButterfly @  26.8.2006,  17:38 Найти цитируемый пост)
Скоро покажу что получилось smile 

интересно увидеть, будем ждать....  smile 



--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
RedButterfly
Дата 27.8.2006, 09:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Учусь
*


Профиль
Группа: Участник
Сообщений: 132
Регистрация: 4.7.2005
Где: Уфа->Москва

Репутация: нет
Всего: нет



Вот что у меня пока получилось:
Код

import javax.swing.JScrollPane;
//import javax.swing.JTableHeader;
import javax.swing.*;
import java.awt.*;
//import java.awt.event.*;
 class test extends JFrame {
    //test2 frame2;
        public test() {
         super("Тестик");
         initComponents();
        }
        private void initComponents() { 
        JTable table1 = new JTable();
        JTable table2 = new JTable();
        JButton jButton1;
        JScrollPane scrollPane1 = new JScrollPane();
        JScrollPane scrollPane2 = new JScrollPane();
       // JTableHeader JTH = new JTableHeader();
        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        table1.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                 {new Integer(1265),"Client1","10.02.2006",new Float(0)},
                    {new Integer(2623),"Client2","30.03.2006",new Float(7845.12)},
                    {new Integer(8953),"Client3","22.06.2006",new Float(7845.1)},
                    {new Integer(2356),"Client5","8.12.2005",new Float(456412.3)}
            },
            new String [] {"ID_Name", "Name", "Date", "Max_Credit"}
        ));
     // JTableHeader JTH = table1.getTableHeader(); 
     // JTH.setReorderingAllowed(false);
      scrollPane1 = new JScrollPane(table1);
      scrollPane1.setPreferredSize(new java.awt.Dimension(350,200));
     // scrollPane1.setAlignmentX(LEFT_ALIGNMENT);
      scrollPane1.setViewportView(table1);
      getContentPane().setLayout(new BoxLayout(getContentPane(), BoxLayout.Y_AXIS));
      scrollPane1.setAlignmentX(CENTER_ALIGNMENT);
      getContentPane().add(scrollPane1);
      table2.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                 {new Integer(1654),"12.14.2003",new Float(1235.3),new Float(23659.2),new Integer(2623)},
                    {new Integer(7954),"6.05.2004",new Float(4589.23),new Float(7845.12),new Integer(1265)},
                    {new Integer(1234),"18.11.2006",new Float(78412.2),new Float(7845.1),new Integer(2356)},
                    {new Integer(7327),"14,04,2006",new Float(98633),new Float(456412.3),new Integer(8953)},
            },
            new String [] {"ID_Order", "Date", "Sum","Credit", "ID_Name"}
        ));
        scrollPane2.setViewportView(table2);
       // scrollPane2.setAlignmentX(LEFT_ALIGNMENT); 
        scrollPane2.setPreferredSize(new java.awt.Dimension(350,200)); 
        scrollPane2.setAlignmentX(CENTER_ALIGNMENT);
        getContentPane().add(scrollPane2);
        jButton1 = new JButton();
        jButton1.setText("Заказ");
        jButton1.setAlignmentX(CENTER_ALIGNMENT);
        jButton1.setPreferredSize(new java.awt.Dimension(100,50));
        jButton1.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jButton1MouseClicked(evt);
            }
        });
        getContentPane().add(jButton1);
        pack();
        }     
    public void jButton1MouseClicked(java.awt.event.MouseEvent evt) {
      test2 frame2 = new test2();    
      frame2.setTitle("Заказ");
      frame2.setVisible(true);
    
    }
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new test().setVisible(true);
                  }
        });
    }
    }
    class test2 extends JFrame{
     public test2(){
         initComponents();
     }
     private void initComponents() {
            
            JLabel label1 = new javax.swing.JLabel("Клиент");
            textfield1 = new JTextField();
            JLabel label2 = new javax.swing.JLabel("Дата заказа");
            textfield2 = new JTextField();
            JLabel label3 = new javax.swing.JLabel("Сумма заказа");
            textfield3 = new JTextField();
            JLabel label4 = new javax.swing.JLabel("Желаемый кредит");
            textfield4 = new JTextField();
            JLabel label5 = new javax.swing.JLabel("Остаток");
            textfield5 = new JTextField();
            clearbutton = new JButton();
            enterbutton = new JButton();
            setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
            
            JPanel textpanel = new JPanel(); 
            textpanel.setLayout(new BoxLayout(textpanel, BoxLayout.PAGE_AXIS));
            label1.setAlignmentY(LEFT_ALIGNMENT);
            label1.setPreferredSize(new java.awt.Dimension(100,40));
            textpanel.add(label1);
            textfield1.setPreferredSize(new java.awt.Dimension(100,40));
            textpanel.add(textfield1);
            label2.setAlignmentY(LEFT_ALIGNMENT);
            label2.setPreferredSize(new java.awt.Dimension(150,40));
            textpanel.add(label2);
            textfield2.setPreferredSize(new java.awt.Dimension(100,40));
            textpanel.add(textfield2);
            label3.setAlignmentY(LEFT_ALIGNMENT);
            label3.setPreferredSize(new java.awt.Dimension(120,40));
            textpanel.add(label3);
            textfield3.setPreferredSize(new java.awt.Dimension(100,40));
            textpanel.add(textfield3);
            label4.setAlignmentY(LEFT_ALIGNMENT);
            label4.setPreferredSize(new java.awt.Dimension(170,40));
            textpanel.add(label4);
            textfield4.setPreferredSize(new java.awt.Dimension(100,40));
            textpanel.add(textfield4);
            label5.setAlignmentY(LEFT_ALIGNMENT);
            label5.setPreferredSize(new java.awt.Dimension(130,40));
            textpanel.add(label5);
            textfield5.setPreferredSize(new java.awt.Dimension(100,40));
            textpanel.add(textfield5);
            JPanel buttonpanel = new JPanel();
            buttonpanel.setLayout(new BoxLayout(buttonpanel, BoxLayout.LINE_AXIS));
           // buttonpanel.setBorder(BorderFactory.createEmptyBorder(0, 10, 10, 10));
            buttonpanel.add(Box.createHorizontalGlue());
            clearbutton.setText("Очистить");
            buttonpanel.add(clearbutton);
            clearbutton.addMouseListener(new java.awt.event.MouseAdapter() {
                public void mouseClicked(java.awt.event.MouseEvent evt) {
                    clearbuttonMouseClicked(evt);
                }
            });
            enterbutton.setText("Принять");
            enterbutton.addMouseListener(new java.awt.event.MouseAdapter() {
                public void mouseClicked(java.awt.event.MouseEvent evt) {
                    enterbuttonMouseClicked(evt);
                }
            });
            buttonpanel.add(Box.createRigidArea(new Dimension(50, 10)));
            buttonpanel.add(enterbutton);
            getContentPane().add(textpanel,BorderLayout.CENTER);
            getContentPane().add(buttonpanel,BorderLayout.PAGE_END);
           //Button1.setText("Close me.");
            
          //  getContentPane().add(jButton1, java.awt.BorderLayout.EAST);
            
            pack();
        } 
     private void clearbuttonMouseClicked(java.awt.event.MouseEvent evt) {                                      
         textfield1.setText("");
         textfield2.setText("");
         textfield3.setText("");
         textfield4.setText("");
         textfield5.setText("");
             } 
     private void enterbuttonMouseClicked(java.awt.event.MouseEvent evt) {                                      
     }
            
             public static void main(String args[]) {
                 java.awt.EventQueue.invokeLater(new Runnable() {
                     public void run() {
                         new test2().setVisible(true);
                     }
                 });
             }
    private javax.swing.JTextField textfield1;
    private javax.swing.JTextField textfield2;
    private javax.swing.JTextField textfield3;
    private javax.swing.JTextField textfield4;
    private javax.swing.JTextField textfield5;
    private javax.swing.JButton clearbutton;
    private javax.swing.JButton enterbutton;
    }
 

Правда не совсем то , что (как мне кажется надо бы ) = было бы лучше если бы текстовые поля разместить справа от меток..ну да ладно...просто время поджимает...вроде как знаю как это можно сделать...
Тут в программе два окна. Из второго при клике на кнопку должно появиться JDialog (как мне кажется) и на этой JDialog должны быть две кнопочки, одна из которых "Ок". Так вот, при клике на Ок данные из второго окна должны "перенестись" в таблицу первого окна.  
Вот и думаю: возможно ли такое? А может третье окно сделать как просто JFrame. Тогда эти окна будут "равнозначны".... или это глупо?
PM MAIL ICQ Skype   Вверх
powerOn
Дата 27.8.2006, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 31
Всего: 159



Цитата(RedButterfly @  27.8.2006,  10:22 Найти цитируемый пост)
Так вот, при клике на Ок данные из второго окна должны "перенестись" в таблицу первого окна.  Вот и думаю: возможно ли такое? А может третье окно сделать как просто JFrame.


Конечно возможно, нужно написать свой JDialog, определить в нем информационные поля и методы get/set к ним. JDialog в даном случае предпочтительнее поскольку, в отличии от JFrame, может быть модальным.

Добавлено @ 12:14 
Вот небольшой примерчик:

Код

public class NewJFrame extends javax.swing.JFrame {
    
    /** Creates new form NewJFrame */
    public NewJFrame() {
        initComponents();
    }
    
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    // <editor-fold defaultstate="collapsed" desc=" Generated Code ">                          
    private void initComponents() {
        jLabel1 = new javax.swing.JLabel();
        jButton1 = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        jLabel1.setText("some data");
        getContentPane().add(jLabel1, java.awt.BorderLayout.CENTER);

        jButton1.setText("get Data from JDialog");
        jButton1.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jButton1MouseClicked(evt);
            }
        });

        getContentPane().add(jButton1, java.awt.BorderLayout.SOUTH);

        pack();
    }// </editor-fold>                        

    private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {                                      
// TODO add your handling code here:
        NewJDialog dialog = new NewJDialog(this, true);
        dialog.setVisible(true);
        
        // Если диалог был завершен нажатием кнопки Отмена.
        if(dialog.getExit_code() == dialog.EXIT_CANCEL) return;
        jLabel1.setText( dialog.getData() );
    }                                     
    
    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new NewJFrame().setVisible(true);
            }
        });
    }
    
    // Variables declaration - do not modify                     
    private javax.swing.JButton jButton1;
    private javax.swing.JLabel jLabel1;
    // End of variables declaration                   
    
}

class NewJDialog extends javax.swing.JDialog {
    public final int EXIT_OK = 1;
    public final int EXIT_CANCEL = 0;
    
    private int exit_code = 0;
    private String data = "";
    
    /** Creates new form NewJDialog */
    public NewJDialog(java.awt.Frame parent, boolean modal) {
        super(parent, modal);
        initComponents();
    }
    
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    // <editor-fold defaultstate="collapsed" desc=" Generated Code ">                          
    private void initComponents() {
        java.awt.GridBagConstraints gridBagConstraints;

        jPanel1 = new javax.swing.JPanel();
        jLabel1 = new javax.swing.JLabel();
        jTextField1 = new javax.swing.JTextField();
        jPanel2 = new javax.swing.JPanel();
        jButton1 = new javax.swing.JButton();
        jButton2 = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        jLabel1.setText("jLabel1");
        jPanel1.add(jLabel1);

        jTextField1.setPreferredSize(new java.awt.Dimension(200, 20));
        jPanel1.add(jTextField1);

        getContentPane().add(jPanel1, java.awt.BorderLayout.CENTER);

        jPanel2.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.RIGHT));

        jButton1.setText("OK");
        jButton1.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jButton1MouseClicked(evt);
            }
        });

        jPanel2.add(jButton1);

        jButton2.setText("Cancel");
        jButton2.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jButton2MouseClicked(evt);
            }
        });

        jPanel2.add(jButton2);

        getContentPane().add(jPanel2, java.awt.BorderLayout.SOUTH);

        pack();
    }// </editor-fold>                        

    private void jButton2MouseClicked(java.awt.event.MouseEvent evt) {                                      
// Закрываем окно без сохранения данных:
        exit_code = EXIT_CANCEL;
        dispose();
    }                                     

    private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {                                      
// Закрываем окно и сохраняем данные:
        data = jTextField1.getText();
        exit_code = EXIT_OK;
        dispose();
    }                                     
    
    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new NewJDialog(new javax.swing.JFrame(), true).setVisible(true);
            }
        });
    }

    public String getData() {
        return data;
    }

    public void setData(String data) {
        this.data = data;
    }

    public int getExit_code() {
        return exit_code;
    }
    
    // Variables declaration - do not modify                     
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JTextField jTextField1;
    // End of variables declaration                   
    
}




--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
RedButterfly
Дата 27.8.2006, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Учусь
*


Профиль
Группа: Участник
Сообщений: 132
Регистрация: 4.7.2005
Где: Уфа->Москва

Репутация: нет
Всего: нет



    smile неполучается

Это сообщение отредактировал(а) RedButterfly - 27.8.2006, 16:12
PM MAIL ICQ Skype   Вверх
RedButterfly
Дата 27.8.2006, 16:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Учусь
*


Профиль
Группа: Участник
Сообщений: 132
Регистрация: 4.7.2005
Где: Уфа->Москва

Репутация: нет
Всего: нет



Вот полностью мое задание:
Код

import javax.swing.JScrollPane;
//import javax.swing.JTableHeader;
import javax.swing.*;
import java.awt.*;
//import java.awt.event.*;
 class test extends JFrame {
     public test() {
         super("Тестик");
         initComponents();
        }
        private void initComponents() { 
        JTable table1 = new JTable();
        JTable table2 = new JTable();
        JButton jButton1;
        JScrollPane scrollPane1 = new JScrollPane();
        JScrollPane scrollPane2 = new JScrollPane();
            setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
     table1.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                 {new Integer(1265),"Иванов","10.02.2006",new Float(0)},
                    {new Integer(2623),"Петров","30.03.2006",new Float(7845.12)},
                    {new Integer(8953),"Сидоров","22.06.2006",new Float(7845.1)},
                    {new Integer(2356),"Николаев","8.12.2005",new Float(456412.3)}
            },
            new String [] {"ID_Name", "Name", "Date", "Max_Credit"}
        ));
       scrollPane1 = new JScrollPane(table1);
      scrollPane1.setPreferredSize(new java.awt.Dimension(350,200));
      scrollPane1.setViewportView(table1);
      getContentPane().setLayout(new BoxLayout(getContentPane(), BoxLayout.Y_AXIS));
      scrollPane1.setAlignmentX(CENTER_ALIGNMENT);
      getContentPane().add(scrollPane1);
      table2.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                 {new Integer(1654),"12.14.2003",new Float(1235.3),new Float(23659.2),new Integer(2623)},
                    {new Integer(7954),"6.05.2004",new Float(4589.23),new Float(7845.12),new Integer(1265)},
                    {new Integer(1234),"18.11.2006",new Float(78412.2),new Float(7845.1),new Integer(2356)},
                    {new Integer(7327),"14,04,2006",new Float(98633),new Float(456412.3),new Integer(8953)},
            },
            new String [] {"ID_Order", "Date", "Sum","Credit", "ID_Name"}
        ));
        scrollPane2.setViewportView(table2);
         scrollPane2.setPreferredSize(new java.awt.Dimension(350,200)); 
        scrollPane2.setAlignmentX(CENTER_ALIGNMENT);
        getContentPane().add(scrollPane2);
        jButton1 = new JButton();
        jButton1.setText("Заказ");
        jButton1.setAlignmentX(CENTER_ALIGNMENT);
        jButton1.setPreferredSize(new java.awt.Dimension(100,50));
        jButton1.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jButton1MouseClicked(evt);
            }
        });
        getContentPane().add(jButton1);
        pack();
        }     
    public void jButton1MouseClicked(java.awt.event.MouseEvent evt) {
      test2 frame2 = new test2();    
      frame2.setTitle("Заказ");
      frame2.setVisible(true);
    
    }
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
         public void run() {
                new test().setVisible(true);
                  }
        });
    }
    }
    class test2 extends JFrame{
     public test2(){
         initComponents();
     }
     private void initComponents() {
            JLabel label1 = new javax.swing.JLabel("Клиент");
            textfield1 = new JTextField();
            JLabel label2 = new javax.swing.JLabel("Дата заказа");
            textfield2 = new JTextField();
            JLabel label3 = new javax.swing.JLabel("Сумма заказа");
            textfield3 = new JTextField();
            JLabel label4 = new javax.swing.JLabel("Желаемый кредит");
            textfield4 = new JTextField();
            JLabel label5 = new javax.swing.JLabel("Остаток");
            textfield5 = new JTextField();
            clearbutton = new JButton();
            enterbutton = new JButton();
            
            setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
            JPanel textpanel = new JPanel(); 
            textpanel.setLayout(new BoxLayout(textpanel, BoxLayout.PAGE_AXIS));
            label1.setAlignmentY(LEFT_ALIGNMENT);
            label1.setPreferredSize(new java.awt.Dimension(100,40));
            textpanel.add(label1);
            // вот нужно было создать combobox, в котором первый Item 
            // был бы пустым = то есть это Item ввода нового клиента
            // а начиная со второго - должен быть список клентов из таблицы_1
            // первого окна (столбец "Name")
            // примерно так:
            // JComboBox combo = new JComboBox();
            //for(int i = 0; i < таблица_1.второй столбец.последний; i++)
            // c.addItem(таблица_1.второй столбец.запись[i]);
            // но как передать данные из таблицы в combobox?
            textfield1.setPreferredSize(new java.awt.Dimension(100,40));
            textpanel.add(textfield1);
            label2.setAlignmentY(LEFT_ALIGNMENT);
            label2.setPreferredSize(new java.awt.Dimension(150,40));
            textpanel.add(label2);
            textfield2.setPreferredSize(new java.awt.Dimension(100,40));
            textpanel.add(textfield2);
            label3.setAlignmentY(LEFT_ALIGNMENT);
            label3.setPreferredSize(new java.awt.Dimension(120,40));
            textpanel.add(label3);
            textfield3.setPreferredSize(new java.awt.Dimension(100,40));
            textpanel.add(textfield3);
            label4.setAlignmentY(LEFT_ALIGNMENT);
            label4.setPreferredSize(new java.awt.Dimension(170,40));
            textpanel.add(label4);
            textfield4.setPreferredSize(new java.awt.Dimension(100,40));
            textpanel.add(textfield4);
            label5.setAlignmentY(LEFT_ALIGNMENT);
            label5.setPreferredSize(new java.awt.Dimension(130,40));
            textpanel.add(label5);
            textfield5.setPreferredSize(new java.awt.Dimension(100,40));
            textpanel.add(textfield5);
            // в textfield5 нужно написать значение
            // Кредит, оставшийся после всез заказов данного
           // клиента ( поле max_credit из таблицы 1 за вычетом выданных кредитов
            // за прежние заказы) например так
              //сначала надо узнать id_name этого клиента из таблицы_1
         // потом узнать сумму его кредитов. 
         // int id = записать значение поля строки с фамилией этого клиента;
         // double sum = 0;
         // for(int k = 0; k< таблица_2.столбец4.следняя запись; k++)
         // { if(значение поля таблица_2.столбец5 == id) 
         //sum+=таблица_2.столбец4.значение
          //}
         // остаток = значение поля max_credit из таблицы_1 - sum
            JPanel buttonpanel = new JPanel();
            buttonpanel.setLayout(new BoxLayout(buttonpanel, BoxLayout.LINE_AXIS));
           // buttonpanel.setBorder(BorderFactory.createEmptyBorder(0, 10, 10, 10));
            buttonpanel.add(Box.createHorizontalGlue());
            clearbutton.setText("Очистить");
            buttonpanel.add(clearbutton);
            clearbutton.addMouseListener(new java.awt.event.MouseAdapter() {
                public void mouseClicked(java.awt.event.MouseEvent evt) {
                    clearbuttonMouseClicked(evt);
                }
            });
            enterbutton.setText("Принять");
            enterbutton.addMouseListener(new java.awt.event.MouseAdapter() {
                public void mouseClicked(java.awt.event.MouseEvent evt) {
                    enterbuttonMouseClicked(evt);
                }
            });
            buttonpanel.add(Box.createRigidArea(new Dimension(50, 10)));
            buttonpanel.add(enterbutton);
            getContentPane().add(textpanel,BorderLayout.CENTER);
            getContentPane().add(buttonpanel,BorderLayout.PAGE_END);
           pack();
        } 
     private void clearbuttonMouseClicked(java.awt.event.MouseEvent evt) {                                      
         textfield1.setText("");
         textfield2.setText("");
         textfield3.setText("");
         textfield4.setText("");
         textfield5.setText("");
             } 
     private void enterbuttonMouseClicked(java.awt.event.MouseEvent evt) { 
         //если значение textfield5> значение textfield4
         // то внести данные в таблицу_2
         // а если условие не выполняется, то показать окошко
         // no_dlg.show
         // если это новый клиент, то yes_dlg.show();
         yes_dlg.show();
     }
            
             public static void main(String args[]) {
                 java.awt.EventQueue.invokeLater(new Runnable() {
                     public void run() {
                         new test2().setVisible(true);
                     }
                 });
             }
       
      
    private javax.swing.JTextField textfield1;
    private javax.swing.JTextField textfield2;
    private javax.swing.JTextField textfield3;
    private javax.swing.JTextField textfield4;
    private javax.swing.JTextField textfield5;
    private javax.swing.JButton clearbutton;
    private javax.swing.JButton enterbutton;
    public  JDialog yes_dlg = new JDialog();
    public  JDialog no_dlg = new JDialog();
     
    class yesDialog extends JDialog {
          private test2 parentFrame;
          public yesDialog(test2 parentFrame) {
          this.parentFrame = parentFrame;
          getContentPane().setLayout(new FlowLayout());
          JLabel ent_label = new JLabel("Принять???");
          ent_label.setPreferredSize(new java.awt.Dimension(80,40));
          getContentPane().add(ent_label);
          JButton ok = new JButton("OK");
          ok.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                okbuttonMouseClicked(evt);
            }
        });
          getContentPane().add(ok);
          JButton cansel = new JButton("OK");
          cansel.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
             canselbuttonMouseClicked(evt);
            }
        });
          getContentPane().add(ok);
          setSize(150,125);
          }
          private void okbuttonMouseClicked(java.awt.event.MouseEvent evt) { 
            // вот нужно "перенести" данные с текстфиелдов в таблицу_1
            // предварительно сгенерировав
            // Id_Name (4-значное число) и посчитав Max_credit:
            // 3000 < значение поля "остаток"/2 < 10000
            //если это условие не выполняется , то вывести сообщение=ещё не сделала 
     }
          private void canselbuttonMouseClicked(java.awt.event.MouseEvent evt) { 
            dispose();
     }
          }
          class noDialog extends JDialog {
              private test2 parentFrame;
              public noDialog(test2 parentFrame) {
              this.parentFrame = parentFrame;
              getContentPane().setLayout(new BorderLayout());
              JLabel no_label = new JLabel("Такой клиент уже существует");
              no_label.setPreferredSize(new java.awt.Dimension(180,40));
             getContentPane().add(no_label,BorderLayout.NORTH);
              JButton no = new JButton("OK");
              getContentPane().add(no,BorderLayout.SOUTH);
              no.addMouseListener(new java.awt.event.MouseAdapter() {
                public void mouseClicked(java.awt.event.MouseEvent evt) {
                    nobuttonMouseClicked(evt);
                }
            });
              getContentPane().add(no);
              setSize(150,125);
              }
               private void nobuttonMouseClicked(java.awt.event.MouseEvent evt) { 
                dispose();
         }
          }
    }
    

Оно недоделано как видите.
В свячи чем у меня вопросы есть:
Как в комбобокс вывести список клиентов из таблицы 1 (в начале списка должно быть пустое поле для ввода нового клиента)?
Как сгенерировать 4-значное число? (может какие-нибудь функции генерации чисел есть...)
Как оперировать данными из таблиц 1 и 2? 
У меня JDialog yes_dialog появляется, но ничего не содердит...
на :
Код

JTableHeader JTH = table.getTableHeader(); 
          JTH.setReorderingAllowed(false);

пишет ошибку...

 smile 


PM MAIL ICQ Skype   Вверх
LSD
Дата 27.8.2006, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 38
Всего: 538



Создай у класса test поля
Код
private JTable table1;
private JTable table2;

а остальные классы сделай внутренними. Тогда они смогут обращаться к этим полям.
Чобы получить значение таблицы используй getValueAt(x, y), установить setValueAt(value, x, y).

С диалогом у меня все ОК.

Цитата(RedButterfly @  27.8.2006,  17:09 Найти цитируемый пост)
Как сгенерировать 4-значное число?

Код
Random rnd = new Random();
int value = 1000 + rnd.nextInt(9000);



Цитата(RedButterfly @  27.8.2006,  17:09 Найти цитируемый пост)
на 
...
пишет ошибку...

Какую.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
RedButterfly
Дата 27.8.2006, 22:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Учусь
*


Профиль
Группа: Участник
Сообщений: 132
Регистрация: 4.7.2005
Где: Уфа->Москва

Репутация: нет
Всего: нет



 Спасибо большое за помощь smile
Вот что у меня пока есть:
Код

import javax.swing.JScrollPane;
// тут пишет ошибку " the import javax.swing.JTableHeader cannot be resilved"
//import javax.swing.JTableHeader;
import javax.swing.*;
import java.awt.*;
class test extends JFrame {
     private JTable table1;
     private JTable table2;
        public test() {
        super("Тестик");
        initComponents();
      }
      private void initComponents() { 
      JButton jButton1;
        JScrollPane scrollPane1 = new JScrollPane();
      JScrollPane scrollPane2 = new JScrollPane();
      // тут пишет ошибку "JTableHeader cannot be resolved or is not a type"
     // JTableHeader JTH = table1.getTableHeader(); 
    //  JTH.setReorderingAllowed(false);
      setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
  table1.setModel(new javax.swing.table.DefaultTableModel(
          new Object [][] {
               {new Integer(1265),"Иванов","10.02.2006",new Float(0)},
                    {new Integer(2623),"Петров","30.03.2006",new Float(7845.12)},
                    {new Integer(8953),"Сидоров","22.06.2006",new Float(7845.1)},
                    {new Integer(2356),"Николаев","8.12.2005",new Float(456412.3)}
          },
          new String [] {"ID_Name", "Name", "Date", "Max_Credit"} 
          )
          );
    scrollPane1 = new JScrollPane(table1);
    scrollPane1.setPreferredSize(new java.awt.Dimension(350,200));
    scrollPane1.setViewportView(table1);
    getContentPane().setLayout(new BoxLayout(getContentPane(), BoxLayout.Y_AXIS));
    scrollPane1.setAlignmentX(CENTER_ALIGNMENT);
    getContentPane().add(scrollPane1);
    table2.setModel(new javax.swing.table.DefaultTableModel(
          new Object [][] {
               {new Integer(1654),"12.14.2003",new Float(1235.3),new Float(23659.2),new Integer(2623)},
                    {new Integer(7954),"6.05.2004",new Float(4589.23),new Float(7845.12),new Integer(1265)},
                    {new Integer(1234),"18.11.2006",new Float(78412.2),new Float(7845.1),new Integer(2356)},
                    {new Integer(7327),"14,04,2006",new Float(98633),new Float(456412.3),new Integer(8953)},
          },
          new String [] {"ID_Order", "Date", "Sum","Credit", "ID_Name"}
      ));
    
      scrollPane2.setViewportView(table2);
      
      scrollPane2.setPreferredSize(new java.awt.Dimension(350,200)); 
      scrollPane2.setAlignmentX(CENTER_ALIGNMENT);
      getContentPane().add(scrollPane2);
      jButton1 = new JButton();
      jButton1.setText("Заказ");
      jButton1.setAlignmentX(CENTER_ALIGNMENT);
      jButton1.setPreferredSize(new java.awt.Dimension(100,50));
      jButton1.addMouseListener(new java.awt.event.MouseAdapter() {
          public void mouseClicked(java.awt.event.MouseEvent evt) {
              jButton1MouseClicked(evt);
          }
      });
      getContentPane().add(jButton1);
      pack();
      }     
  public void jButton1MouseClicked(java.awt.event.MouseEvent evt) {
    test2 frame2 = new test2();    
    frame2.setTitle("Заказ");
    frame2.setVisible(true);
  
  }// вот тут надо возвращать количество строк
 // public int getRowCount() {
   // return ????????????????????;
    //}
  public static void main(String args[]) {
      java.awt.EventQueue.invokeLater(new Runnable() {
       public void run() {
              new test().setVisible(true);
                }
      });
  }
  }
  class test2 extends JFrame{
    public test2(){
        initComponents();
    }
    private void initComponents() {
          JLabel label1 = new javax.swing.JLabel("Клиент");
          textfield1 = new JTextField();
          JLabel label2 = new javax.swing.JLabel("Дата заказа");
          textfield2 = new JTextField();
          JLabel label3 = new javax.swing.JLabel("Сумма заказа");
          textfield3 = new JTextField();
          JLabel label4 = new javax.swing.JLabel("Желаемый кредит");
          textfield4 = new JTextField();
          JLabel label5 = new javax.swing.JLabel("Остаток");
          textfield5 = new JTextField();
          clearbutton = new JButton();
          enterbutton = new JButton();
          
          setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
          JPanel textpanel = new JPanel(); 
          textpanel.setLayout(new BoxLayout(textpanel, BoxLayout.PAGE_AXIS));
          label1.setAlignmentY(LEFT_ALIGNMENT);
          label1.setPreferredSize(new java.awt.Dimension(100,40));
          textpanel.add(label1);
           // тут пишет ошибку "table1 cannot be resolved"
          // JComboBox combo = new JComboBox();
         //  combo.addItem("");
         // for(int i = 1; i < table1.getRowCount().length; i++)
         //    combo.addItem(table1.getValueAt(i,1));
          
          textfield1.setPreferredSize(new java.awt.Dimension(100,40));
          textpanel.add(textfield1);
          label2.setAlignmentY(LEFT_ALIGNMENT);
          label2.setPreferredSize(new java.awt.Dimension(150,40));
          textpanel.add(label2);
          textfield2.setPreferredSize(new java.awt.Dimension(100,40));
          textpanel.add(textfield2);
          label3.setAlignmentY(LEFT_ALIGNMENT);
          label3.setPreferredSize(new java.awt.Dimension(120,40));
          textpanel.add(label3);
          textfield3.setPreferredSize(new java.awt.Dimension(100,40));
          textpanel.add(textfield3);
          label4.setAlignmentY(LEFT_ALIGNMENT);
          label4.setPreferredSize(new java.awt.Dimension(170,40));
          textpanel.add(label4);
          textfield4.setPreferredSize(new java.awt.Dimension(100,40));
          textpanel.add(textfield4);
          label5.setAlignmentY(LEFT_ALIGNMENT);
          label5.setPreferredSize(new java.awt.Dimension(130,40));
          textpanel.add(label5);
          textfield5.setPreferredSize(new java.awt.Dimension(100,40));
          textpanel.add(textfield5);
          // String s  = забрать значение выбранного Item
           //double sum = 0;
          // for(int n = 0; n< table1.getRowCount().length;n++)
          //{ if(table1.getValueAt(n,1) == s)
          // int ind = table1.getValueAt(n,0) // вот узнали id клиента
           //}
          
     //  for(int w = 0; w< table2.getRowCount().length; w++)
         // { if(table2.getValueAt (w,4)) == ind) 
         //sum+= getvalueAt(w.3); // узнали сумму его кредитов
        //}
          // double sum_cr = table1.getValueAt(n,1)-sum;
        // textfield5.serText(sum_cr);
          JPanel buttonpanel = new JPanel();
          buttonpanel.setLayout(new BoxLayout(buttonpanel, BoxLayout.LINE_AXIS));
          buttonpanel.add(Box.createHorizontalGlue());
          clearbutton.setText("Очистить");
          buttonpanel.add(clearbutton);
          clearbutton.addMouseListener(new java.awt.event.MouseAdapter() {
              public void mouseClicked(java.awt.event.MouseEvent evt) {
                  clearbuttonMouseClicked(evt);
              }
          });
          enterbutton.setText("Принять");
          enterbutton.addMouseListener(new java.awt.event.MouseAdapter() {
              public void mouseClicked(java.awt.event.MouseEvent evt) {
                  enterbuttonMouseClicked(evt);
              }
          });
          buttonpanel.add(Box.createRigidArea(new Dimension(50, 10)));
          buttonpanel.add(enterbutton);
          getContentPane().add(textpanel,BorderLayout.CENTER);
          getContentPane().add(buttonpanel,BorderLayout.PAGE_END);
         pack();
      } 
    private void clearbuttonMouseClicked(java.awt.event.MouseEvent evt) {                                      
        textfield1.setText("");
        textfield2.setText("");
        textfield3.setText("");
        textfield4.setText("");
        textfield5.setText("");
            } 
    private void enterbuttonMouseClicked(java.awt.event.MouseEvent evt) {
        //если значение textfield5 >= значение textfield4
        // int t4,t5;
        // t4 = StringToInt(textfield4.getText()); 
        // t5 =StringToInt(textfield5.getText()); 
        // if(t5>=t4)
        // то внести данные в таблицу_2
        //Random rnd = new Random();
        //int value = 1000 + rnd.nextInt(9000);
        // table2.insertRow(table2.getRowCount(),
        //new Object[]{value,знач-е textfield2,знач-е textfield3,знач-е textfield4,знач-е textfield5});   
        // а если условие не выполняется, то показать окошко
        // no_dlg.show
        //noDialog no_dlg = new noDialog(this, true);
        //no_dlg.setVisible(true);
        
        // если это новый клиент, то yes_dlg.show();
        // if(номер Item == 0) yes_dlg.show();
        yesDialog yes_dlg = new yesDialog(this, true);
        yes_dlg.setVisible(true);
        if(yes_dlg.getExit_code() == yes_dlg.EXIT_CANCEL) return;
        
    }
         public static void main(String args[]) {
                java.awt.EventQueue.invokeLater(new Runnable() {
                    public void run() {
                        new test2().setVisible(true);
                    }
                });
            }
  private javax.swing.JTextField textfield1;
  private javax.swing.JTextField textfield2;
  private javax.swing.JTextField textfield3;
  private javax.swing.JTextField textfield4;
  private javax.swing.JTextField textfield5;
  private javax.swing.JButton clearbutton;
  private javax.swing.JButton enterbutton;
  public  JDialog yes_dlg = new JDialog();
  public  JDialog no_dlg = new JDialog();
  } 
  class yesDialog extends JDialog {
    public final int EXIT_OK = 1;
    public final int EXIT_CANCEL = 0;
    private int exit_code = 0;
    public yesDialog(java.awt.Frame parent, boolean modal) {
        super(parent, modal);
        initComponents();
    }
    private void initComponents() {
        getContentPane().setLayout(new FlowLayout());
          JLabel ent_label = new JLabel("Принять???");
          ent_label.setPreferredSize(new java.awt.Dimension(80,40));
          getContentPane().add(ent_label);
          JButton ok = new JButton("OK");
          ok.addMouseListener(new java.awt.event.MouseAdapter() {
        public void mouseClicked(java.awt.event.MouseEvent evt) {
            okbuttonMouseClicked(evt);
        }
    });
          getContentPane().add(ok);
          JButton cansel = new JButton("Отмена");
          getContentPane().add(cansel,BorderLayout.SOUTH);
          cansel.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
             canselbuttonMouseClicked(evt);
            }
        });
          getContentPane().add(cansel);
        pack();
     }
    private void okbuttonMouseClicked(java.awt.event.MouseEvent evt) { 
          // вот нужно "перенести" данные с текстфиелдов в таблицу_1
         // предварительно сгенерировав
            // Id_Name (4-значное число) и посчитав Max_credit:
//     if((sum_cr/2)>3000 && (sum_cr/2)<=10000){
//     Random rnd2 = new Random();
        //int value2 = 1000 + rnd.nextInt(9000);
     
        // table1.insertRow(table1.getRowCount(),
        //new Object[]{value2,знач-е textfield1,знач-е textfield2,знач-е textfield4,знач-е textfield5}); 
          //}
         //если это условие не выполняется , то вывести сообщение
     //else новый диалог == ещё не сделала
            exit_code = EXIT_OK;
            dispose();
          }
          private void canselbuttonMouseClicked(java.awt.event.MouseEvent evt) { 
            exit_code = EXIT_CANCEL;
            dispose();
          }
          public static void main(String args[]) {
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
                    new test().setVisible(true);
                }
            });
        }
          public int getExit_code() {
            return exit_code;
        }
          private javax.swing.JButton okButton;
          private javax.swing.JButton canselButton;
 }
class noDialog extends JDialog {
        public final int EXIT_OK = 1;
        public final int EXIT_CANCEL = 0;
        private int exit_code = 0;
        public noDialog(java.awt.Frame parent, boolean modal) {
            super(parent, modal);
            initComponents();
        }
        private void initComponents() {
            getContentPane().setLayout(new FlowLayout());
              JLabel ent_label = new JLabel("Такой клиент уже существует!!!");
              ent_label.setPreferredSize(new java.awt.Dimension(180,40));
              getContentPane().add(ent_label);
              JButton ok = new JButton("OK");
              ok.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                okbuttonMouseClicked(evt);
            }
        });
              getContentPane().add(ok);
              
            pack();
         }
        private void okbuttonMouseClicked(java.awt.event.MouseEvent evt) { 
             
                dispose();
              }
             
              public static void main(String args[]) {
                java.awt.EventQueue.invokeLater(new Runnable() {
                    public void run() {
                        new test().setVisible(true);
                    }
                });
            }
              
              private javax.swing.JButton okButton;
             
     }
          
 

теперь пишет что java.lang.NullPointerException
Продвинулась конечно с вашей помощью (ещё раз благодарю)...но вот как доделать?
smile
PM MAIL ICQ Skype   Вверх
LSD
Дата 27.8.2006, 22:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 38
Всего: 538



Цитата(RedButterfly @  27.8.2006,  23:15 Найти цитируемый пост)
теперь пишет что java.lang.NullPointerException

Напиши полный stack trace.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
RedButterfly
Дата 28.8.2006, 07:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Учусь
*


Профиль
Группа: Участник
Сообщений: 132
Регистрация: 4.7.2005
Где: Уфа->Москва

Репутация: нет
Всего: нет



то есть?
вот это?
Код

java.lang.NullPointerException
    at test.initComponents(test.java:21)
    at test.<init>(test.java:11)
    at test$2.run(test.java:76)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:178)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:448)
    at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:197)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:144)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:136)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:99)


PM MAIL ICQ Skype   Вверх
LSD
Дата 28.8.2006, 10:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 38
Всего: 538



Цитата(RedButterfly @  28.8.2006,  08:59 Найти цитируемый пост)
вот это?

Ага.

Проблема в этой строке:
Код
table1.setModel(.....

ты пытаешься обратится к table1 до того как инициализировала ее.
Выполни вначале:
Код
table1 = new JTable();



--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
RedButterfly
Дата 28.8.2006, 11:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Учусь
*


Профиль
Группа: Участник
Сообщений: 132
Регистрация: 4.7.2005
Где: Уфа->Москва

Репутация: нет
Всего: нет



Теперь появляются хотя бы окошки))))) 
Сейчас код такой: (убрала всё ненужное)
Код

import javax.swing.JScrollPane;
//тут пишет ошибку " the import javax.swing.JTableHeader cannot be resilved"
//import javax.swing.JTableHeader;
import javax.swing.*;
import java.awt.*;
class test extends JFrame {
     JTable table1;
     JTable table2;
      public test() {
        super("Тестик");
        initComponents();
   }
   private void initComponents() { 
      table1 = new JTable();
      table2 = new JTable();
    JButton jButton1;
     
   // тут пишет ошибку "JTableHeader cannot be resolved or is not a type"
   //JTableHeader JTH = table1.getTableHeader(); 
  // JTH.setReorderingAllowed(false);
   setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
   table1.setModel(new javax.swing.table.DefaultTableModel(
       ...  );
    jButton1 = new JButton();
    jButton1.setPreferredSize(new java.awt.Dimension(100,50));
   jButton1.addMouseListener(new java.awt.event.MouseAdapter() {
       public void mouseClicked(java.awt.event.MouseEvent evt) {
           jButton1MouseClicked(evt);
       }
   });
   getContentPane().add(jButton1);
   pack();
   }
        public void jButton1MouseClicked(java.awt.event.MouseEvent evt) {
           test2 frame2 = new test2();    
            frame2.setTitle("Заказ");
            frame2.setVisible(true);

       }// вот тут надо возвращать количество строк
        // а он пишет ошибку The Method DefaultTableModel(JTable) 
        //is undefinided for the type test
        // если я правильно поняла, по тут DefaultTableModel не определена
      //   public int getRowCount() {
     //   return (DefaultTableModel(table1)).getRowCount;
    //      }
        }
class test2 extends JFrame{
    public test2(){
        initComponents();
    }
    private void initComponents() {
       
       JLabel label5 = new javax.swing.JLabel("Остаток");
       textfield5 = new JTextField();
       enterbutton = new JButton();
       

        // тут пишет ошибку "table1 cannot be resolved"
        JComboBox combo = new JComboBox();
        combo.addItem("");
     //  for(int i = 1; i < table1.getRowCount().length; i++)
      //    combo.addItem(table1.getValueAt(i,1));
      // textpanel.add(combo);
         textfield5.setPreferredSize(new java.awt.Dimension(100,40));
       textpanel.add(textfield5);
       // String s  = забрать значение выбранного Item
        //double sum = 0;
       // for(int n = 0; n< table1.getRowCount().length;n++)
       //{ if(table1.getValueAt(n,1) == s)
       // int ind = table1.getValueAt(n,0) // вот узнали id клиента
           //}
       
  //  for(int w = 0; w< table2.getRowCount().length; w++)
        // { if(table2.getValueAt (w,4)) == ind) 
        //sum+= getvalueAt(w.3); // узнали сумму его кредитов
        //}
       // double sum_cr = table1.getValueAt(n,1)-sum;
     // textfield5.serText(sum_cr);
          JPanel buttonpanel = new JPanel();
       buttonpanel.setLayout(new BoxLayout(buttonpanel, BoxLayout.LINE_AXIS));
       buttonpanel.add(Box.createHorizontalGlue());
             enterbutton.setText("Принять");
       enterbutton.addMouseListener(new java.awt.event.MouseAdapter() {
           public void mouseClicked(java.awt.event.MouseEvent evt) {
               enterbuttonMouseClicked(evt);
           }
       });
       buttonpanel.add(Box.createRigidArea(new Dimension(50, 10)));
       buttonpanel.add(enterbutton);
       getContentPane().add(textpanel,BorderLayout.CENTER);
       getContentPane().add(buttonpanel,BorderLayout.PAGE_END);
      pack();
   } 
    private void enterbuttonMouseClicked(java.awt.event.MouseEvent evt) {
        //если значение textfield5 >= значение textfield4
        // int t4,t5;
        // t4 = StringToInt(textfield4.getText()); 
     // t5 =StringToInt(textfield5.getText()); 
        // if(t5>=t4)
        // то внести данные в таблицу_2
        //Random rnd = new Random();
        //int value = 1000 + rnd.nextInt(9000);
        // table2.insertRow(table2.getRowCount(),
        //new Object[]{value,знач-е textfield2,знач-е textfield3,знач-е textfield4,знач-е textfield5});   
        // а если условие не выполняется, то показать окошко
        // no_dlg.show
        //noDialog no_dlg = new noDialog(this, true);
        //no_dlg.setVisible(true);
        
        // если это новый клиент, то yes_dlg.show();
        // if(номер Item == 0) yes_dlg.show();
    //    yesDialog yes_dlg = new yesDialog(this, true);
    //    yes_dlg.setVisible(true);
    //    if(yes_dlg.getExit_code() == yes_dlg.EXIT_CANCEL) return;
        
    }
         public static void main(String args[]) {
                java.awt.EventQueue.invokeLater(new Runnable() {
                    public void run() {
                        new test2().setVisible(true);
                    }
                });
        }
private javax.swing.JTextField textfield5;
private javax.swing.JButton enterbutton;
public  JDialog yes_dlg = new JDialog();
} 
class yesDialog extends JDialog {
    public final int EXIT_OK = 1;
 public final int EXIT_CANCEL = 0;
 private int exit_code = 0;
 private String data = "";
 public yesDialog(java.awt.Frame parent, boolean modal) {
     super(parent, modal);
     initComponents();
 }
    private void initComponents() {
        getContentPane().setLayout(new FlowLayout());
          JLabel ent_label = new JLabel("Принять???");
          ent_label.setPreferredSize(new java.awt.Dimension(80,40));
          getContentPane().add(ent_label);
          JButton ok = new JButton("OK");
          ok.addMouseListener(new java.awt.event.MouseAdapter() {
     public void mouseClicked(java.awt.event.MouseEvent evt) {
         okbuttonMouseClicked(evt);
     }
 });
          getContentPane().add(ok);
          JButton cansel = new JButton("Отмена");
          getContentPane().add(cansel,BorderLayout.SOUTH);
          cansel.addMouseListener(new java.awt.event.MouseAdapter() {
         public void mouseClicked(java.awt.event.MouseEvent evt) {
          canselbuttonMouseClicked(evt);
         }
     });
          getContentPane().add(cansel);
     pack();
     }
  private void okbuttonMouseClicked(java.awt.event.MouseEvent evt) { 
       // вот нужно "перенести" данные с текстфиелдов в таблицу_1
        // предварительно сгенерировав
            // Id_Name (4-значное число) и посчитав Max_credit:
//    if((sum_cr/2)>3000 && (sum_cr/2)<=10000){
//    Random rnd2 = new Random();
        //int value2 = 1000 + rnd.nextInt(9000);
    
        // table1.insertRow(table1.getRowCount(),
        //new Object[]{value2,знач-е textfield1,знач-е textfield2,знач-е textfield4,знач-е textfield5}); 
          //}
        //если это условие не выполняется , то вывести сообщение
    //else новый диалог == ещё не сделала
    
    // вот тут хотела заполучить данные с 5-го текстового поля 
    // но JDialog его не видит...
         // data =  textfield5.getText();
         //  java.lang.System.out.println(data);
            exit_code = EXIT_OK;
            dispose();
          }
          private void canselbuttonMouseClicked(java.awt.event.MouseEvent evt) { 
            exit_code = EXIT_CANCEL;
            dispose();
          }
          public static void main(String args[]) {
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
                    new test().setVisible(true);
                }
            });
        }
          public String getData() {
            return data;
        }

        public void setData(String data) {
            this.data = data;
        }

          public int getExit_code() {
            return exit_code;
        }
          private javax.swing.JButton okButton;
          private javax.swing.JButton canselButton;
}

Ошибки:
1.
Код
 //тут пишет ошибку " the import javax.swing.JTableHeader cannot be resilved"
//import javax.swing.JTableHeader; 
-> а к какому покету тогда относится JTableHeader?
2. 
Код
}// вот тут надо возвращать количество строк
        // а он пишет ошибку The Method DefaultTableModel(JTable) 
        //is undefinided for the type test
        // если я правильно поняла, по тут DefaultTableModel не определена
      //   public int getRowCount() {
     //   return (DefaultTableModel(table1)).getRowCount;
    //      }
 - > return (DefaultTableModel(table1)).getRowCount; как -то по-другому надо написать
3. 
Код

// тут пишет ошибку "table1 cannot be resolved"
        JComboBox combo = new JComboBox();
        combo.addItem("");
     //  for(int i = 1; i < table1.getRowCount().length; i++)
      //    combo.addItem(table1.getValueAt(i,1));
      // textpanel.add(combo);
 - > tble1 из класса test "естественно" не видна....
и последнее
Код

// вот тут хотела заполучить данные с 5-го текстового поля 
    // но JDialog его не видит...
         // data =  textfield5.getText();
         //  java.lang.System.out.println(data);
 - > это в диалоге...
Посоветуйте плиз что-нить smile





PM MAIL ICQ Skype   Вверх
LSD
Дата 28.8.2006, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 38
Всего: 538



1.
Код
import javax.swing.table.JTableHeader;


2. 
Код
  public int getRowCount()
  {
    return table1.getRowCount();
  }


3. Сделай класс test2 внутренним в test.

4. Тоже самое.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
RedButterfly
Дата 30.8.2006, 12:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Учусь
*


Профиль
Группа: Участник
Сообщений: 132
Регистрация: 4.7.2005
Где: Уфа->Москва

Репутация: нет
Всего: нет



smile У меня (вернее у нас всех) получается)))
Только я в "немного в ступоре" от того, что дальше надо делать...
Вот это просто добавление пустой строки в выпадающий список, а нужно чтобы это была строка ввода. Может есть какие-нибудь функции?
Код

 combo.addItem("");

В выпадающем списке все = объекты. Надо забрать оттуда значение, чтобы потом с ним работать.  Т.е. получается забрать текстовое значение объекта (чтоли?). Узнать это значение можно так: (оно появляется во 2-м текстовом поле)
Код

textfield2.setText(""+((JComboBox)e.getSource()).getSelectedItem());


Часть кода:
Код

import javax.swing.JScrollPane;
import javax.swing.table.JTableHeader; 
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class test extends JFrame {
    private JTable table1;
    private JTable table2;
    public test() {
        super("Тестик");
        initComponents();
      }
      private void initComponents() { 
      ...
      pack();
      } 
      public void jButton1MouseClicked(java.awt.event.MouseEvent evt) {
       test2 frame2 = new test2();
       frame2.setTitle("Заказ");
       frame2.setVisible(true);
       
       }/* что-то не работает!!! 
      public boolean isCellEditable(int rowIndex, int columnIndex) {
       return true;
       }*/
      
      public int getRowCount() {
       return table1.getRowCount();
       }
      public static void main(String args[]) {
       java.awt.EventQueue.invokeLater(new Runnable() {
           public void run() {
               new test().setVisible(true);
               }
           });
       }
      class test2 extends JFrame  {
       public test2() {
           initComponents();
           }
       private void initComponents() {
             
              
               // тут первая строчка должна быть строкой ввода!!!
               JComboBox combo = new JComboBox();
               combo.addItem("");
               
              for(int i = 0; i < table1.getRowCount(); i++)
              combo.addItem(table1.getValueAt(i,1));
              combo.setPreferredSize(new java.awt.Dimension(100,40));
              textpanel.add(combo);
              
              combo.addActionListener(new ActionListener() {
              public void actionPerformed(ActionEvent e){// вот тут надо забрать значение
                    textfield2.setText(""+((JComboBox)e.getSource()).getSelectedItem());
                  }
                });
              
             
              
              //Object s =  combo.setSelectedItem();
              /* int ind; 
               double sum = 0;
               for(int n = 0; n< table1.getRowCount();n++)
              { if(table1.getValueAt(n,1) == s)
                ind = table1.getValueAt(n,0); // вот узнали id клиента
              }*/
              
         //  for(int w = 0; w< table2.getRowCount().length; w++)
             // { if(table2.getValueAt (w,4)) == ind) 
             //sum+= getvalueAt(w.3); // узнали сумму его кредитов
           //}
              // double sum_cr = table1.getValueAt(n,1)-sum;
            // textfield5.serText(sum_cr);
                         ...
             pack();
          }
       private void comboMouseClicked(java.awt.event.MouseEvent evt) {                                      
           
               } 
       public String getData() {
            return data;
        }
             private void enterbuttonMouseClicked(java.awt.event.MouseEvent evt) {
           //если значение textfield5 >= значение textfield4
           // int t4,t5;
           // t4 = StringToInt(textfield4.getText()); 
            // t5 =StringToInt(textfield5.getText()); 
           // if(t5>=t4)
           // то внести данные в таблицу_2
           // здесь тип random неизвестен
           //Random rnd = new Random();
           //int value = 1000 + rnd.nextInt(9000);
           // table2.insertRow(table2.getRowCount(),
           //new Object[]{value,знач-е textfield2,знач-е textfield3,знач-е textfield4,знач-е textfield5});   
           // а если условие не выполняется, то показать окошко
           // no_dlg.show
           //noDialog no_dlg = new noDialog(this, true);
           //no_dlg.setVisible(true);
           
           // если это новый клиент, то yes_dlg.show();
           // if(номер Item == 0) yes_dlg.show();
       //    yesDialog yes_dlg = new yesDialog(this, true);
       //    yes_dlg.setVisible(true);
       //    if(yes_dlg.getExit_code() == yes_dlg.EXIT_CANCEL) return;
           
       }
      private javax.swing.JTextField textfield1;
      private javax.swing.JTextField textfield2;
      private javax.swing.JTextField textfield3;
      private javax.swing.JTextField textfield4;
      private javax.swing.JTextField textfield5;
      private javax.swing.JButton clearbutton;
      private javax.swing.JButton enterbutton;
      public  JDialog yes_dlg = new JDialog();
      public  JDialog no_dlg = new JDialog();
      private String data = "";
      } 
      }
  

PM MAIL ICQ Skype   Вверх
RedButterfly
Дата 30.8.2006, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Учусь
*


Профиль
Группа: Участник
Сообщений: 132
Регистрация: 4.7.2005
Где: Уфа->Москва

Репутация: нет
Всего: нет



У меня тихо-мирно всё движется вперед smile
ВОт код
Код

import javax.swing.JScrollPane;
import javax.swing.table.JTableHeader; 
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class test extends JFrame {
    private JTable table1;
    private JTable table2;
    public test() {
        super("Тестик");
        initComponents();
      }
      private void initComponents() { 
      JButton jButton1;
        JScrollPane scrollPane1 = new JScrollPane();
      JScrollPane scrollPane2 = new JScrollPane();
      table1 = new JTable();
      table2 = new JTable();
      JTableHeader JTH = table1.getTableHeader(); 
      JTH.setReorderingAllowed(false);
      setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
      table1.setModel(new javax.swing.table.DefaultTableModel(
          new Object [][] {
               {new Integer(1265),"Иванов","10.02.2006",new Float(0)},
                    {new Integer(2623),"Петров","30.03.2006",new Float(7845.12)},
                    {new Integer(8953),"Сидоров","22.06.2006",new Float(7845.1)},
                    {new Integer(2356),"Николаев","8.12.2005",new Float(456412.3)}
          },
          new String [] {"ID_Name", "Name", "Date", "Max_Credit"} 
          )
          );
    scrollPane1 = new JScrollPane(table1);
    scrollPane1.setPreferredSize(new java.awt.Dimension(350,200));
    scrollPane1.setViewportView(table1);
    getContentPane().setLayout(new BoxLayout(getContentPane(), BoxLayout.Y_AXIS));
    scrollPane1.setAlignmentX(CENTER_ALIGNMENT);
    getContentPane().add(scrollPane1);
    JTableHeader JTH2 = table2.getTableHeader(); 
    JTH.setReorderingAllowed(false);
    table2.setModel(new javax.swing.table.DefaultTableModel(
          new Object [][]  {
               {new Integer(1654),"12.14.2003",new Float(1235.3),new Float(23659.2),new Integer(2623)},
                    {new Integer(7954),"6.05.2004",new Float(4589.23),new Float(7845.12),new Integer(1265)},
                    {new Integer(1234),"18.11.2006",new Float(78412.2),new Float(7845.1),new Integer(2356)},
                    {new Integer(7327),"14.04.2006",new Float(98633),new Float(456412.3),new Integer(8953)},
          },
          new String [] {"ID_Order", "Date", "Sum","Credit", "ID_Name"}
      ));
    
      scrollPane2.setViewportView(table2);
      
      scrollPane2.setPreferredSize(new java.awt.Dimension(350,200)); 
      scrollPane2.setAlignmentX(CENTER_ALIGNMENT);
      getContentPane().add(scrollPane2);
      jButton1 = new JButton();
      jButton1.setText("Заказ");
      jButton1.setAlignmentX(CENTER_ALIGNMENT);
      jButton1.setPreferredSize(new java.awt.Dimension(100,50));
      jButton1.addMouseListener(new java.awt.event.MouseAdapter() {
          public void mouseClicked(java.awt.event.MouseEvent evt) {
              jButton1MouseClicked(evt);
          }
      });
      getContentPane().add(jButton1);
      pack();
      } 
      public void jButton1MouseClicked(java.awt.event.MouseEvent evt) {
       test2 frame2 = new test2();
       frame2.setTitle("Заказ");
       frame2.setVisible(true);
       
       }/* что-то не работает!!! 
      public boolean isCellEditable(int rowIndex, int columnIndex) {
       return true;
       }*/
      
      public int getRowCount() {
       return table1.getRowCount();
       }
      public Object getValueAt(int row, int col) {
        return table1 [row][col]; 
      }

      public static void main(String args[]) {
       java.awt.EventQueue.invokeLater(new Runnable() {
           public void run() {
               new test().setVisible(true);
               }
           });
       }
      class test2 extends JFrame  {
       
        
       public test2() {
           initComponents();
           }
       private void initComponents() {
              JLabel label1 = new javax.swing.JLabel("Клиент");
              textfield1 = new JTextField();
              JLabel label2 = new javax.swing.JLabel("Дата заказа");
              textfield2 = new JTextField();
              JLabel label3 = new javax.swing.JLabel("Сумма заказа");
              textfield3 = new JTextField();
              JLabel label4 = new javax.swing.JLabel("Желаемый кредит");
              textfield4 = new JTextField();
              JLabel label5 = new javax.swing.JLabel("Остаток");
              textfield5 = new JTextField();
              clearbutton = new JButton();
              enterbutton = new JButton();
             setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
              JPanel textpanel = new JPanel(); 
              textpanel.setLayout(new BoxLayout(textpanel, BoxLayout.PAGE_AXIS));
              label1.setAlignmentY(LEFT_ALIGNMENT);
              label1.setPreferredSize(new java.awt.Dimension(100,40));
              textpanel.add(label1);
              
               // тут первая строчка должна быть строкой ввода!!!
               combo = new JComboBox();
               combo.addItem("");
               for(int i = 0; i < table1.getRowCount(); i++)
              combo.addItem(table1.getValueAt(i,1));
              combo.setPreferredSize(new java.awt.Dimension(100,40));
              combo.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e){
                 s = (String) combo.getSelectedItem();
                    //textfield3.setText(s);
                    System.out.println(s);
                  }
                });
              textpanel.add(combo);        
              label2.setAlignmentY(LEFT_ALIGNMENT);
              label2.setPreferredSize(new java.awt.Dimension(150,40));
              textpanel.add(label2);
              textfield2.setPreferredSize(new java.awt.Dimension(100,40));
              textpanel.add(textfield2);
              label3.setAlignmentY(LEFT_ALIGNMENT);
              label3.setPreferredSize(new java.awt.Dimension(120,40));
              textpanel.add(label3);
              textfield3.setPreferredSize(new java.awt.Dimension(100,40));
              textpanel.add(textfield3);
              label4.setAlignmentY(LEFT_ALIGNMENT);
              label4.setPreferredSize(new java.awt.Dimension(170,40));
              textpanel.add(label4);
              textfield4.setPreferredSize(new java.awt.Dimension(100,40));
              textpanel.add(textfield4);
              label5.setAlignmentY(LEFT_ALIGNMENT);
              label5.setPreferredSize(new java.awt.Dimension(130,40));
              textpanel.add(label5);
              textfield5.setPreferredSize(new java.awt.Dimension(100,40));
              textpanel.add(textfield5);
               double sum = 0;
               for(int n = 0; n< table1.getRowCount();n++)
              { if(table1.getValueAt(n,1) == s)
                ind = table1.getValueAt(n,0); // вот узнали id клиента
              }
              
         //  for(int w = 0; w< table2.getRowCount().length; w++)
             // { if(table2.getValueAt (w,4)) == ind) 
             //sum+= getvalueAt(w.3); // узнали сумму его кредитов
           //}
              // double sum_cr = table1.getValueAt(n,1)-sum;
            // textfield5.serText(sum_cr);
             JPanel buttonpanel = new JPanel();
              buttonpanel.setLayout(new BoxLayout(buttonpanel, BoxLayout.LINE_AXIS));
              buttonpanel.add(Box.createHorizontalGlue());
              clearbutton.setText("Очистить");
              buttonpanel.add(clearbutton);
              clearbutton.addMouseListener(new java.awt.event.MouseAdapter() {
                  public void mouseClicked(java.awt.event.MouseEvent evt) {
                      clearbuttonMouseClicked(evt);
                  }
              });
              enterbutton.setText("Принять");
              enterbutton.addMouseListener(new java.awt.event.MouseAdapter() {
                  public void mouseClicked(java.awt.event.MouseEvent evt) {
                      enterbuttonMouseClicked(evt);
                  }
              });
              buttonpanel.add(Box.createRigidArea(new Dimension(50, 10)));
              buttonpanel.add(enterbutton);
              getContentPane().add(textpanel,BorderLayout.CENTER);
              getContentPane().add(buttonpanel,BorderLayout.PAGE_END);
             pack();
          }
      
       private void clearbuttonMouseClicked(java.awt.event.MouseEvent evt) {                                      
           textfield1.setText("");
           textfield2.setText("");
           textfield3.setText("");
           textfield4.setText("");
           textfield5.setText("");
               } 
       private void enterbuttonMouseClicked(java.awt.event.MouseEvent evt) {
           //если значение textfield5 >= значение textfield4
           // int t4,t5;
           // t4 = StringToInt(textfield4.getText()); 
            // t5 =StringToInt(textfield5.getText()); 
           // if(t5>=t4)
           // то внести данные в таблицу_2
           // здесь тип random неизвестен
           //Random rnd = new Random();
           //int value = 1000 + rnd.nextInt(9000);
           // table2.insertRow(table2.getRowCount(),
           //new Object[]{value,знач-е textfield2,знач-е textfield3,знач-е textfield4,знач-е textfield5});   
           // а если условие не выполняется, то показать окошко
           // no_dlg.show
           //noDialog no_dlg = new noDialog(this, true);
           //no_dlg.setVisible(true);
           
           // если это новый клиент, то yes_dlg.show();
           // if(номер Item == 0) yes_dlg.show();
       //    yesDialog yes_dlg = new yesDialog(this, true);
       //    yes_dlg.setVisible(true);
       //    if(yes_dlg.getExit_code() == yes_dlg.EXIT_CANCEL) return;
           
       }
      private javax.swing.JTextField textfield1;
      private javax.swing.JTextField textfield2;
      private javax.swing.JTextField textfield3;
      private javax.swing.JTextField textfield4;
      private javax.swing.JTextField textfield5;
      private javax.swing.JButton clearbutton;
      private javax.swing.JButton enterbutton;
      public  JDialog yes_dlg = new JDialog();
      public  JDialog no_dlg = new JDialog();
      public javax.swing.JComboBox combo;
      public String s;
      public int ind;
      } 
      }         

Только вот вопросики есть:
Код

}/* что-то не работает!!! 
      public boolean isCellEditable(int rowIndex, int columnIndex) {
       return true;
       }*/
      
  

 // вот тут что возвращать?   
      
Код

public Object getValueAt(int row, int col) {
        return ????? [row][col]; 
      }




PM MAIL ICQ Skype   Вверх
powerOn
Дата 30.8.2006, 18:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 31
Всего: 159



Метод getValueAt обычно переопределяется или реализовывается в моделях таблицы. Но поскольку вы модель свою не создаете и определили данный метод в классе  test extends JFrame, то можете впринципе вернуть все что захотите. 
Если к примеру цель данного метода вернуть значение таблицы из строки row и колонки col?, то вероятно, следует получить данное значение из модели таблицы и вернуть его.

Код

return jTable1.getModel().getValueAt(row, col);



--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
RedButterfly
Дата 30.8.2006, 20:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Учусь
*


Профиль
Группа: Участник
Сообщений: 132
Регистрация: 4.7.2005
Где: Уфа->Москва

Репутация: нет
Всего: нет



у меня такой вопрос:
Код:
Код

combo = new JComboBox();
          for(int i = 0; i < table1.getRowCount(); i++)
              combo.addItem(table1.getValueAt(i,1));
              combo.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e){
                s = (String) combo.getSelectedItem(); // вот так получаю фамилию выбранного клиента
                 //   System.out.println(s); //проверка
                  }
                });
             for(int n = 0; n< table1.getRowCount();n++)
              {
                data = (String) table1.getModel().getValueAt(n,1); 
                if(data == s){ //тут  s не видна
                    data2 = (String) table1.getModel().getValueAt(n,0);    
                    System.out.println(data2); // вот узнали id клиента
               }
              }

Где ошиблась? вроде как всё правильно написала. Вроде как в блоке эта переменная (s) должна быть видна...только я думаю, что это слушатель к комбобоксу неправильный.
Если поместить этот блок кода в слушатель от комбобокс
Код

    for(int n = 0; n< table1.getRowCount();n++)
                    {
                      data = (String) table1.getModel().getValueAt(n,1); 
                      if(data == s){
                          data2 = (String) table1.getModel().getValueAt(n,0);    
                          System.out.println(data2); // вот узнали id клиента
                     }
                    }

то он пишет ошибки:
Код

java.lang.ClassCastException
    at test$1.actionPerformed(test.java:131)
    at javax.swing.JComboBox.fireActionEvent(JComboBox.java:1196)
    at javax.swing.JComboBox.setSelectedItem(JComboBox.java:561)
    at javax.swing.JComboBox.setSelectedIndex(JComboBox.java:597)
    at javax.swing.plaf.basic.BasicComboPopup$ListMouseHandler.mouseReleased(BasicComboPopup.java:749)
    at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:228)
    at java.awt.Component.processMouseEvent(Component.java:5093)
    at javax.swing.plaf.basic.BasicComboPopup$2.processMouseEvent(BasicComboPopup.java:452)
    at java.awt.Component.processEvent(Component.java:4890)
    at java.awt.Container.processEvent(Container.java:1566)
    at java.awt.Component.dispatchEventImpl(Component.java:3598)
    at java.awt.Container.dispatchEventImpl(Container.java:1623)
    at java.awt.Component.dispatchEvent(Component.java:3439)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3450)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3165)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3095)
    at java.awt.Container.dispatchEventImpl(Container.java:1609)
    at java.awt.Window.dispatchEventImpl(Window.java:1585)
    at java.awt.Component.dispatchEvent(Component.java:3439)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:450)
    at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:197)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:144)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:136)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:99)



Это сообщение отредактировал(а) RedButterfly - 30.8.2006, 20:09
PM MAIL ICQ Skype   Вверх
powerOn
Дата 30.8.2006, 20:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 31
Всего: 159



Цитата(RedButterfly @  30.8.2006,  21:07 Найти цитируемый пост)
java.lang.ClassCastException

Это ошибка приведения типа. 

Цитата(RedButterfly @  30.8.2006,  21:07 Найти цитируемый пост)
 s = (String) combo.getSelectedItem(); // вот так 

так делать нельзя, поскольку  combo.getSelectedItem() не является подклассом класса String, да и расширения здесь быть неможет.
исрпользуйте combo.getSelectedItem().toString(); если хотите получить строковое представление.


Это сообщение отредактировал(а) MoonCat - 30.8.2006, 20:26


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
RedButterfly
Дата 31.8.2006, 09:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Учусь
*


Профиль
Группа: Участник
Сообщений: 132
Регистрация: 4.7.2005
Где: Уфа->Москва

Репутация: нет
Всего: нет



вот если писать так 
Код

 public Object getValueAt(int row, int col) {
        return table1.getModel().getValueAt(row , col) ; 
      }
      public Object getValueAt(int row, int col) {
        return table2.getModel().getValueAt(row , col) ; 
      }
 то это ошибка, потому что названия одинаковые
а если так
Код

 public Object getValueAt(int row, int col) {
        return table1.getModel().getValueAt(row , col) ; 
      }
     public Object getValueAt2(int row, int col) {
        return table2.getModel().getValueAt(row , col) ; 
      }
 то нет ошибки здесь, но вот тут пишет ошибку
Код

    data3 = table2.getModel().getValueAt2(w,4).toString();
 что метод getValueAt2 не определен для TableModel
а как будет правильно?

Это сообщение отредактировал(а) RedButterfly - 31.8.2006, 09:09
PM MAIL ICQ Skype   Вверх
LSD
Дата 31.8.2006, 10:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 38
Всего: 538



Цитата(RedButterfly @  31.8.2006,  10:07 Найти цитируемый пост)
что метод getValueAt2 не определен для TableModelа как будет правильно?

Я не пойму, что ты хочешь получить в итоге. Если ты хочешь получить данные из table2, то пиши или table2.getValueAt(w, 4) или getValueAt2(w, 4).


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
RedButterfly
Дата 31.8.2006, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Учусь
*


Профиль
Группа: Участник
Сообщений: 132
Регистрация: 4.7.2005
Где: Уфа->Москва

Репутация: нет
Всего: нет



скажите пожалуйста а как получить int-e значение от ячейки таблицы?
вот это неправильно
Код

int z =(int) table1.getValueAt(n,3).toString(); // или
int z = table1.getValueAt(n,3).toInt();

спасибо smile
PM MAIL ICQ Skype   Вверх
powerOn
Дата 31.8.2006, 20:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 31
Всего: 159



Код

int z = Integer.parseInt(table1.getValueAt(n,3).toString());


Это сообщение отредактировал(а) MoonCat - 31.8.2006, 20:52


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
RedButterfly
Дата 1.9.2006, 11:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Учусь
*


Профиль
Группа: Участник
Сообщений: 132
Регистрация: 4.7.2005
Где: Уфа->Москва

Репутация: нет
Всего: нет



спасибо smile
PM MAIL ICQ Skype   Вверх
RedButterfly
Дата 1.9.2006, 20:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Учусь
*


Профиль
Группа: Участник
Сообщений: 132
Регистрация: 4.7.2005
Где: Уфа->Москва

Репутация: нет
Всего: нет



Хотела сделать вставку новой строки вот примерно так:
Код

Model.insertRow(Model.getRowCount(),new Object[]{obj1,obj2,obj3});
 то есть у меня например:
Код

table2.getModel().InsertRow(table2.getModel().getRowCount(),new Object[]{"*","**","***","****"});

но у (table2.getModel()) нет метода InsertRow зато есть метод setValueAt, но мне он не нужен..ведь нужно строку вставить
И ещё: подключила
Код

import java.math.*;
 думая, что он нужен для
Код

Random rnd = new Random();
int value = 1000 + rnd.nextInt(9000);
 (так как Random не известен как тип) , но это не помогло
PM MAIL ICQ Skype   Вверх
powerOn
Дата 1.9.2006, 20:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 31
Всего: 159



Цитата(RedButterfly @  1.9.2006,  21:16 Найти цитируемый пост)
import java.math.*;

подключите java.util.*;

Цитата(RedButterfly @  1.9.2006,  21:16 Найти цитируемый пост)
но у (table2.getModel()) нет метода InsertRow зато есть метод setValueAt, но мне он не нужен..ведь нужно строку вставить


Попробуйте в таком стиле:

Код

((DefaultTableModel) jTable1.getModel()).addRow(new String[] {"111", "222", "333", "444"});




--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
RedButterfly
Дата 1.9.2006, 21:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Учусь
*


Профиль
Группа: Участник
Сообщений: 132
Регистрация: 4.7.2005
Где: Уфа->Москва

Репутация: нет
Всего: нет



на 
Код

((DefaultTableModel) table2.getModel()).addRow(new String[] {"111", "222", "333", "444"});    
 он пишет что неопознан
а на 
Код

((new javax.swing.table.DefaultTableModel) table2.getModel()).addRow(new String[] {"111", "222", "333", "444"});
 тоже ругается - просить удалить первую закрывающуюся скобку и если удалишь - появляются новые ошибки

Дата
Код

java.util.Date date = new java.util.Date(System.currentTimeMillis());
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("dd-mm-yyyy HH:mm");
String stringDate = sdf.format(date);
textfield2.setText(stringDate);

определяется правильно всё, кроме месяца....т.е. сегодня "как бы" май, или "какой-то" 20-й месяц...
PM MAIL ICQ Skype   Вверх
powerOn
Дата 2.9.2006, 09:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 31
Всего: 159



Цитата

((new javax.swing.table.DefaultTableModel) table2.getModel()).addRow(new String[] {"111", "222", "333", "444"});


первый new не нужен, поскольку это не создание объекта, а операция приведения типа. 

По второму вопросу:
Код

java.util.Date date = new java.util.Date(System.currentTimeMillis());
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("dd-MM-yyyy HH:mm", Locale.US);
String stringDate = sdf.format(date);
System.out.println(stringDate);





--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
RedButterfly
Дата 2.9.2006, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Учусь
*


Профиль
Группа: Участник
Сообщений: 132
Регистрация: 4.7.2005
Где: Уфа->Москва

Репутация: нет
Всего: нет



А как сделать чтобы в комбобоксе была строка ввода ?
Вот так не пишет ошибку сначала, но сразу понятно, что так неправильно
Код

combo.addItem(""); // первая строка пустая
combo.add(textfield1); // вторая строка - это строка ввода
for(int i = 0; i < table1.getRowCount(); i++) // а это из первой таблицы
combo.addItem(table1.getValueAt(i,1));


PM MAIL ICQ Skype   Вверх
powerOn
Дата 2.9.2006, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 31
Всего: 159





--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
RedButterfly
Дата 3.9.2006, 20:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Учусь
*


Профиль
Группа: Участник
Сообщений: 132
Регистрация: 4.7.2005
Где: Уфа->Москва

Репутация: нет
Всего: нет



smile Благодарю!
Сделала вот так
Код

a = new String("");
            combo = new JComboBox();
            combo.addItem(a);
            combo.setEditable(true); // редактируется весь комбобокс, но это не беда
            for(int i = 0; i < table1.getRowCount(); i++)
            combo.addItem(table1.getValueAt(i,1));
            combo.setPreferredSize(new java.awt.Dimension(100,40));
            flag=0;
            combo.addActionListener(new ActionListener() {
             public void actionPerformed(ActionEvent e) {
             s = combo.getSelectedItem().toString();
             System.out.println(s); // вот тут дважды показывает, если ввожу значение != не выбираю
             for(int n = 0; n< table1.getRowCount();n++) {
                 if(table1.getModel().getValueAt(n,1).toString()== s)
                     flag=0;  // флаг = значит фамилия из 1-й таблицы
                 else  flag=1;   
             }  System.out.println(Integer.toString(flag));
                                 }});

Спрашивается почему флаг всегда =1 и если я ввожу например "Коля"  с клавиатуры, то System.out.println(s); показывает его дважды, то есть
Коля
1
Коля
1
???
PM MAIL ICQ Skype   Вверх
powerOn
Дата 3.9.2006, 22:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 31
Всего: 159



Цитата(RedButterfly @  3.9.2006,  21:59 Найти цитируемый пост)
Спрашивается почему флаг всегда =1 и если я ввожу например "Коля"  с клавиатуры

Потомучто вы сравнили две ссылки на 2 разных объекта. Естественно они не равны.  smile 
Лексически, строки сравниваются методом equals.

Цитата(RedButterfly @  3.9.2006,  21:59 Найти цитируемый пост)
показывает его дважды, то есть

JComboBox - это сложный компонент, который агрегирует несколько компонентов и это следует учитывать.
Попробуйте добавить ActionListener для его ComboBoxEditor-а:

Код

jComboBox1.getEditor().addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                System.out.println("Action Performed!!!");
            }
        });




--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
RedButterfly
Дата 8.9.2006, 21:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Учусь
*


Профиль
Группа: Участник
Сообщений: 132
Регистрация: 4.7.2005
Где: Уфа->Москва

Репутация: нет
Всего: нет



Получается вот что:
Код

import javax.swing.JScrollPane;
import java.util.*;
import javax.swing.table.JTableHeader; 
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class test extends JFrame  {
    private JTable table1;
    private JTable table2;
    public test() {
        super("Тестик");
        initComponents();
      }
      private void initComponents() {
       JButton jButton1;
        JScrollPane scrollPane1 = new JScrollPane();
        JScrollPane scrollPane2 = new JScrollPane();
        table1 = new JTable();
        table2 = new JTable();
        JTableHeader JTH = table1.getTableHeader(); 
        JTH.setReorderingAllowed(false);
        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        table1.setModel(new javax.swing.table.DefaultTableModel(
             new Object [][] {
{new Integer(1265),"Иванов","10.02.2006",new Integer (30000)},
{new Integer(2623),"Петров","30.03.2004",new Integer (15000)},
{new Integer(8953),"Сидоров","22.06.2006",new Integer (70000)},
 {new Integer(2356),"Николаев","8.12.2005",new Integer (35000)},
 {new Integer(2386),"Васильев","18.01.2005",new Integer (27000)}
                        },
new String [] {"ID_Name", "Name", "Date", "Max_Credit"}
             ));
        scrollPane1 = new JScrollPane(table1);
        scrollPane1.setPreferredSize(new java.awt.Dimension(350,200));
        scrollPane1.setViewportView(table1);
        getContentPane().setLayout(new BoxLayout(getContentPane(), BoxLayout.Y_AXIS));
        scrollPane1.setAlignmentX(CENTER_ALIGNMENT);
        getContentPane().add(scrollPane1);
        JTableHeader JTH2 = table2.getTableHeader(); 
        JTH.setReorderingAllowed(false);
        table2.setModel(new javax.swing.table.DefaultTableModel(
             new Object [][] {
 {new Integer(1654),"12.14.2004",new Integer(3000),new Integer(2500),new Integer(2623)},
 {new Integer(6598),"18.01.2005",new Integer(14000),new Integer(7000),new Integer(2386)},
{new Integer(7954),"6.05.2006",new Integer(12000),new Integer(5000),new Integer(1265)},
{new Integer(1234),"18.11.2006",new Integer(8000),new Integer(5000),new Integer(2356)},
{new Integer(7327),"14.07.2006",new Integer(20000),new Integer(8000),new Integer(8953)},
{new Integer(3727),"1.09.2006",new Integer(20000),new Integer(8000),new Integer(1265)},
                        },
new String [] {"ID_Order", "Date", "Sum","Credit", "ID_Name"}
             ));
        scrollPane2.setViewportView(table2);
        scrollPane2.setPreferredSize(new java.awt.Dimension(350,200)); 
        scrollPane2.setAlignmentX(CENTER_ALIGNMENT);
        getContentPane().add(scrollPane2);
        jButton1 = new JButton();
        jButton1.setText("Заказ");
        jButton1.setAlignmentX(CENTER_ALIGNMENT);
        jButton1.setPreferredSize(new java.awt.Dimension(100,50));
        jButton1.addMouseListener(new java.awt.event.MouseAdapter() {
         public void mouseClicked(java.awt.event.MouseEvent evt) {
             jButton1MouseClicked(evt);
             }});
        getContentPane().add(jButton1);
        pack();
        }
      public void jButton1MouseClicked(java.awt.event.MouseEvent evt) {
       test2 frame2 = new test2();
       frame2.setTitle("Заказ");
       frame2.setVisible(true);
       }
      // что-то не работает!!! 
     // public boolean isCellEditable(int rowIndex, int columnIndex) {
     //    return true;
      //    }      
      public int getRowCount() {
       return getRowCount();
       }
      public Object getValueAt(int row, int col) {
        return getValueAt(row, col);
        }
      public static void main(String args[]) {
       java.awt.EventQueue.invokeLater(new Runnable() {
           public void run() {
               new test().setVisible(true);
               }});}
      class test2 extends JFrame {
       public test2() {
           initComponents();
           }
       private void initComponents() {
           JLabel label1 = new javax.swing.JLabel("Клиент");
           JLabel label2 = new javax.swing.JLabel("Дата заказа");
           textfield1 = new JTextField();
            textfield2 = new JTextField();
            JLabel label3 = new javax.swing.JLabel("Сумма заказа");
            textfield3 = new JTextField();
            JLabel label4 = new javax.swing.JLabel("Желаемый кредит");
            textfield4 = new JTextField();
            JLabel label5 = new javax.swing.JLabel("Остаток");
            textfield5 = new JTextField();
            clearbutton = new JButton();
            enterbutton = new JButton();
            setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
            JPanel textpanel = new JPanel(); 
            textpanel.setLayout(new BoxLayout(textpanel, BoxLayout.PAGE_AXIS));
            label1.setAlignmentY(LEFT_ALIGNMENT);
            label1.setPreferredSize(new java.awt.Dimension(100,40));
            textpanel.add(label1);
            combo = new JComboBox();
            combo.addItem("");
            combo.addItem("Новый клиент");
            for(int i = 0; i < table1.getRowCount(); i++)
            combo.addItem(table1.getValueAt(i,1));
            combo.setPreferredSize(new java.awt.Dimension(100,40));
            flag=0;
            combo.addActionListener(new ActionListener() {
             public void actionPerformed(ActionEvent e) {
                 a = new String("Новый клиент");
                  s = combo.getSelectedItem().toString();
                             
                 //System.out.println(s); 
                 for(int n = 0; n< table1.getRowCount();n++) {
                     if(table1.getModel().getValueAt(n,1).toString()== s){
                        index_ = table1.getModel().getValueAt(n,0).toString();// вот id клиента
index = Integer.parseInt(table1.getModel().getValueAt(n,0).toString());// вот id клиента
cred = Integer.parseInt(table1.getModel().getValueAt(n,3).toString());// вот max_credit клиента
                     }}
                 sum = 0;
                 for(int w = 0; w< table2.getRowCount(); w++) {
                     if(Integer.parseInt(table2.getValueAt(w,4).toString())== index){
                     z = Integer.parseInt(table2.getValueAt(w,3).toString());
                            sum += z ; // узнали сумму его кредитов
                            }
                     }
                 ostatok = cred-sum;
                 z2 = Integer.toString(ostatok);
                 if(s=="Новый клиент") {
                 java.util.Date date = new java.util.Date(System.currentTimeMillis());
                      java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("dd.MM.yyyy");
                        stringDate = sdf.format(date);
                        textfield2.setText(stringDate);
                        textfield5.setText("");
                 }
                     else textfield5.setText(z2);
                 }});
            textpanel.add(combo);
            label2.setAlignmentY(LEFT_ALIGNMENT);
            label2.setPreferredSize(new java.awt.Dimension(150,40));
            textpanel.add(label2);
            textfield2.setPreferredSize(new java.awt.Dimension(100,40));
            textpanel.add(textfield2);
            label3.setAlignmentY(LEFT_ALIGNMENT);
            label3.setPreferredSize(new java.awt.Dimension(120,40));
            textpanel.add(label3);
            textfield3.setPreferredSize(new java.awt.Dimension(100,40));
            textpanel.add(textfield3);
            label4.setAlignmentY(LEFT_ALIGNMENT);
            label4.setPreferredSize(new java.awt.Dimension(170,40));
            textpanel.add(label4);
            textfield4.setPreferredSize(new java.awt.Dimension(100,40));
            textpanel.add(textfield4);
            label5.setAlignmentY(LEFT_ALIGNMENT);
            label5.setPreferredSize(new java.awt.Dimension(130,40));
            textpanel.add(label5); 
            if(s==a) 
            textfield5.setToolTipText("Здесь значение 50% суммы заказа.\n 3000 <= Остаток <= 10000");
            textfield5.setPreferredSize(new java.awt.Dimension(100,40));
       
            textpanel.add(textfield5);
            if(s==a)
            textfield3.addActionListener(new ActionListener() {
             public void actionPerformed(ActionEvent e) {
                 t3 = new String();
                   t3 = textfield3.getText();
                    per = Integer.parseInt(t3);
                  t555=per/2;
                 textfield5.setText(Integer.toString(t555));
             }});
            JPanel buttonpanel = new JPanel();
            buttonpanel.setLayout(new BoxLayout(buttonpanel, BoxLayout.LINE_AXIS));
            buttonpanel.add(Box.createHorizontalGlue());
            clearbutton.setText("Очистить");
            buttonpanel.add(clearbutton);
            clearbutton.addMouseListener(new java.awt.event.MouseAdapter() {
             public void mouseClicked(java.awt.event.MouseEvent evt) {
                 clearbuttonMouseClicked(evt);
                  }});
              enterbutton.setText("Принять");
              enterbutton.addMouseListener(new java.awt.event.MouseAdapter() {
                  public void mouseClicked(java.awt.event.MouseEvent evt) {
                      enterbuttonMouseClicked(evt);
                  }});
              buttonpanel.add(Box.createRigidArea(new Dimension(50, 10)));
              buttonpanel.add(enterbutton);
              getContentPane().add(textpanel,BorderLayout.CENTER);
              getContentPane().add(buttonpanel,BorderLayout.PAGE_END);
              pack();
              }
       private void clearbuttonMouseClicked(java.awt.event.MouseEvent evt) {
           textfield2.setText("");
           textfield3.setText("");
           textfield4.setText("");
           textfield5.setText("");
           } 
       private void enterbuttonMouseClicked(java.awt.event.MouseEvent evt) {
           t3 = new String();
           t3 = textfield3.getText();
           t4 = new String();
           t4 = textfield4.getText(); 
           t44 = Integer.parseInt(t4);
           t5 = new String();
           t5 = textfield5.getText();
           t55 = Integer.parseInt(t5); 
           if(s=="Новый клиент") {
               yesDialog yes_dlg = new yesDialog(this, true);
              yes_dlg.setVisible(true);
           }
           else {
           if(ostatok>=t44) {      
           Random rnd = new Random();
           int value = 1000 + rnd.nextInt(9000);
           String value_ = Integer.toString(value);
               
           ((javax.swing.table.DefaultTableModel) table2.getModel()).addRow(
                   new String[] {value_, stringDate, t3, t4, index_});
           }
           else {
               noDialog no_dlg = new noDialog(this, true);
               no_dlg.setVisible(true);
           }    }
       }
       }
      class yesDialog extends JDialog {
       public final int EXIT_OK = 1;
        public final int EXIT_CANCEL = 0;
        private int exit_code = 0;
        public yesDialog(java.awt.Frame parent, boolean modal) {
         super(parent, modal);
            initComponents();
            }
        private void initComponents() {
         getContentPane().setLayout(new FlowLayout());
            JLabel ent_label = new JLabel("Принять???");
            ent_label.setPreferredSize(new java.awt.Dimension(80,40));
            getContentPane().add(ent_label);
         txt = new JTextField();
         txt.setPreferredSize(new java.awt.Dimension(100,30));
         getContentPane().add(txt);
            ok = new JButton("OK");
            ok.addMouseListener(new java.awt.event.MouseAdapter() {
             public void mouseClicked(java.awt.event.MouseEvent evt) {
                 okMouseClicked(evt);
                 }});
            getContentPane().add(ok);
            cansel = new JButton("Отмена");
            getContentPane().add(cansel,BorderLayout.SOUTH);
            cansel.addMouseListener(new java.awt.event.MouseAdapter() {
             public void mouseClicked(java.awt.event.MouseEvent evt) {
                 canselMouseClicked(evt);
                 }});
            getContentPane().add(cansel);
            pack();
            }
        private void okMouseClicked(java.awt.event.MouseEvent evt) {
         b = txt.getText();
         if((t55/2)>3000 && (t55/2)<=10000){
         Random rnd2 = new Random();
           int value2 = 1000 + rnd2.nextInt(9000);
           String value_2 = Integer.toString(value2);
       ((javax.swing.table.DefaultTableModel) table1.getModel()).addRow(
               new String[] {value_2, b, stringDate, Integer.toString(t555)});
         }        
            else {
             ostDialog ost_dlg = new ostDialog(this, true);
             ost_dlg.setVisible(true);
             }
            exit_code = EXIT_OK;
            dispose();
            }
        private void canselMouseClicked(java.awt.event.MouseEvent evt) {
         exit_code = EXIT_CANCEL;
            dispose();
            }
        public int getExit_code() {
         return exit_code;
         }
        class ostDialog extends JDialog {
           public final int EXIT_OK = 1;
         private int exit_code = 0;
         public ostDialog(java.awt.Frame parent, boolean modal) {
          super(parent, modal);
             initComponents();
             }
         private void initComponents() {
          getContentPane().setLayout(new FlowLayout());
             JLabel ent_label = new JLabel("3000 <= Остаток <= 10000");
             ent_label.setPreferredSize(new java.awt.Dimension(350,40));
             getContentPane().add(ent_label);
             JButton okbutton = new JButton("OK");
         okbutton.addMouseListener(new java.awt.event.MouseAdapter() {
     public void mouseClicked(java.awt.event.MouseEvent evt) {
                     okbuttonMouseClicked(evt);
                     }});
             getContentPane().add(ok);
             pack();
             }
         private void okbuttonMouseClicked(java.awt.event.MouseEvent evt) {
          dispose();
          }
         private javax.swing.JButton okButton;
         }
        }
      class noDialog extends JDialog {
       public final int EXIT_OK = 1;
        public final int EXIT_CANCEL = 0;
        private int exit_code = 0;
        public noDialog(java.awt.Frame parent, boolean modal) {
         super(parent, modal);
            initComponents();
            }
        private void initComponents() {
         getContentPane().setLayout(new FlowLayout());
JLabel ent_label = new JLabel("Cумма кредитов от всех заказов превышает кредит!!!");
ent_label.setPreferredSize(new java.awt.Dimension(350,40));
            getContentPane().add(ent_label);
        JButton okbutton = new JButton("OK");
okbutton.addMouseListener(new java.awt.event.MouseAdapter() {
        public void mouseClicked(java.awt.event.MouseEvent evt) {
                    okbuttonMouseClicked(evt);
                    }});
            getContentPane().add(ok);
            pack();
            }
        private void okbuttonMouseClicked(java.awt.event.MouseEvent evt) {
         dispose();
         }
        private javax.swing.JButton okButton;
        }      
private javax.swing.JTextField textfield1;
private javax.swing.JTextField textfield2;
private javax.swing.JTextField textfield3;
private javax.swing.JTextField textfield4;
private javax.swing.JTextField textfield5;
private javax.swing.JTextField txt;
private javax.swing.JButton clearbutton;
private javax.swing.JButton enterbutton;
private javax.swing.JButton ok;
private javax.swing.JButton cansel;
public  JDialog yes_dlg = new JDialog();
public  JDialog no_dlg = new JDialog();
public  JDialog ost_dlg = new JDialog();
public javax.swing.JComboBox combo;
public String s, data, t3,t4,t5,z2,t45,stringDate,index_ , a,b;
public int n, w,index, z,ind,  data3,sum,  sum_cr, cred,ostatok,flag,t44,t55,t555,per;
}

и такие ошибка ошибка: ругается на ostDialog ost_dlg = new ostDialog(this, true); говорит, что ostDialog(this, true)  не опеределен.
и когда запускаю и проверяю на условие, что значение 4-го текстового поля меньше чем пятого, то
Код

java.lang.NullPointerException
    at java.awt.Container.addImpl(Container.java:621)
    at java.awt.Container.add(Container.java:307)
    at test$noDialog.initComponents(test.java:360)
    at test$noDialog.<init>(test.java:348)
    at test$test2.enterbuttonMouseClicked(test.java:249)
    at test$test2.access$1(test.java:224)
    at test$4.mouseClicked(test.java:210)
    at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:208)
    at java.awt.Component.processMouseEvent(Component.java:5096)
    at java.awt.Component.processEvent(Component.java:4890)
    at java.awt.Container.processEvent(Container.java:1566)
    at java.awt.Component.dispatchEventImpl(Component.java:3598)
    at java.awt.Container.dispatchEventImpl(Container.java:1623)
    at java.awt.Component.dispatchEvent(Component.java:3439)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3450)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3174)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3095)
    at java.awt.Container.dispatchEventImpl(Container.java:1609)
    at java.awt.Window.dispatchEventImpl(Window.java:1585)
    at java.awt.Component.dispatchEvent(Component.java:3439)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:450)
    at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:197)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:144)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:136)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:99)


а вроде правильно всё. даже класс ostDialog в yesDialog "положила"...
PM MAIL ICQ Skype   Вверх
powerOn
Дата 8.9.2006, 23:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 31
Всего: 159



Цитата(RedButterfly @  8.9.2006,  22:48 Найти цитируемый пост)
и такие ошибка ошибка: ругается на ostDialog ost_dlg = new ostDialog(this, true); говорит, что ostDialog(this, true)  не опеределен.

Потому что у Вас действительно нет конструктора ostDialog(JDialog, boolean).




--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
RedButterfly
Дата 9.9.2006, 16:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Учусь
*


Профиль
Группа: Участник
Сообщений: 132
Регистрация: 4.7.2005
Где: Уфа->Москва

Репутация: нет
Всего: нет



спасибо за подсказку smile
получилось вот как:
Код

import javax.swing.JScrollPane;
import java.util.*;
import javax.swing.table.JTableHeader; 
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class test extends JFrame  {
    private JTable table1;
    private JTable table2;
    public test() {
        super("Тестик");
        initComponents();
      }
      private void initComponents() {
       JButton jButton1;
        JScrollPane scrollPane1 = new JScrollPane();
        JScrollPane scrollPane2 = new JScrollPane();
        table1 = new JTable();
        table2 = new JTable();
        JTableHeader JTH = table1.getTableHeader(); 
        JTH.setReorderingAllowed(false);
        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        table1.setModel(new javax.swing.table.DefaultTableModel(
             new Object [][] {
                     {new Integer(1265),"Иванов","10.02.2006",new Integer (30000)},
                        {new Integer(2623),"Петров","30.03.2004",new Integer (15000)},
                        {new Integer(8953),"Сидоров","22.06.2006",new Integer (70000)},
                        {new Integer(2356),"Николаев","8.12.2005",new Integer (35000)},
                        {new Integer(2386),"Васильев","18.01.2005",new Integer (27000)}
                        },
                        new String [] {"ID_Name", "Name", "Date", "Max_Credit"}
             ));
        scrollPane1 = new JScrollPane(table1);
        scrollPane1.setPreferredSize(new java.awt.Dimension(350,200));
        scrollPane1.setViewportView(table1);
        getContentPane().setLayout(new BoxLayout(getContentPane(), BoxLayout.Y_AXIS));
        scrollPane1.setAlignmentX(CENTER_ALIGNMENT);
        getContentPane().add(scrollPane1);
        JTableHeader JTH2 = table2.getTableHeader(); 
        JTH.setReorderingAllowed(false);
        table2.setModel(new javax.swing.table.DefaultTableModel(
             new Object [][] {
                     {new Integer(1654),"12.14.2004",new Integer(3000),new Integer(2500),new Integer(2623)},
                     {new Integer(6598),"18.01.2005",new Integer(14000),new Integer(7000),new Integer(2386)},
                        {new Integer(7954),"6.05.2006",new Integer(12000),new Integer(5000),new Integer(1265)},
                        {new Integer(1234),"18.11.2006",new Integer(8000),new Integer(5000),new Integer(2356)},
                        {new Integer(7327),"14.07.2006",new Integer(20000),new Integer(8000),new Integer(8953)},
                        {new Integer(3727),"1.09.2006",new Integer(20000),new Integer(8000),new Integer(1265)},
                        },
                        new String [] {"ID_Order", "Date", "Sum","Credit", "ID_Name"}
             ));
        scrollPane2.setViewportView(table2);
        scrollPane2.setPreferredSize(new java.awt.Dimension(350,200)); 
        scrollPane2.setAlignmentX(CENTER_ALIGNMENT);
        getContentPane().add(scrollPane2);
        jButton1 = new JButton();
        jButton1.setText("Заказ");
        jButton1.setAlignmentX(CENTER_ALIGNMENT);
        jButton1.setPreferredSize(new java.awt.Dimension(100,50));
        jButton1.addMouseListener(new java.awt.event.MouseAdapter() {
         public void mouseClicked(java.awt.event.MouseEvent evt) {
             jButton1MouseClicked(evt);
             }});
        getContentPane().add(jButton1);
        pack();
        }
      public void jButton1MouseClicked(java.awt.event.MouseEvent evt) {
       test2 frame2 = new test2();
       frame2.setTitle("Заказ");
       frame2.setVisible(true);
       }
      // что-то не работает!!! 
     // public boolean isCellEditable(int rowIndex, int columnIndex) {
     //    return true;
      //    }      
      public int getRowCount() {
       return getRowCount();
       }
      public Object getValueAt(int row, int col) {
        return getValueAt(row, col);
        }
      public static void main(String args[]) {
       java.awt.EventQueue.invokeLater(new Runnable() {
           public void run() {
               new test().setVisible(true);
               }});}
      class test2 extends JFrame {
       public test2() {
           initComponents();
           }
       private void initComponents() {
           JLabel label1 = new javax.swing.JLabel("Клиент");
           JLabel label2 = new javax.swing.JLabel("Дата заказа");
           textfield1 = new JTextField();
            textfield2 = new JTextField();
            JLabel label3 = new javax.swing.JLabel("Сумма заказа");
            textfield3 = new JTextField();
            JLabel label4 = new javax.swing.JLabel("Желаемый кредит");
            textfield4 = new JTextField();
            JLabel label5 = new javax.swing.JLabel("Остаток");
            textfield5 = new JTextField();
            clearbutton = new JButton();
            enterbutton = new JButton();
            setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
            JPanel textpanel = new JPanel(); 
            textpanel.setLayout(new BoxLayout(textpanel, BoxLayout.PAGE_AXIS));
            label1.setAlignmentY(LEFT_ALIGNMENT);
            label1.setPreferredSize(new java.awt.Dimension(100,40));
            textpanel.add(label1);
            combo = new JComboBox();
            combo.addItem("");
            combo.addItem("Новый клиент");
            for(int i = 0; i < table1.getRowCount(); i++)
            combo.addItem(table1.getValueAt(i,1));
            combo.setPreferredSize(new java.awt.Dimension(100,40));
            flag=0;
            combo.addActionListener(new ActionListener() {
             public void actionPerformed(ActionEvent e) {
                 a = new String("Новый клиент");
                  s = combo.getSelectedItem().toString();
                             
                 //System.out.println(s); 
                 for(int n = 0; n< table1.getRowCount();n++) {
                     if(table1.getModel().getValueAt(n,1).toString()== s){
                        index_ = table1.getModel().getValueAt(n,0).toString();// вот id клиента
                     index = Integer.parseInt(table1.getModel().getValueAt(n,0).toString());// вот id клиента
                     cred = Integer.parseInt(table1.getModel().getValueAt(n,3).toString());// вот max_credit клиента
                     }}
                 sum = 0;
                 for(int w = 0; w< table2.getRowCount(); w++) {
                     if(Integer.parseInt(table2.getValueAt(w,4).toString())== index){
                         z = Integer.parseInt(table2.getValueAt(w,3).toString());
                            sum += z ; // узнали сумму его кредитов
                            }
                     }
                 ostatok = cred-sum;
                 z2 = Integer.toString(ostatok);
                 if(s=="Новый клиент") {
                     java.util.Date date = new java.util.Date(System.currentTimeMillis());
                        java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("dd.MM.yyyy");
                        stringDate = sdf.format(date);
                        textfield2.setText(stringDate);
                        textfield5.setText("");
                 }
                     else textfield5.setText(z2);
                 }});
            textpanel.add(combo);
        
           // System.out.println(s);
            label2.setAlignmentY(LEFT_ALIGNMENT);
            label2.setPreferredSize(new java.awt.Dimension(150,40));
            textpanel.add(label2);
            textfield2.setPreferredSize(new java.awt.Dimension(100,40));
            textpanel.add(textfield2);
            label3.setAlignmentY(LEFT_ALIGNMENT);
            label3.setPreferredSize(new java.awt.Dimension(120,40));
            textpanel.add(label3);
            textfield3.setPreferredSize(new java.awt.Dimension(100,40));
            textpanel.add(textfield3);
            label4.setAlignmentY(LEFT_ALIGNMENT);
            label4.setPreferredSize(new java.awt.Dimension(170,40));
            textpanel.add(label4);
            textfield4.setPreferredSize(new java.awt.Dimension(100,40));
            textpanel.add(textfield4);
            label5.setAlignmentY(LEFT_ALIGNMENT);
            label5.setPreferredSize(new java.awt.Dimension(130,40));
            textpanel.add(label5); 
            if(s==a) 
            textfield5.setToolTipText("Здесь значение 50% суммы заказа.\n 3000 <= Остаток <= 10000");
            textfield5.setPreferredSize(new java.awt.Dimension(100,40));
       
            textpanel.add(textfield5);
            if(s==a)
            textfield3.addActionListener(new ActionListener() {
             public void actionPerformed(ActionEvent e) {
                 t3 = new String();
                   t3 = textfield3.getText();
                    per = Integer.parseInt(t3);
                  t555=per/2;
                 textfield5.setText(Integer.toString(t555));
             }});
            JPanel buttonpanel = new JPanel();
            buttonpanel.setLayout(new BoxLayout(buttonpanel, BoxLayout.LINE_AXIS));
            buttonpanel.add(Box.createHorizontalGlue());
            clearbutton.setText("Очистить");
            buttonpanel.add(clearbutton);
            clearbutton.addMouseListener(new java.awt.event.MouseAdapter() {
             public void mouseClicked(java.awt.event.MouseEvent evt) {
                 clearbuttonMouseClicked(evt);
                  }});
              enterbutton.setText("Принять");
              enterbutton.addMouseListener(new java.awt.event.MouseAdapter() {
                  public void mouseClicked(java.awt.event.MouseEvent evt) {
                      enterbuttonMouseClicked(evt);
                  }});
              buttonpanel.add(Box.createRigidArea(new Dimension(50, 10)));
              buttonpanel.add(enterbutton);
              getContentPane().add(textpanel,BorderLayout.CENTER);
              getContentPane().add(buttonpanel,BorderLayout.PAGE_END);
              pack();
              }
       private void clearbuttonMouseClicked(java.awt.event.MouseEvent evt) {
           textfield2.setText("");
           textfield3.setText("");
           textfield4.setText("");
           textfield5.setText("");
           } 
       private void enterbuttonMouseClicked(java.awt.event.MouseEvent evt) {
           t3 = new String();
           t3 = textfield3.getText();
           t4 = new String();
           t4 = textfield4.getText(); 
           t44 = Integer.parseInt(t4);
           t5 = new String();
           t5 = textfield5.getText();
           t55 = Integer.parseInt(t5); 
           if(s=="Новый клиент") {
               yesDialog yes_dlg = new yesDialog(this, true);
              yes_dlg.setVisible(true);
               if(yes_dlg.getExit_code() == yes_dlg.EXIT_CANCEL) return;
           }
           else 
               if(ostatok>=t44) {
                   Random rnd = new Random();
                   int value = 1000 + rnd.nextInt(9000);
                   String value_ = Integer.toString(value);
                    ((javax.swing.table.DefaultTableModel) table2.getModel()).addRow(
                   new String[] {value_, stringDate, t3, t4, index_});
                   }
               else {
                   noDialog no_dlg = new noDialog(this, true);
                   no_dlg.setVisible(true);
                   }    
               
       }
       }
      class yesDialog extends JDialog {
       public final int EXIT_OK = 1;
        public final int EXIT_CANCEL = 0;
        private int exit_code = 0;
        public yesDialog(java.awt.Frame parent, boolean modal) {
         super(parent, modal);
            initComponents();
            }
        private void initComponents() {
         getContentPane().setLayout(new FlowLayout());
            JLabel ent_label = new JLabel("Принять???");
            ent_label.setPreferredSize(new java.awt.Dimension(80,40));
            getContentPane().add(ent_label);
         txt = new JTextField();
         txt.setPreferredSize(new java.awt.Dimension(100,30));
         getContentPane().add(txt);
            ok = new JButton("OK");
            ok.addMouseListener(new java.awt.event.MouseAdapter() {
             public void mouseClicked(java.awt.event.MouseEvent evt) {
                 okMouseClicked(evt);
                 }});
            getContentPane().add(ok);
            cansel = new JButton("Отмена");
            getContentPane().add(cansel,BorderLayout.SOUTH);
            cansel.addMouseListener(new java.awt.event.MouseAdapter() {
             public void mouseClicked(java.awt.event.MouseEvent evt) {
                 canselMouseClicked(evt);
                 }});
            getContentPane().add(cansel);
            pack();
            }
        private void okMouseClicked(java.awt.event.MouseEvent evt) {
         b = txt.getText();
         if((t55/2)>3000 && (t55/2)<=10000){
         Random rnd2 = new Random();
           int value2 = 1000 + rnd2.nextInt(9000);
           String value_2 = Integer.toString(value2);
           ((javax.swing.table.DefaultTableModel) table1.getModel()).addRow(
                   new String[] {value_2, b, stringDate, Integer.toString(t555)});
         }        
            else {ostDialog ost_dlg = new ostDialog(this,true);
             ost_dlg.setVisible(true);
             }
            exit_code = EXIT_OK;
            dispose();
            }
        private void canselMouseClicked(java.awt.event.MouseEvent evt) {
         exit_code = EXIT_CANCEL;
            dispose() ;
            }
        public int getExit_code() {
         return exit_code;
         }
      
        }
      class noDialog extends JDialog {
        public noDialog(java.awt.Frame parent, boolean modal) {
         super(parent, modal);
            initComponents();
            }
        private void initComponents() {
         getContentPane().setLayout(new FlowLayout());
            JLabel ent_label = new JLabel("Cумма кредитов от всех заказов превышает кредит!!!");
            ent_label.setPreferredSize(new java.awt.Dimension(350,40));
            getContentPane().add(ent_label);
            JButton okbutton = new JButton("OK");
            okbutton.addMouseListener(new java.awt.event.MouseAdapter() {
                public void mouseClicked(java.awt.event.MouseEvent evt) {
                    okbuttonMouseClicked(evt);
                    }});
            getContentPane().add(ok);
            pack();
            }
       private void okbuttonMouseClicked(java.awt.event.MouseEvent evt) {
         dispose();
         }
        private javax.swing.JButton okButton;
        }
      class ostDialog extends JDialog {
       public final int EXIT_OK = 1;
       public final int EXIT_CANCEL = 0;
        private int exit_code = 0;
        public ostDialog(java.awt.Dialog parent, boolean modal) {
         super(parent, modal);
            initComponents();
            }
        private void initComponents() {
         getContentPane().setLayout(new FlowLayout());
            JLabel ent_label = new JLabel("3000 <= Остаток <= 10000");
            ent_label.setPreferredSize(new java.awt.Dimension(150,30));
            getContentPane().add(ent_label);
            JButton okbutton = new JButton("OK");
            okbutton.addMouseListener(new java.awt.event.MouseAdapter() {
                public void mouseClicked(java.awt.event.MouseEvent evt) {
                    okbuttonMouseClicked(evt);
                    }});
            getContentPane().add(ok);
            pack();
            }
        private void okbuttonMouseClicked(java.awt.event.MouseEvent evt) {
         return;//dispose();
         }
        private javax.swing.JButton okButton;
        }
      
private javax.swing.JTextField textfield1;
private javax.swing.JTextField textfield2;
private javax.swing.JTextField textfield3;
private javax.swing.JTextField textfield4;
private javax.swing.JTextField textfield5;
private javax.swing.JTextField txt;
private javax.swing.JButton clearbutton;
private javax.swing.JButton enterbutton;
private javax.swing.JButton ok;
private javax.swing.JButton cansel;
public  JDialog yes_dlg = new JDialog();
public  JDialog no_dlg = new JDialog();
public  JDialog ost_dlg = new JDialog();
public javax.swing.JComboBox combo;
public String s, data, t3,t4,t5,z2,t45,stringDate,index_ , a,b;
public int n, w,index, z,ind,  data3,sum,  sum_cr, cred,ostatok,flag,t44,t55,t555,per;
}

только не могу понять где именно возращает нуль когда должен вернуть no_dlg
Код

java.lang.NullPointerException
    at java.awt.Container.addImpl(Container.java:621)
    at java.awt.Container.add(Container.java:307)
    at test$noDialog.initComponents(test.java:307)
    at test$noDialog.<init>(test.java:295)
    at test$test2.enterbuttonMouseClicked(test.java:231)
    at test$test2.access$1(test.java:208)
    at test$4.mouseClicked(test.java:194)
    at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:208)
    at java.awt.Component.processMouseEvent(Component.java:5096)
    at java.awt.Component.processEvent(Component.java:4890)
    at java.awt.Container.processEvent(Container.java:1566)
    at java.awt.Component.dispatchEventImpl(Component.java:3598)
    at java.awt.Container.dispatchEventImpl(Container.java:1623)
    at java.awt.Component.dispatchEvent(Component.java:3439)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3450)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3174)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3095)
    at java.awt.Container.dispatchEventImpl(Container.java:1609)
    at java.awt.Window.dispatchEventImpl(Window.java:1585)
    at java.awt.Component.dispatchEvent(Component.java:3439)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:450)
    at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:197)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:144)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:136)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:99)


PM MAIL ICQ Skype   Вверх
RedButterfly
Дата 9.9.2006, 16:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Учусь
*


Профиль
Группа: Участник
Сообщений: 132
Регистрация: 4.7.2005
Где: Уфа->Москва

Репутация: нет
Всего: нет



и ещё диалог ost_dlg не закрывается когда нажимаю на ок
А может кто знает как можно сделать, чтобы при нажатии на ок в ost_dlg закрывался не только этот диалог, но и диалог yes_dlg

Добавлено @ 16:53 
Глупость морозила
там же можно написать yes_dlg.dispose();
ой
PM MAIL ICQ Skype   Вверх
powerOn
Дата 9.9.2006, 17:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 31
Всего: 159



Цитата(RedButterfly @  9.9.2006,  17:07 Найти цитируемый пост)
только не могу понять где именно возращает нуль когда должен вернуть no_dlg

Воспользуйтесь каким-нибудь отладчиком. Пройдите код по шагам и все сразу станет ясно.


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
RedButterfly
Дата 9.9.2006, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Учусь
*


Профиль
Группа: Участник
Сообщений: 132
Регистрация: 4.7.2005
Где: Уфа->Москва

Репутация: нет
Всего: нет



Что-то глюки у меня пошли...когда нижимаю на "ок" в ost_dlg у меня появляется новый точно такой же диалог ost-dlg... и так до бесконечности...
PM MAIL ICQ Skype   Вверх
LSD
Дата 9.9.2006, 18:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 38
Всего: 538



RedButterfly трудно следить за твоими изменениями в коде. Если ты что-то сильно поменяла в коде, прикрепляй к сообщению файл с исходником (при ответе жмешь "Предварительный просмотр" и откроется форма куда можно прикрепить файл).


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
RedButterfly
Дата 9.9.2006, 19:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Учусь
*


Профиль
Группа: Участник
Сообщений: 132
Регистрация: 4.7.2005
Где: Уфа->Москва

Репутация: нет
Всего: нет



знаю где ошибка
Код

    if(s=="Новый клиент") {
               yesDialog yes_dlg = new yesDialog(this, true);
              yes_dlg.setVisible(true);
               if(yes_dlg.getExit_code() == yes_dlg.EXIT_CANCEL) return;
           }
           else 
               if(ostatok>=t44) {
                   Random rnd = new Random();
                   int value = 1000 + rnd.nextInt(9000);
                   String value_ = Integer.toString(value);
                   // добавляю в таблицу 2
                    ((javax.swing.table.DefaultTableModel) table2.getModel()).addRow(
                   new String[] {value_, stringDate, t3, t4, index_});
                   }
               else {
                   noDialog no_dlg = new noDialog(this, true);
                   no_dlg.setVisible(true);
                   }    
               

цепочка if-else-if вроде писали так
если () то....;
 иначе если () то...;
иначе если () то...;
....
иначе ...;


Присоединённый файл ( Кол-во скачиваний: 2 )
Присоединённый файл  test2.txt 15,22 Kb
PM MAIL ICQ Skype   Вверх
powerOn
Дата 9.9.2006, 20:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 31
Всего: 159



В данном участке кода, во время выполнения, переменная ok равняется null.
Засчет этого падает вызов getContentPane().add(ok); с NullPointerException


Код

class noDialog extends JDialog {
        public noDialog(java.awt.Frame parent, boolean modal) {
            super(parent, modal);
            initComponents();
        }
        private void initComponents() {
            getContentPane().setLayout(new FlowLayout());
            JLabel ent_label = new JLabel("Cумма кредитов от всех заказов превышает кредит!!!");
            ent_label.setPreferredSize(new java.awt.Dimension(350,40));
            getContentPane().add(ent_label);
            JButton okbutton = new JButton("OK");
            okbutton.addMouseListener(new java.awt.event.MouseAdapter() {
                public void mouseClicked(java.awt.event.MouseEvent evt) {
                    okbuttonMouseClicked(evt);
                }});
                getContentPane().add(ok);
                pack();
        }



--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
RedButterfly
Дата 10.9.2006, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Учусь
*


Профиль
Группа: Участник
Сообщений: 132
Регистрация: 4.7.2005
Где: Уфа->Москва

Репутация: нет
Всего: нет



У меня за переделами вот этого кода s не видна.
Код

  a = new String("Новый клиент");
combo.addActionListener(new ActionListener() {
             public void actionPerformed(ActionEvent e) {
                 s = combo.getSelectedItem().toString();
if (s=="Новый клиент") {
                      java.util.Date date = new java.util.Date(System.currentTimeMillis());
                      java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("dd.MM.yyyy");
                        stringDate = sdf.format(date);
                        textfield2.setText(stringDate);
                        textfield5.setText("");
} 
else {
                      for(int n = 0; n< table1.getRowCount();n++) {
                     if(table1.getModel().getValueAt(n,1).toString()== s){
                        index_ = table1.getModel().getValueAt(n,0).toString();// вот id клиента
index = Integer.parseInt(table1.getModel().getValueAt(n,0).toString());// вот id клиента
cred = Integer.parseInt(table1.getModel().getValueAt(n,3).toString());// вот max_credit клиента
                     }}
                 sum = 0;
                 for(int w = 0; w< table2.getRowCount(); w++) {
                     if(Integer.parseInt(table2.getValueAt(w,4).toString())== index){
                     z = Integer.parseInt(table2.getValueAt(w,3).toString());
                            sum += z ; // узнали сумму его кредитов
                            }
                     }
                 ostatok = cred-sum;
                 z2 = Integer.toString(ostatok);
              textfield2.setText("");
             textfield5.setText(z2);
                 }}});

и вот это тоже не работает... так как s=null
Код

if(s==a) 
            textfield5.setToolTipText("Здесь значение 50% суммы заказа.\n 3000 <= Остаток <= 10000");
            textfield5.setPreferredSize(new java.awt.Dimension(100,40));
       
            textpanel.add(textfield5);
            if(s==a)
            textfield3.addActionListener(new ActionListener() {
             public void actionPerformed(ActionEvent e) {
                 t3 = new String();
                   t3 = textfield3.getText();
                    per = Integer.parseInt(t3);
                  t555=per/2;
                 textfield5.setText(Integer.toString(t555));
             }});


PM MAIL ICQ Skype   Вверх
powerOn
Дата 10.9.2006, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 31
Всего: 159



Цитата(RedButterfly @  10.9.2006,  15:42 Найти цитируемый пост)
s=="Новый клиент"


Так строки не сравнивают. Строки сравнивают так: s.equals("Новый клиент"). Или уж если с константой сравниваете то "Новый клиент".equals(s) Во втором случае можно лишний раз избежать NullPointerException.



--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
RedButterfly
Дата 11.9.2006, 20:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Учусь
*


Профиль
Группа: Участник
Сообщений: 132
Регистрация: 4.7.2005
Где: Уфа->Москва

Репутация: нет
Всего: нет



За пределами вот этого кода s "не видна"
Код

     combo.addActionListener(new ActionListener() { // cлушатель событий
             public void actionPerformed(ActionEvent e) {
                 s = combo.getSelectedItem().toString(); 
                 if("Новый клиент".equals(s)){
                ...}
               else {
                 ...
                 
                 }}});
 в блоке
Код

private void initComponents() {
           
                     a = new String("Новый клиент"); 
            combo.addActionListener(new ActionListener() { // cлушатель событий
             public void actionPerformed(ActionEvent e) {
                 s = combo.getSelectedItem().toString(); 
                ...
                  });
// вот тут s не видна и я никак не могу "выловить" его значение
// хотя вроде она тут и не должна быть видна, но значение его узнать надо...
            if("Новый клиент".equals(s)) {
            textfield5.setToolTipText("Здесь значение 50% суммы заказа. 3000 <= 50% <= 10000");
            System.out.println(Integer.toString(flag));
            }
            textfield5.setPreferredSize(new java.awt.Dimension(100,40));
            textpanel.add(textfield5); 
           if("Новый клиент".equals(s)) {
            textfield3.addActionListener(new ActionListener() {
             public void actionPerformed(ActionEvent e) {
                 t3 = new String();
                   t3 = textfield3.getText(); System.out.println(t3);
                    per = Integer.parseInt(t3);
                  t555=per/2;
                 textfield5.setText(Integer.toString(t555));
             }});}
            ...                           }

А вот это кнопка "Принять"
хотела сделать проверку на пустое значение в текстовых полях, но вот так неправильно:
Код

private void enterbuttonMouseClicked(java.awt.event.MouseEvent evt) {
           t2 = textfield2.getText();
           t3 = textfield3.getText(); 
           t4 = textfield4.getText(); 
           t44 = Integer.parseInt(t4);
           t5 = textfield5.getText();
                   // вот это не работает
           if(t2.equals("") | t3.equals("") | t4.equals("") | t5.equals(""))
           {    System.out.println("***");
               emptyDialog empty_dlg = new emptyDialog(this, true);
              empty_dlg.setVisible(true);
           }
           else {...}

PM MAIL ICQ Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   jk1
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема »


 




[ Время генерации скрипта: 0.1743 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.