
Estoy haciendo una aplicacion (que necesito terminar con urgencia

por ejemplo selecciono en el jcombobox auto, y los registros de la tabla son ford, renault
Luego selecciono motos y los registros son yamaha, Honda, Honda vice
en este caso me aparecen los registros asi: ford, renault, Honda vice.
Aqui le dejo el codigo, espero que entiendan mi pregunta, y si alguien tiene ideas son bienvenidas
Código PHP:
public class buscarc extends javax.swing.JFrame implements ActionListener {
private Connection conn;
private TableRowSorter<T_carrera> sorter;
int area;
String carrera, id_carrera;
/** Creates new form buscarc */
public buscarc() throws SQLException {
mdbc=new DBconnection();
mdbc.init();
conn=mdbc.getMyConnection();
stmt = conn.createStatement();
area=1;
initComponents();
cargar_area();
area_cbox.addActionListener(this);
}
private void cargar_area() throws SQLException{
rs=stmt.executeQuery("Select A.nombre_areas from areas as A");
ResultSets=new ArrayList<String[]>();
try{
while(rs.next()){
String[] row={ rs.getString("nombre_areas")};
ResultSets.add(row);
}
}
catch(Exception e){
System.out.println("Problemas de Estructura de Tabla");
}
rs.first();
area_cbox.addItem(rs.getString("nombre_areas"));
while(rs.next()){
area_cbox.addItem(rs.getString("nombre_areas"));
}
}
public void actionPerformed(ActionEvent e) {
System.out.println(area_cbox.getSelectedItem());
area= area_cbox.getSelectedIndex();
area= area+1;
System.out.println(area);
filtrado();
}
private void newFilter() {
RowFilter rf = null;
//If current expression doesn't parse, don't update.
try {
rf = RowFilter.regexFilter(filtro.getText(), 1);
} catch (java.util.regex.PatternSyntaxException e) {
return;
}
sorter.setRowFilter(rf);
}
public String quotate(String content){
return "'"+content+"'";
}
private void filtrado(){
T_carrera model = new T_carrera(area);
sorter = new TableRowSorter<T_carrera>(model);
jTable1.setRowSorter(sorter);
jTable1.getSelectionModel().addListSelectionListener(
new ListSelectionListener() {
public void valueChanged(ListSelectionEvent event) {
int viewRow = jTable1.getSelectedRow();
if (viewRow < 0) {
//No seleccione una fila.
} else {
int modelRow =0;
id_carrera=(String.valueOf(jTable1.getValueAt(viewRow,modelRow)));
modelRow =1;
carrera=(String.valueOf(jTable1.getValueAt(viewRow,modelRow)));
}
}
}
);
filtro.getDocument().addDocumentListener(
new DocumentListener() {
public void changedUpdate(DocumentEvent e) {
newFilter();
}
public void insertUpdate(DocumentEvent e) {
newFilter();
}
public void removeUpdate(DocumentEvent e) {
newFilter();
}
});
}
}
Código PHP:
public class T_carrera extends AbstractTableModel{
private int colnum=2;
private int rownum;
private ResultSet rs;
private java.sql.Statement stmt;
private DBconnection mdbc;
private boolean DEBUG=false;
private String[] colNames={"N°","Carreras"};
private ArrayList<String[]> ResultSets;
public T_carrera(int area) {
mdbc= new DBconnection();
mdbc.init();
Connection conexion=mdbc.getMyConnection();
try{
stmt= conexion.createStatement();
}catch (SQLException ex) {
ex.printStackTrace();
}
rs=null;
System.out.println(area);
try{
rs=stmt.executeQuery("Select C.id_carrera, C.nombre_carrera, C.id_areas from carrera as C where C.id_areas='"+area+"'order by C.id_carrera");
}
catch(SQLException e){}
ResultSets=new ArrayList<String[]>();
try{
while(rs.next()){
String[] row={
rs.getString("id_carrera"),rs.getString("nombre_carrera")};
System.out.println(rs.getString("id_carrera"));
System.out.println(rs.getString("nombre_carrera"));
ResultSets.add(row);
}
}
catch(Exception e){
System.out.println("Problemas de Estructura de Tabla al cargar tabla");
}
}
public Object getValueAt(int rowindex, int columnindex) {
String[] row=ResultSets.get(rowindex);
return row[columnindex];
}
public int getRowCount() {
return ResultSets.size();
}
public int getColumnCount() {
return colnum;
}
public String getColumnName(int param) {
return colNames[param];
}
public boolean isCellEditable(int row, int col) {
return false;
}
public void setValueAt(Object value, int row, int col) {
if (DEBUG) {
System.out.println("Setting value at " + row + "," + col
+ " to " + value
+ " (an instance of "
+ value.getClass() + ")");
}
String[] data=ResultSets.get(row);
data[row]= (String) value;
fireTableCellUpdated(row, col);
if (DEBUG) {
System.out.println("New value of data:");
printDebugData();
}
}
private void printDebugData() {
int numRows = getRowCount();
int numCols = getColumnCount();
for (int i=0; i < numRows; i++) {
System.out.print(" row " + i + ":");
for (int j=0; j < numCols; j++) {
System.out.print(" " + ResultSets.get(i));
}
System.out.println();
}
System.out.println("--------------------------");
}
}
