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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> JCheckBox getConnection, Подскажите способ 
V
    Опции темы
musashi
Дата 4.12.2008, 08:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Доброе время суток! 
Вот назрел вопрос, как задать действия 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;
}



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


Опытный
**


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

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



Код

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

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


Новичок



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

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



Спасибо, помогло!  smile 
С новым годом! smile 

Это сообщение отредактировал(а) musashi - 1.1.2009, 08:22
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.1024 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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