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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как закрыть все ресурсы программы - нажатии кнопки 
V
    Опции темы
bulat01
Дата 23.2.2011, 08:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Помогите с закрытием приложения,
т.е. при нажатии на кнопку Cancel - он закрывал все ресурсы программы которое может занимать память.

Пердлагаю 2 исходника.
1- AuthorizationDocbase.java (отвечает за авторизацию)
2- DataCollection.java (окно появ-ся вслед, если авторизация успешна)

Также я работаю с биоблеотекой DFC (Documentum Foundation Classes) которая ложится поверх Java.

Но мне нужно реализовать логику джавы. 
Если авторизация успешна - появляется следующее окно - DataCollection, я хочу внедрить логику, но не знаю как,
чтобы при нажатии кнопки Cancel (в классе DataCollection) - закрывались все ресурсы программы которые могут занимать память

В настоящее время, следующая картина - при старте программы:
a) появляется процесс javaw.exe
b) авторизация успешна, 
c) AuthorizationDocbase.java становится невидимым с помошью API метода, 
d) появляется следующее окно 
e) нажимаю Cancel - > Результат: он закрывает окно и занимаемый ресурс который жрет только этот класс, но класс AuthorizationDocbase остался без изменний - как закрыть его ресурс?, javaw.exe остался в процессах весячим и жрущим прилично памяти.

Код


package kz.documentum.agipkco.load;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

import javax.swing.ComboBoxModel;
import javax.swing.DefaultComboBoxModel;
import javax.swing.GroupLayout;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import javax.swing.LayoutStyle;

import javax.swing.WindowConstants;
import javax.swing.SwingUtilities;

import com.documentum.com.DfClientX;
import com.documentum.com.IDfClientX;
import com.documentum.fc.client.DfSession;
import com.documentum.fc.client.IDfClient;
import com.documentum.fc.client.IDfSession;
import com.documentum.fc.client.IDfSessionManager;
import com.documentum.fc.client.impl.session.SessionManager;
import com.documentum.fc.common.DfException;
import com.documentum.fc.common.IDfLoginInfo;


import kz.documentum.agipkco.load.DataCollection;

public class AuthorizationDocbase extends javax.swing.JFrame {
    private JLabel db_user_input;
    private JLabel passw_input;
    private JLabel database_choose;
    
    public JTextField user_input_value;
    public JPasswordField passw_input_value;
    public JComboBox docbase_select_value;
    private JButton b2_cancel;
    private JButton b1_login;
   
    public String user_variable_value;
    public String docbase_variable_value;
    public String password_keeping;
    
    
    public IDfClientX clientx;
    public IDfSession session;
    public IDfSessionManager sMgr;
    public IDfClient client;
    String userName;
    
    //Variable for DataProcessing class
    public IDfSession session3;
    
    public JButton cancel_button_dc;
    
    //Basic Engine for start application
    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable()
        {
            public void run() {
                AuthorizationDocbase inst = new AuthorizationDocbase();
                inst.setLocationRelativeTo(null);
                inst.setVisible(true);
            }            
        });
    }
    
    public AuthorizationDocbase() {
        super();
        initGUI();
    }
    
    
    
    //form of GUI (Graphical User Interface) -with labels, buttons, text fields, combobox.
    private void initGUI() {
        try {
            setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
            GroupLayout thisLayout = new GroupLayout((JComponent)getContentPane());
            getContentPane().setLayout(thisLayout);
            this.setTitle("Docbase Connection");
            {
                db_user_input = new JLabel();
                db_user_input.setText("User Login:");
                db_user_input.setFont(new java.awt.Font("Tahoma",0,14));
            }
            {
                b1_login = new JButton();
                b1_login.setText("LOGIN");        
                b1_login.setFont(new java.awt.Font("Tahoma",0,16));
                b1_login.addActionListener(new ActionListener() {
                    public void actionPerformed(ActionEvent arg0) {
                        System.out.println(user_input_value.getText());
                     //System.out.println(passw_input_value.getPassword());
                     System.out.println(docbase_select_value.getSelectedItem());
                     
                     try {
                            sMgr = createSessionManager();
                            session = sMgr.getSession(docbase_select_value.getSelectedItem().toString());
                            
                            //session = sMgr.getSession("EDMS_TRN_AT");
                            System.out.println(session.getDocbaseName() + " " + session.getDBMSName() +  " " + session.getDocbaseId());
                            authorization();
                            
                        } catch (DfException e) {
                            e.printStackTrace();
                        } catch (Exception e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }
                 }
                });
                
            }
            
            
            {
                b2_cancel = new JButton();
                b2_cancel.setText("CANCEL");
                b2_cancel.setFont(new java.awt.Font("Tahoma",0,16));
                b2_cancel.addActionListener(new ActionListener() {
                    public void actionPerformed(ActionEvent arg0) {
                        [color=red]dispose();[/color]
                        setVisible(false);
                    }
                });
                
                
            }
            {
                passw_input = new JLabel();
                passw_input.setText("Password:");
                passw_input.setFont(new java.awt.Font("Tahoma",0,14));
            }
            {
                database_choose = new JLabel();
                database_choose.setText("Docbase:");
                database_choose.setFont(new java.awt.Font("Tahoma",0,14));
            }
            {
                ComboBoxModel docbase_select_valueModel = new DefaultComboBoxModel(new String[] { "EDMS_TRN_AT" });
                
                //ComboBoxModel docbase_select_valueModel = new DefaultComboBoxModel(new String[] { session.getDocbaseName() });
                docbase_select_value = new JComboBox();
                docbase_select_value.setModel(docbase_select_valueModel);
                docbase_select_value.setFont(new java.awt.Font("Tahoma",0,12));
            }
            {
                passw_input_value = new JPasswordField();
            }
            {
                user_input_value = new JTextField();
            }
            thisLayout.setVerticalGroup(thisLayout.createSequentialGroup()
                .addContainerGap(19, 19)
                .addGroup(thisLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                    .addComponent(db_user_input, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
                    .addComponent(user_input_value, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE))
                .addGap(21)
                .addGroup(thisLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                    .addComponent(passw_input, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
                    .addComponent(passw_input_value, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE))
                .addGap(21)
                .addGroup(thisLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                    .addComponent(docbase_select_value, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
                    .addComponent(database_choose, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, 18, GroupLayout.PREFERRED_SIZE))
                .addGap(32)
                .addGroup(thisLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                    .addComponent(b2_cancel, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, 32, GroupLayout.PREFERRED_SIZE)
                    .addComponent(b1_login, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, 32, GroupLayout.PREFERRED_SIZE))
                .addContainerGap(45, 45));
            thisLayout.setHorizontalGroup(thisLayout.createSequentialGroup()
                .addContainerGap(30, 30)
                .addGroup(thisLayout.createParallelGroup()
                    .addGroup(thisLayout.createSequentialGroup()
                        .addGroup(thisLayout.createParallelGroup()
                            .addComponent(database_choose, GroupLayout.Alignment.LEADING, GroupLayout.PREFERRED_SIZE, 93, GroupLayout.PREFERRED_SIZE)
                            .addComponent(passw_input, GroupLayout.Alignment.LEADING, GroupLayout.PREFERRED_SIZE, 93, GroupLayout.PREFERRED_SIZE)
                            .addComponent(db_user_input, GroupLayout.Alignment.LEADING, GroupLayout.PREFERRED_SIZE, 93, GroupLayout.PREFERRED_SIZE))
                        .addGap(0, 22, Short.MAX_VALUE)
                        .addGroup(thisLayout.createParallelGroup()
                            .addComponent(docbase_select_value, GroupLayout.Alignment.LEADING, GroupLayout.PREFERRED_SIZE, 165, GroupLayout.PREFERRED_SIZE)
                            .addComponent(passw_input_value, GroupLayout.Alignment.LEADING, GroupLayout.PREFERRED_SIZE, 165, GroupLayout.PREFERRED_SIZE)
                            .addComponent(user_input_value, GroupLayout.Alignment.LEADING, GroupLayout.PREFERRED_SIZE, 165, GroupLayout.PREFERRED_SIZE)))
                    .addGroup(GroupLayout.Alignment.LEADING, thisLayout.createSequentialGroup()
                        .addGap(26)
                        .addComponent(b1_login, 0, 97, Short.MAX_VALUE)
                        .addGap(28)
                        .addComponent(b2_cancel, GroupLayout.PREFERRED_SIZE, 100, GroupLayout.PREFERRED_SIZE)
                        .addGap(29)))
                .addContainerGap(34, 34));
            pack();
            this.setSize(352, 260);
            
            
        } catch (Exception e) {
            //add your error handling code here
            e.printStackTrace();
        }
    }
    
    
    //this method calls Connection and passes parameters (User, Docbase) to the 2nd class / if authorization is failed - gives message/
    //if authorization succeeded -> 2nd form appears.
    
    
    public void authorization() {    
        try {
            DataCollection dc = new DataCollection();
            dc.setLocationRelativeTo(null);
            dc.setVisible(true);
            
            String user_variable_value = user_input_value.getText();
            String docbase_variable_value = docbase_select_value.getSelectedItem().toString();
            String password_keeping = passw_input_value.getText();
            
            System.out.println("Variables Keep authorize1: " + user_variable_value + " " + docbase_variable_value );
            
            /* ************************************************* */  
            dc.initVariables(user_variable_value, docbase_variable_value);
            dc.getPassword(password_keeping);
            /* ************************************************* */
            
            dc.getSession1(session);
            
            dc.getClientX1(clientx);
           
            //session3=session;
            DataProcessing dp = new DataProcessing();
            dp.getSession2(session);
            
            dc.getAuthorizationDocbase(this);
            [color=red]this.setVisible(false);[/color]
            
            
            
        } 
        //if authorization is failed -> gives warning message 
        catch (Exception e) {
               JFrame frame_logon_failed = new JFrame();
               frame_logon_failed.setSize(150,100);
               JLabel label3 = new JLabel("Logon was Failed!");
               JPanel panel3 = new JPanel();
               frame_logon_failed.add(panel3);
               panel3.add(label3);
               frame_logon_failed.setVisible(true);
               frame_logon_failed.setLocation(400, 350);        
               e.printStackTrace();
        }        
    }
    

       
        IDfSessionManager createSessionManager() throws Exception {
            String username = user_input_value.getText();
            String password = passw_input_value.getText();
            String docbase = docbase_select_value.getSelectedItem().toString();
            
            clientx = new DfClientX();
            IDfLoginInfo loginInfoObj = clientx.getLoginInfo();
            loginInfoObj.setDomain("");
            loginInfoObj.setUser(username);
            loginInfoObj.setPassword(password);
            client = clientx.getLocalClient();
            sMgr = client.newSessionManager();
            sMgr.setIdentity(docbase, loginInfoObj);
            return sMgr;
       }
}


PM MAIL   Вверх
bulat01
Дата 23.2.2011, 08:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Вот второй класс,
обратите внимание на методы помеченные красным.
Первая часть кода - все сюда не вмещается

Код

public class DataCollection extends javax.swing.JFrame {
    
    private JPanel read_panel;
    private JLabel conn_user;
    public  JLabel conn_database_value;
    public  JTextField configsheet_loc_text_var;
    private JButton next_but_var;
    private JButton Cancel;
    private JComboBox dctm_combo_var;
    private JLabel attrsheet_loc_label_var;
    private JLabel configsheet_loc_lab_var;
    public  JTextField attrsheet_loc_text_var;
    private JButton confsheet_loc_browse_but;
    private JButton attrsheet_loc_browse_but;
    private JPanel table_panel;
    private JLabel user_role_value;
    public  JLabel conn_user_value;
    private JLabel conn_user_role;
    private JLabel conn_database;
    private String dbAccount_value_auth2;
    public  String dbURL_value_auth2;
    public  String passw_auth2;
    public  Connection conn_auth2;
    public  String cf_loc_textfield_val;
    public  String attr_loc_textfield_val;
    public  String conf_loc_val;
    public  IDfSession session2;
    public  IDfClientX clientx2;  
    
    ComboBoxModel dctm_combo_varModel;
    String[] count;
    public String attrLoc;
    public String configLoc;
    public String contentLoc;
    public String typesFromDocumentum;
    
    DataCollection dc;
    IDfCollection myColl;
    AuthorizationDocbase auth_docbase;
    
    AuthorizationDocbase auth_docbase2;
    
    private static final char SLASH_CHAR = '/';
    
    /**
    * Auto-generated main method to display this JFrame
    */
    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                try {
                    DataCollection datacoll = new DataCollection();
                    //dc=datacoll;
                    datacoll.setVisible(true);
                } catch (DfException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                
            }
        });
    }
    
    public DataCollection() throws DfException {
        super();
        initGUI();
    }
    
    public void set_db_account(String dbAccount){
        dbAccount_value_auth2 = dbAccount;
        System.out.println("Variable in set_db_account: " + dbAccount_value_auth2);
    }
    
    String get_db_account(){
        return dbAccount_value_auth2;
    }
    
    public void initGUI() {
        try {
            //setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
            this.setTitle("Data Collection");
            {
                read_panel = new JPanel();
                getContentPane().add(read_panel, BorderLayout.NORTH);
                GroupLayout read_panelLayout = new GroupLayout((JComponent)read_panel);
                read_panel.setLayout(read_panelLayout);
                read_panel.setPreferredSize(new java.awt.Dimension(506, 90));                
                
                {
                    conn_user = new JLabel();
                    GroupLayout conn_userLayout = new GroupLayout((JComponent)conn_user);
                    conn_user.setLayout(conn_userLayout);
                    conn_user.setText("Connected User:");
                    conn_user.setRequestFocusEnabled(false);
                    conn_userLayout.setAutoCreateContainerGaps(true);
                    conn_userLayout.setVerticalGroup(conn_userLayout.createParallelGroup());
                    conn_userLayout.setHorizontalGroup(conn_userLayout.createParallelGroup());
                }
                {
                    //authorize2 auth2 = new authorize2();
                    conn_user_value = new JLabel();
                    //conn_user_value.setText(get_db_account());
                    //System.out.println("Last: " + dbAccount_value_auth2);
                }
                {
                    //JLabel conn_db = new JLabel();
                    conn_database_value = new JLabel();
                    //conn_database_value.setText(dbURL_value);
                    //conn_database_value.setText(auth1.db_select_value.toString());
                    //System.out.println("Authorize 2 class: "+ auth1.user_variable_value + " "+ auth1.db_variable_value);
                }
                {
                    user_role_value = new JLabel();
                    user_role_value.setText("Role_XXX");
                    
                }
                {
                    conn_database = new JLabel();
                    GroupLayout conn_databaseLayout = new GroupLayout((JComponent)conn_database);
                    conn_database.setLayout(null);
                    conn_database.setText("Database:");
                    conn_databaseLayout.setAutoCreateContainerGaps(true);
                    conn_databaseLayout.setVerticalGroup(conn_databaseLayout.createParallelGroup());
                    conn_databaseLayout.setHorizontalGroup(conn_databaseLayout.createParallelGroup());
                }
                {
                    conn_user_role = new JLabel();
                    conn_user_role.setText("User Role:");
                }
                read_panelLayout.setHorizontalGroup(read_panelLayout.createSequentialGroup()
                    .addContainerGap()
                    .addGroup(read_panelLayout.createParallelGroup()
                        .addComponent(conn_user_role, GroupLayout.Alignment.LEADING, GroupLayout.PREFERRED_SIZE, 113, GroupLayout.PREFERRED_SIZE)
                        .addComponent(conn_database, GroupLayout.Alignment.LEADING, GroupLayout.PREFERRED_SIZE, 113, GroupLayout.PREFERRED_SIZE)
                        .addComponent(conn_user, GroupLayout.Alignment.LEADING, GroupLayout.PREFERRED_SIZE, 113, GroupLayout.PREFERRED_SIZE))
                    .addGroup(read_panelLayout.createParallelGroup()
                        .addGroup(read_panelLayout.createSequentialGroup()
                            .addComponent(user_role_value, GroupLayout.PREFERRED_SIZE, 130, GroupLayout.PREFERRED_SIZE))
                        .addGroup(read_panelLayout.createSequentialGroup()
                            .addComponent(conn_database_value, GroupLayout.PREFERRED_SIZE, 130, GroupLayout.PREFERRED_SIZE))
                        .addGroup(read_panelLayout.createSequentialGroup()
                            .addComponent(conn_user_value, GroupLayout.PREFERRED_SIZE, 130, GroupLayout.PREFERRED_SIZE)))
                    .addContainerGap(137, Short.MAX_VALUE));
                read_panelLayout.setVerticalGroup(read_panelLayout.createSequentialGroup()
                    .addContainerGap()
                    .addGroup(read_panelLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                        .addComponent(conn_user_value, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, 16, GroupLayout.PREFERRED_SIZE)
                        .addComponent(conn_user, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE))
                    .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED, 0, Short.MAX_VALUE)
                    .addGroup(read_panelLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                        .addComponent(conn_database_value, GroupLayout.Alignment.BASELINE, 0, 16, Short.MAX_VALUE)
                        .addComponent(conn_database, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE))
                    .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
                    .addGroup(read_panelLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                        .addComponent(conn_user_role, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, 16, GroupLayout.PREFERRED_SIZE)
                        .addComponent(user_role_value, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE))
                    .addContainerGap(19, 19));
            }
            {
                table_panel = new JPanel();
                getContentPane().add(table_panel, BorderLayout.SOUTH);
                GroupLayout table_panelLayout = new GroupLayout((JComponent)table_panel);
                table_panel.setLayout(table_panelLayout);
                table_panel.setPreferredSize(new java.awt.Dimension(512, 220));
                
                {
                    attrsheet_loc_browse_but = new JButton();
                    attrsheet_loc_browse_but.setText("BROWSE");
                    attrsheet_loc_browse_but.setFont(new java.awt.Font("Tahoma",0,12));
                    attrsheet_loc_browse_but.addActionListener(new ActionListener() {
                        public void actionPerformed(ActionEvent evt) {
                            openAttrFile();     
                        }});
                }
                {
                    confsheet_loc_browse_but = new JButton();
                    confsheet_loc_browse_but.setText("BROWSE");
                    confsheet_loc_browse_but.setFont(new java.awt.Font("Tahoma",0,12));
                    confsheet_loc_browse_but.addActionListener(new ActionListener() {
                        public void actionPerformed(ActionEvent evt) {
                            try {
                                openConfigFile();
                            } catch (DfException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                            }     
                        }});
                    
                }
                {
                    attrsheet_loc_label_var = new JLabel();
                    attrsheet_loc_label_var.setText("Attribute Sheet Location");
                    attrsheet_loc_label_var.setFont(new java.awt.Font("Tahoma",0,10));
                }
                {
                    attrsheet_loc_text_var = new JTextField();
                    attrsheet_loc_text_var.setFont(new java.awt.Font("Tahoma",0,10));
                }
                {
                    configsheet_loc_text_var = new JTextField();
                    configsheet_loc_text_var.setFont(new java.awt.Font("Tahoma",0,10));
                }
                {
                    
                    myColl = null;
                    try {                    
                        String myQuery = "select r_object_id, name from dm_type";
                        myColl = execQuery ( session2 , myQuery );                  
                        
                        String [] result5 = new String[CountType()];                          
                        int n = 0;
                        while(myColl.next()){
                            result5 [n] = myColl.getValue("name").toString();
                            n++;
                        }
                        //dctm_combo_var = new JComboBox(result5);
                        
                        dctm_combo_var.addActionListener(new ActionListener() {
                            public void actionPerformed(ActionEvent evt) {
                                itemChosen();     
                            }});
                        
                        dctm_combo_var.setFont(new java.awt.Font("Tahoma",0,10));                        
                    } catch( Throwable e ) {
                        if( e instanceof DfException ) {
                            System.out.println( "DFC Exception:" );
                            //@@@note: for DFC 4.x, this method is getStackTrace()
                            String s = ((DfException)e).getStackTraceAsString();
                            System.out.println( s );
                        }    
                    }             
                }
                {
                    configsheet_loc_lab_var = new JLabel();
                    configsheet_loc_lab_var.setText("Result Log File Location");
                    configsheet_loc_lab_var.setFont(new java.awt.Font("Tahoma",0,10));
                }
                {
                    next_but_var = new JButton();
                    next_but_var.setText("NEXT >");
                    next_but_var.setFont(new java.awt.Font("Tahoma",0,12));
                    next_but_var.setSize(86, 26);
                    next_but_var.addActionListener(new ActionListener() {
                        public void actionPerformed(ActionEvent arg0) {
                            try {
                                nextToDataCollection2();
                            } catch (DfException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                            } catch (IOException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                            }
                        }
                    });
                }
                {
                    Cancel = new JButton();
                    Cancel.setText("CANCEL");
                    Cancel.setFont(new java.awt.Font("Tahoma",0,12));
                    Cancel.setSize(86, 26);
                    Cancel.addActionListener(new ActionListener(){
                        public void actionPerformed(ActionEvent arg0) {
                            closeOnCancelClicked();
                        }
                    });
                }        
                //}
                table_panelLayout.setHorizontalGroup(table_panelLayout.createSequentialGroup()
                    .addContainerGap()
                    .addGroup(table_panelLayout.createParallelGroup()
                        .addGroup(GroupLayout.Alignment.LEADING, table_panelLayout.createSequentialGroup()
                            .addGroup(table_panelLayout.createParallelGroup()
                                .addComponent(configsheet_loc_lab_var, GroupLayout.Alignment.LEADING, GroupLayout.PREFERRED_SIZE, 245, GroupLayout.PREFERRED_SIZE)
                                .addGroup(GroupLayout.Alignment.LEADING, table_panelLayout.createSequentialGroup()
                                    .addComponent(attrsheet_loc_label_var, GroupLayout.PREFERRED_SIZE, 170, GroupLayout.PREFERRED_SIZE)
                                    .addGap(75))
                                .addGroup(GroupLayout.Alignment.LEADING, table_panelLayout.createSequentialGroup()
                                    .addGap(146)
                                    .addComponent(next_but_var, GroupLayout.PREFERRED_SIZE, 89, GroupLayout.PREFERRED_SIZE)
                                    .addGap(10)))
                            .addGap(17)
                            .addComponent(Cancel, 0, 91, Short.MAX_VALUE))
                        .addGroup(GroupLayout.Alignment.LEADING, table_panelLayout.createSequentialGroup()
                            .addComponent(configsheet_loc_text_var, GroupLayout.PREFERRED_SIZE, 347, GroupLayout.PREFERRED_SIZE)
                            .addGap(0, 6, Short.MAX_VALUE))
                        .addGroup(GroupLayout.Alignment.LEADING, table_panelLayout.createSequentialGroup()
                            .addComponent(attrsheet_loc_text_var, GroupLayout.PREFERRED_SIZE, 347, GroupLayout.PREFERRED_SIZE)
                            .addGap(0, 6, Short.MAX_VALUE)))
                    .addGroup(table_panelLayout.createParallelGroup()
                        .addComponent(attrsheet_loc_browse_but, GroupLayout.Alignment.LEADING, GroupLayout.PREFERRED_SIZE, 120, GroupLayout.PREFERRED_SIZE)
                        .addComponent(confsheet_loc_browse_but, GroupLayout.Alignment.LEADING, GroupLayout.PREFERRED_SIZE, 120, GroupLayout.PREFERRED_SIZE))
                    .addContainerGap(27, 27));
                table_panelLayout.setVerticalGroup(table_panelLayout.createSequentialGroup()
                    .addContainerGap()
                    .addComponent(attrsheet_loc_label_var, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
                    .addGroup(table_panelLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                        .addComponent(attrsheet_loc_browse_but, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, 25, GroupLayout.PREFERRED_SIZE)
                        .addComponent(attrsheet_loc_text_var, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, 24, GroupLayout.PREFERRED_SIZE))
                    .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
                    .addComponent(configsheet_loc_lab_var, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
                    .addGroup(table_panelLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                        .addComponent(confsheet_loc_browse_but, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, 26, GroupLayout.PREFERRED_SIZE)
                        .addComponent(configsheet_loc_text_var, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, 21, GroupLayout.PREFERRED_SIZE))
                    .addGap(33)
                    .addGroup(table_panelLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                        .addComponent(next_but_var, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, 27, GroupLayout.PREFERRED_SIZE)
                        .addComponent(Cancel, GroupLayout.Alignment.BASELINE, GroupLayout.PREFERRED_SIZE, 28, GroupLayout.PREFERRED_SIZE))
                    .addContainerGap(57, 57));
            }
            pack();
            this.setSize(520, 340);
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        } catch (Exception e) {
            //add your error handling code here
            e.printStackTrace();
        }
    }

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


Шустрый
*


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

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



Вот вторая часть кода

Код

    public void getAuthorizationDocbase(AuthorizationDocbase auth_d){
         auth_docbase = auth_d;
        }

        public void closeOnCancelClicked() {
           setVisible(false);
           DataCollection.this.dispose();
           
           //proboval vot s etim metodom, no bez uspeshno
           [color=red]auth_docbase.dispose();[/color]
           
        }

        //NEXT button to DataCollection - also -> passes params to Processing class.
        protected void nextToDataCollection2() throws DfException, IOException {
            DataCollection.this.setVisible(false);
            DataCollection2 datacoll2 = new DataCollection2();
            datacoll2.setLocationRelativeTo(null);
            datacoll2.setVisible(true);
            datacoll2.getDataCollection(this);
            
            DataProcessing proc = new DataProcessing();
            proc.getParameters( contentLoc, clientx2 );
            proc.getAttrLoc(attrLoc);
            
            String myQuery = "select r_object_id, name from dm_type";
            myColl = execQuery ( session2 , myQuery );                  
            displayResults(myColl);
        }
        

        protected void itemChosen() {
            System.out.println(dctm_combo_var.getSelectedItem());
            typesFromDocumentum = dctm_combo_var.getSelectedItem().toString();
        }
        
        
        protected int CountType() throws DfException {
          int count = 0;
          IDfCollection myColl = null;
          String myQuery = "select name from dm_type";
          myColl = execQuery ( session2 , myQuery );    
             while (myColl.next()){
            count++;
             }
             System.out.println("Count value: " + count);
             return count;
        }
    

        protected void openConfigFile() throws DfException {    
             JFileChooser chooser = new JFileChooser(); 
             chooser.setCurrentDirectory(new java.io.File("."));
             chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);

             chooser.setAcceptAllFileFilterUsed(false);    
             if (chooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
                 configsheet_loc_text_var.setText(chooser.getSelectedFile().toString());
                 configLoc = configsheet_loc_text_var.getText();
             }           
             else {
                 System.out.println("No Selection ");
             }
        }
    
    
    
        public IDfCollection execQuery (IDfSession sess, String queryString) throws DfException {
         IDfCollection col = null;
         clientx2  = new DfClientX();
         IDfQuery q = clientx2.getQuery(); //Create query object
         q.setDQL( queryString); //Give it the query
         col = q.execute(sess, IDfQuery.DF_READ_QUERY);
         return col;
        }    
    

        protected void openAttrFile() {
         JFileChooser chooser = new JFileChooser(); 
         chooser.setCurrentDirectory(new java.io.File("."));
         chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);

         chooser.setAcceptAllFileFilterUsed(false);    
         if (chooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
             attrsheet_loc_text_var.setText(chooser.getSelectedFile().toString().replace(File.separatorChar, SLASH_CHAR));
             //attrsheet_loc_text_var.setText(chooser.getSelectedFile().toString());
             attrLoc = attrsheet_loc_text_var.getText();         
         }           
         else {
             System.out.println("No Selection ");
         }        
        }

    /*
    private void openCFile() {
         JFileChooser chooser;
         chooser = new JFileChooser(); 
         chooser.setCurrentDirectory(new java.io.File("."));
         chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
         chooser.setAcceptAllFileFilterUsed(false);
    
         if (chooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) { 
           //System.out.println("getCurrentDirectory(): " +  chooser.getCurrentDirectory());
           //System.out.println("getSelectedFile() : " +  chooser.getSelectedFile());
           
             cont_file_text_field_var.setText(chooser.getSelectedFile().toString());
             contentLoc = cont_file_text_field_var.getText();
            }           
         else {
           System.out.println("No Selection ");
           }
    }*/

        public void initVariables(String dbAccount, String dbURL) {
           System.out.println("Passed Params authorize2: " + dbAccount + " " + dbURL);
        
           conn_user_value.setText(dbAccount);
           conn_database_value.setText(dbURL);
           dbAccount_value_auth2 = dbAccount;
           dbURL_value_auth2 = dbURL;   
        }
    
    
    
    public String getPassword(String Passwd_auth1){
        return passw_auth2 = Passwd_auth1;
    }
    
    
    public void getSession1(IDfSession session){
        session2 = session;
    }

    public void getClientX1(IDfClientX clientx){
        clientx2 = clientx;
    }
        
    

}

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


Эксперт
***


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

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



То, что вы спрятали окно совершенно не значит, что какие-то ресурсы будут при этом освобождены.

Почему остается процесс? Потому что в рамках процесса есть не-daemon потоки, которые продолжают выполнение.

Чтобы завершить работу процесса вызовите
Код

System.exit(0);


Разумеется одно это не гарантирует освобождения всевозможных ресурсов. Есть Closeable объекты, на которых надо вручную вызовать close() для освобождения нативных ресурсов.

 


--------------------
Opinions are like assholes — everybody has one
PM MAIL   Вверх
bulat01
Дата 24.2.2011, 07:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



jk1 - спасибо большое за ответ.
Помогло.

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0595 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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