Non riesco ad applicare alcune modifiche alla classe che ho postato.
Vorrei dare al jsp una dimensione (verticale) minima ed una massima oltre quale i suoi elementi interni non si ridimensionano ma usano lo scroll. Attualmente le sue dimensioni corrispondono alla larghezza della finestra e lo scroll orizzontale funziona
Vorrei settare una dimensione fissa per il pannello oppure impostare una sua dimensione minima o massima. Attualmente si adatta alla dimensione verticale del pannello.
Ho fatto alcune prove ma con scarso risultato. Finestraextends JFrame, JTabella sfrutta dei metodi di JTable. I metodi che restituiscono un component usaranno tutti la classe JTabella come i metodi fornitori e fumetti.
Se servono altri dettagli sui metodi chiedete pure. grazie in anticipo
codice:
class MyFrame extends JFrame {
private static final long serialVersionUID = 1L;
private Finestra frame;
private JButton aggiungi,rimuovi,modifica,stampa;
private static JTabella jTabella;
private static JScrollPane jsp;
private static JTable jt;
public MyFrame(Finestra frame, String title, Component componente) {
super(title);
this.frame = frame;
addWindowListener(new MyWindowListener1());
// setMinimumSize(getMinimumSize());
// jt.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
// JToolBar pannello = new JToolBar();
JPanel pannello = new JPanel(new GridLayout(1,4));
// pannello.setMaximumSize(getMinimumSize());
aggiungi=new JButton("Aggiungi");
rimuovi=new JButton("Rimuovi");
modifica=new JButton("Modifica");
stampa=new JButton("Stampa");
pannello.add(aggiungi);
pannello.add(rimuovi);
pannello.add(modifica);
pannello.add(stampa);
aggiungi.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
aggiungiActionPerformed(evt);
}
});
rimuovi.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
rimuoviActionPerformed(evt);
}
});
modifica.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
modificaActionPerformed(evt);
}
});
stampa.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
stampaActionPerformed(evt);
}
});
this.getContentPane().setLayout(new BorderLayout());
this.getContentPane().add(BorderLayout.SOUTH,pannello);
this.getContentPane().add(BorderLayout.CENTER,componente);
setBounds(5, 80, 700, 500);
setVisible(true);
}
private void aggiungiActionPerformed(ActionEvent evt) {
jTabella.aggiungi(null);
}
private void modificaActionPerformed(ActionEvent evt) {
jTabella.applicaModifiche();
}
private void stampaActionPerformed(ActionEvent evt) {
jTabella.stampa();
}
private void rimuoviActionPerformed(ActionEvent evt) {
jTabella.rimuovi();
}
public static Component clienti() {
jTabella=new JTabellaFactory().creaTabella("clientii",false);
jsp=new JScrollPane(jTabella.creaJTabella());
// jsp.setBorder(BorderFactory.createLineBorder(Color.YELLOW));
return jsp;
}
public static Component ordini() {
jt=new JTable(5,5);
jsp=new JScrollPane(jt);
// jsp.setAutoscrolls(true);
return jsp;
}
public static Component fornitori() {
jTabella=new JTabellaFactory().creaTabella("fornitori",false);
jsp=new JScrollPane(jTabella.creaJTabella());
// jsp.setBorder(BorderFactory.createLineBorder(Color.YELLOW));
return jsp;
}
public static Component abbonamenti() {
jt=new JTable(100,100);
jsp=new JScrollPane(jt);
// jsp.setAutoscrolls(false);
return jsp;
}
public static Component salagiochi() {
jt=new JTable(5,5);
jsp=new JScrollPane(jt);
return jsp;
}
public static Component actionfigure() {
jTabella=new JTabellaFactory().creaTabella("actionFigure",false);
jsp=new JScrollPane(jTabella.creaJTabella());
// jsp.setBorder(BorderFactory.createLineBorder(Color.YELLOW));
return jsp;
}
public static Component fumetti() {
jTabella=new JTabellaFactory().creaTabella("fumetti",false);
jsp=new JScrollPane(jTabella.creaJTabella());
// jsp.setBorder(BorderFactory.createLineBorder(Color.YELLOW));
return jsp;
}
private class MyWindowListener1 extends WindowAdapter {
public void windowClosing(WindowEvent we) {
frame.frameChiuso();
dispose();
}
}
}