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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> 2 таблицы в одной форме (и не только), Как это реализовать? 
:(
    Опции темы
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   Вверх
Страницы: (4) Все 1 [2] 3 4 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.2212 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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