Доброе время суток! Вот назрел вопрос, как задать действия JCheckBox-у чтобы при установке флажка осуществлялось соединение с БД, а при снятии флажка осушествлялось отключение от БД. Вот что у меня есть но не понимаю как правильно реализовать обработчик событий connectCheckBox Шибко сильно не ругать, учу Java всего неделю по книгам: К.Хорстман Г.Корнел "том 1-ый Основы" и "том 2-ой Тонкости программирования" | Код | 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; }
|
|