I want to put a scroll bar both to the right and to the bottom I know I have to put JScrollPane
but I do not know where I would put it or how.
This is the code:
package bonos1;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.WindowConstants;
import javax.swing.table.DefaultTableModel;
public class Tabla {
private JTable t;
private DefaultTableModel m;
private int i=0;
private int a=0;
public Tabla(){
//* Inicializar variables *//
JFrame v = new JFrame();
m = new DefaultTableModel();
t = new JTable(m);
JScrollPane s = new JScrollPane(t);
//* Se agregarn tres columnas inicialmente //*
m.addColumn("Desarrollo Social");
m.addColumn("Recursos materiales");
m.addColumn("Des.agropecuario");
m.addColumn("Desarrollo economico");
m.addColumn("Educacion y cultura");
m.addColumn("Seguridad Publica");
m.addColumn(" DIF");
m.addColumn("Secretaria general");
m.addColumn("Archivo");
m.addColumn("Registro de lo familiar");
m.addColumn("Catastro");
m.addColumn("Turismo");
m.addColumn("Transparencia");
m.addColumn("Informatica");
m.addColumn("Teseroria");
m.addColumn("Contraloria");
m.addColumn("Conciliacion Municipal");
m.addColumn("Oficialia mayor");
m.addColumn("Servicios generales");
m.addColumn("Ecologia");
m.addColumn("Reaglamentos y Espect");
m.addColumn("Obras publicas");
m.addColumn("Planeacion");
m.addColumn("Unidad juridica");
m.addColumn("Comunicacion social");
m.addColumn("IMDM");
m.addColumn("IMJUV");
m.addColumn("COMUDE");
m.addColumn("Poteccion civil");
/** Se agregan diez columnas inicialmente con el valor del contador **/
/** Se agregan el scroll a la ventna **/
v.getContentPane().add(s,BorderLayout.CENTER);
JPanel pN=new JPanel();
//* Inicializan botonnes y se dan acciones *//
JButton aF = new JButton("Agregar Fila");
pN.add(aF);
aF.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
agregar(2);
}
});
JButton bF = new JButton("Borrar Fila");
pN.add(bF);
bF.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
eliminar(2);
}
});
/** Agregan y se crea ventana **/
v.getContentPane().add(pN,BorderLayout.NORTH);
v.pack();
v.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
v.setVisible(true);
}
/* Se encarga de eliminar
* si el valor es 1 elimina la columna
* si el valor es 2 elimina la fila */
private void eliminar(int caso){
try{
switch(caso){
case 1:
t.removeColumn(t.getColumnModel().getColumn(t.getSelectedColumn()));//Elimna la columna selecionada por el usuario
break;
case 2:
m.removeRow(t.getSelectedRow());//Elimna la fila selecionada por el usuario
break;
}
}catch(ArrayIndexOutOfBoundsException aIE){}
}
/* Se encarga de agregar
* si el valor es 1 agrega una columna
* si el valor es 2 agrega una fila */
private void agregar(int caso){
try{
switch(caso){
case 2:
m.addRow(new Object[]{a++,"",""});//Agrega un fila con el valor del contador y los demas en blanco
break;
}
}catch(ArrayIndexOutOfBoundsException aIE){}
}
public static void main(String [] args){
new Tabla();//Se corre la clase
}
}