1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170
|
package assignment;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.FlowLayout;
import java.awt.Dimension;
public class GUI extends JFrame{
private JDesktopPane desk = null;
private JPanel container = null;
private JPanel container2 = null;
private JPanel container3 = null;
private FlowLayout layout = null ;
private JLabel label = null;
private JTextField query = null;
private JComboBox combo = null;
private JTable table = null;
private JTable table2 = null;
private JScrollPane sp = null;
private JButton button_ins = null;
private JButton ok = null;
private DBFunctions DB = new DBFunctions();
public GUI() {
super("Assignment Application");
init();
build();
}
private void init(){
JMenuBar bar = new JMenuBar();
JMenu m = new JMenu("Menu");
JMenuItem connect = new JMenuItem("Connecting to database");
JMenuItem read = new JMenuItem("Reading data");
JMenuItem insert = new JMenuItem("Inserting data");
JMenuItem update = new JMenuItem("Updating data");
JMenuItem disconnect = new JMenuItem("Disconnecting from database");
m.add(connect);
m.add(read);
m.add(insert);
m.add(update);
m.add(disconnect);
bar.add(m);
this.setJMenuBar(bar);
desk = new JDesktopPane();
this.add(desk);
connect.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e){
DB.Connection();
}
});
read.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e){
refreshPanel(getContainer());
}
});
insert.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e){
refreshPanel(getContainer2());
}
});
update.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e){
refreshPanel(getContainer3());
}
});
disconnect.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e){
DB.Disconnection();
}
});
}
private void build(){
this.setTitle("Assignment application");
this.setSize(600,500);
this.setLocationRelativeTo(null);
this.setResizable(false) ; //On interdit la redimensionnement de la fenêtre
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //On dit à lapplication de se fermer lors du clic sur la croix
this.setVisible(true);
}
private JPanel getContainer(){
layout = new FlowLayout(5);
layout.setAlignment(FlowLayout.CENTER);
container = new JPanel() ; // Select JPanel
container.setLayout(layout);
label = new JLabel() ;
label.setText("Query :");
query = new JTextField("SELECT * FROM STUDENT");
table = new JTable();
String quer = new String("SELECT * FROM STUDENT");
table = DB.addDataTable(quer);
sp = new JScrollPane(table);
container.add(label);
container.add(query);
container.add(sp);
return container ;
}
private JPanel getContainer2(){
container2.setLayout(layout);
container2 = new JPanel(); // Insert JPanel
button_ins = new JButton("Insert");
button_ins.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e){
new Form(DB);
setPanel(getContainer2());
}
});
String query = new String("SELECT * FROM STUDENT");
table2 = DB.addDataTable(query);
sp = new JScrollPane(table2);
container2.add(button_ins);
container2.add(table2);
return container2;
}
private JPanel getContainer3(){
String query = new String("SELECT * FROM STUDENT");
container3.setLayout(layout);
container3 = new JPanel(); // Update JPanel
ok = new JButton("OK");
ok.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e){
String str = combo.getSelectedItem().toString();
new Form(str);
refreshPanel(getContainer3());
}
});
combo = DB.addDataComboBox(combo,query);
table2 = DB.addDataTable(query);
sp = new JScrollPane(table2);
container3.add(table2);
container3.add(combo);
container3.add(ok);
return container3;
}
private void setPanel(JPanel panel){ // ici aussi par la meme occasion
this.setContentPane(panel);
this.setVisible(true);
}
private void refreshPanel(JPanel panel){ // ici le probleme j'arrive à rien
//panel.removeAll();
//setPanel(panel);
this.setContentPane(panel);
this.setVisible(true);
panel.repaint();
panel.revalidate();
}
public static void main(String[] args) throws Exception {
new GUI(); // peut etre l'instance de ma frame n'est pas correct aussi
}
} |
Partager