Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: GUI и Java FX приложения > JCheckBox getConnection


Автор: musashi 4.12.2008, 08:24
Доброе время суток! 
Вот назрел вопрос, как задать действия JCheckBox-у чтобы при установке флажка осуществлялось соединение с БД, а при снятии флажка осушествлялось отключение от БД.
Вот что у меня есть но не понимаю как правильно реализовать обработчик событий connectCheckBox  smile 

Шибко сильно не ругать, учу Java всего неделю по книгам: К.Хорстман Г.Корнел "том 1-ый  Основы"  и "том 2-ой Тонкости программирования"  smile 

Код

import java.sql.*;
import java.io.*;
import java.util.*;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;



class DbItemDialog extends JPanel
{

    public DbItemDialog()
    {
        setLayout(new BorderLayout());
        
        JPanel panel = new JPanel();
        panel.setLayout(new GridLayout(4, 4));
        
        panel.add(new JLabel("Имя пользователя:"));
        panel.add(username = new JTextField(""));
        
        panel.add(new JLabel("Пароль:"));
        panel.add(password = new JPasswordField(""));
        
        panel.add(new JLabel("IP:порт (адрес БД):"));
        panel.add(ipadr = new JTextField());

        panel.add(new JLabel("Имя БД:"));
        panel.add(dbname = new JComboBox());

        add(panel, BorderLayout.CENTER);
        
        connectCheckBox = new JCheckBox("Соединиться с сервером");
        connectCheckBox.addActionListener(new ActionListener()
        {
            public void actionPerformed(ActionEvent event)
            {
                /* ? */
            }
        });


        okButton = new JButton("OK");
        okButton.addActionListener(new ActionListener()
        {
            public void actionPerformed(ActionEvent event)
            {               
                ok = true;
                dialog.setVisible(false);
            }
        });
        
        cancelButton = new JButton("Отмена");
        cancelButton.addActionListener(new ActionListener()
        {
            public void actionPerformed(ActionEvent event)
            {
                dialog.setVisible(false);
            }
        });
     
        JPanel buttonPanel = new JPanel();
        buttonPanel.add(connectCheckBox);
        buttonPanel.add(okButton);
        buttonPanel.add(cancelButton);

        add(buttonPanel, BorderLayout.SOUTH);
    }
    
    public static Connection getConnection() throws SQLException, IOException
    {
            Properties props = new Properties();
            FileInputStream in = new FileInputStream("database.properties");
            props.load(in);
            in.close();

            String drivers = props.getProperty("jdbc.drivers");
            if (drivers != null) System.setProperty("jdbc.drivers", drivers);
            String url = props.getProperty("jdbc.url");
            String username = props.getProperty("jdbc.username");
            String password = props.getProperty("jdbc.password");

            return DriverManager.getConnection(url, username, password);
    }
    
    public boolean showDialog(Component parent, String title)
    {
        ok = false;
        
        Frame owner = null;
        if(parent instanceof Frame) owner = (Frame) parent;
        else owner = (Frame) SwingUtilities.getAncestorOfClass(Frame.class, parent);
        
        if(dialog == null || dialog.getOwner() != owner)
        {            
            dialog = new JDialog(owner, true);
            dialog.add(this);
            dialog.getRootPane().setDefaultButton(okButton);
            dialog.pack();
            dialog.setLocation(450, 390);
            dialog.setResizable(false);
        }
        
        dialog.setTitle(title);
        dialog.setVisible(true);
        return ok;
    }

    private JPasswordField password;
    private JTextField ipadr;
    private JTextField username;
    private JCheckBox connectCheckBox;
    private JButton okButton;
    private JButton cancelButton;
    private JDialog dialog;
    private boolean ok;
    private JComboBox dbname;
    private Connection conn;


    public static final int DEFAULT_WIDTH = 300;
    public static final int DEFAULT_HEIGHT = 200;
}



Автор: Connie 6.12.2008, 17:46
Код

public void itemStateChanged(ItemEvent e) {
     //System.out.println("Нажали или отпустили");
     if (e.getStateChange()==ItemEvent.DESELECTED) {
///Отключаем
    }
  else { включаем }
}

Автор: musashi 1.1.2009, 08:21
Спасибо, помогло!  smile 
С новым годом! smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)