Sto capendo un po meglio ma nel pannello di right i componenti stanno tutti nel centro come mai??
codice:
import java.awt.*;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.Vector;
import javax.swing.*;
import javax.swing.border.TitledBorder;
//import net.proteanit.sql.DbUtils;
public class Frame1 extends javax.swing.JFrame{
Connection conn = null;
ResultSet rs = null;
PreparedStatement pst = null;
private JPanel left,right,sottoL;
public JTable tabella_busta;
private JButton mostra,prova;
private JLabel dataDa,dataA,operatore;
private JComboBox combo_op;
public Frame1(){
super ("Riparazione Orologi");
this.setSize(new Dimension(1027,768));
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setLayout(new BorderLayout());
conn = ConnessioneDb.connectDb();
initComponents();
Popola_Tabella();
riempicomboOp();
}
private void initComponents() {
//pannello di sinistra
left = new JPanel();
TitledBorder titoloPLeft = new TitledBorder("Operazioni Buste");
left.setPreferredSize(new Dimension(400,30));
left.setLayout(new GridLayout(1,2));
left.setBorder(titoloPLeft);
//pannello di destra
right = new JPanel();
TitledBorder titoloPRight = new TitledBorder("Statistiche Buste");
right.setLayout( new GridBagLayout());
GridBagConstraints c = new GridBagConstraints ();
right.setBorder(titoloPRight);
//pannello sotto left
sottoL = new JPanel();
TitledBorder sotto = new TitledBorder("Comandi");
sottoL.setPreferredSize(new Dimension(400,30));
sottoL.setLayout(new GridLayout(1,2));
sottoL.setBorder(sotto);
//left.add(sottoL);
//Bottoni
mostra = new JButton("Mostra");
c.fill = GridBagConstraints.HORIZONTAL;
c.weightx = 0.2;
c.gridx = 1;
c.gridy = 7;
right.add(mostra, c);
mostra.setPreferredSize(new Dimension (100,20));
prova = new JButton("Prova");
c.fill = GridBagConstraints.HORIZONTAL;
c.weightx = 0.2;
c.gridx = 0;
c.gridy = 6;
right.add(prova, c);
mostra.setPreferredSize(new Dimension (100,20));
//Etichette
//Operatore
operatore = new JLabel("Operatore");
operatore.setPreferredSize(new Dimension (100,20));
c.fill = GridBagConstraints.HORIZONTAL;
c.gridx = 0;
c.gridy = 0;
right.add(operatore, c);
//dataDa
dataDa = new JLabel("Data da");
dataDa.setPreferredSize(new Dimension (100,20));
c.fill = GridBagConstraints.HORIZONTAL;
//c.weightx = 0.5;
c.gridx = 0;
c.gridy = 2;
right.add(dataDa, c);
dataDa.setPreferredSize(new Dimension(100,20));
//dataA
dataA = new JLabel("A Data");
dataA.setPreferredSize(new Dimension (100,20));
c.fill = GridBagConstraints.HORIZONTAL;
c.gridx = 0;
c.gridy = 4;
right.add(dataA, c);
//ComboBox
combo_op = new JComboBox();
combo_op.setPreferredSize(new Dimension(100,20));
c.fill = GridBagConstraints.HORIZONTAL;
c.gridx = 1;
c.gridy = 0;
right.add(combo_op, c);
//Metto i Pannelli nel contenitore root
Container MainContenitore = this.getContentPane();
MainContenitore.setLayout(new BorderLayout());
MainContenitore.add(left,BorderLayout.CENTER);
MainContenitore.add(right,BorderLayout.EAST);
}
//Creo una Jtable Per le buste
private void Popola_Tabella(){
try {
String sql= "select * from Buste";
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
ResultSetMetaData rsmd = rs.getMetaData();
int numColonne = rsmd.getColumnCount();
Vector<String> nomeColonne = new Vector<String>();
//for (int nr=0; nr<numColonne; nr++)
nomeColonne.add("Codice");
nomeColonne.add("CodiceBusta");
nomeColonne.add("Prezzo costo");
nomeColonne.add("Prezzo");
nomeColonne.add("Data");
nomeColonne.add("Operatore");
Vector <Vector> datiRighe = new Vector <Vector>();
while (rs.next()){
Vector<Object> riga = new Vector<Object>();
for (int nr=0; nr<numColonne; nr++) {
riga.add(rs.getObject(nr+1));
}
datiRighe.add(riga);
}
tabella_busta=new JTable(datiRighe,nomeColonne);
JScrollPane p = new JScrollPane(tabella_busta);//Metto la tabella in un scrollPane
left.add(p);//La aggingo al pannello di sinistra
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, e);
}
}
private void riempicomboOp(){
try{
String sql= "select * from Operatori";
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
while(rs.next()){
String name = rs.getString("nome");
combo_op.addItem(name);
}
pst.close();
rs.close();
}catch(Exception e){
JOptionPane.showMessageDialog(null,e);
}
}
public static void main(String[] args) {
new Frame1().setVisible(true);;
}
}