Java: Problem med Frame
Jeg har lavet denne klasse, som kan forbinde til en database:import java.sql.*;
import java.net.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class main {
private static JFrame frameLoading;
public static void main(String[] args) {
JFrame frame = new JFrame("Connect to database");
frame.setResizable(false);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JButton connectButton = new JButton("Connect");
frame.add(connectButton, BorderLayout.CENTER);
frame.pack();
frame.setLocation(200,200);
frame.setVisible(true);
connectButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ev) {
if (connect()) {
System.out.println("Connected");
} else {
System.out.println("Can't connected");
}
}
});
}
public static boolean connect() {
String server = "192.168.1.35";
String username = "root";
String password = "myPassword";
String database = "horseBetting";
connectFrame();
try {
Class.forName("com.mysql.jdbc.Driver");
Connection connection = DriverManager.getConnection("jdbc:mysql://"+server+"/"+database, username, password);
frameLoading.setVisible(false);
return true;
} catch (Exception ex) {
frameLoading.setVisible(false);
System.out.println(ex);
return false;
}
}
private static void connectFrame() {
frameLoading = new JFrame("Connecting to database...");
frameLoading.setResizable(false);
frameLoading.setAlwaysOnTop(true);
frameLoading.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
JLabel textLabel = new JLabel("Connecting...");
frameLoading.add(textLabel, BorderLayout.CENTER);
frameLoading.pack();
frameLoading.setSize(200,80);
frameLoading.setLocation(300,300);
frameLoading.setVisible(true);
}
}
Når jeg kører programmet, trykker og trykker på connect kan man ikke se teksten i Frame mens der forbindes. Hvordan kan det være? Hvis jeg kører connect uden for min ActionListener kører det helt perfekt.
NB.: Programmer kræver at du et mySQL-libary kørende, kan hentes her:
http://dev.mysql.com/downloads/connector/j/3.1.html
