When I run the following code in the console it shows me the following in the console: Window [Java Application] C: \ Program Files \ Java \ jre1.8.0_111 \ bin \ java.exe You know why this comes out: 'c?
package formularios;
import java.awt.Color;
import java.awt.EventQueue;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;
public class Window {
public static void main(String[] args){
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Window window = new Window();
window.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
public Window() {
// Crear un JFrame y un JTable
JFrame frame = new JFrame();
JTable table = new JTable();
// Crear la tabla y los nombres de las columnas
Object[] columns = {"Id","First Name","Last Name","Age"};
DefaultTableModel model = new DefaultTableModel();
model.setColumnIdentifiers(columns);
// Establecer el modelo de la tablaa
table.setModel(model);
// Cambiar el color de fondo de la tabla, el tamaño
// de la letra y el color y la altura de las filas
table.setBackground(Color.LIGHT_GRAY);
table.setForeground(Color.black);
Font font = new Font("",1,22);
table.setFont(font);
table.setRowHeight(30);
// Crear JTextField
JTextField txtTitulo = new JTextField();
JTextField txtAutor = new JTextField();
JTextField txtAno = new JTextField();
JTextField txtGeneroMateria = new JTextField();
// Crear botones
JButton btnAdd = new JButton("Agregar");
JButton btnDelete = new JButton("Borrar");
JButton btnUpdate = new JButton("Actualizar");
txtTitulo.setBounds(20, 220, 100, 25);
txtAutor.setBounds(20, 250, 100, 25);
txtAno.setBounds(20, 280, 100, 25);
txtGeneroMateria.setBounds(20, 310, 100, 25);
btnAdd.setBounds(150, 220, 100, 25);
btnUpdate.setBounds(150, 265, 100, 25);
btnDelete.setBounds(150, 310, 100, 25);
// Crear un panel de dezlizamiento
JScrollPane pane = new JScrollPane(table);
pane.setBounds(0, 0, 880, 200);
frame.getContentPane().setLayout(null);
frame.getContentPane().add(pane);
// Agregar campos de texto
frame.getContentPane().add(txtTitulo);
frame.getContentPane().add(txtAutor);
frame.getContentPane().add(txtAno);
frame.getContentPane().add(txtGeneroMateria);
// Agregar botones a la ventana
frame.getContentPane().add(btnAdd);
frame.getContentPane().add(btnDelete);
frame.getContentPane().add(btnUpdate);
// Crear una lista de objetos
Object[] row = new Object[4];
// Accion de agregar una fila a la tabla
btnAdd.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
row[0] = txtTitulo.getText();
row[1] = txtAutor.getText();
row[2] = txtAno.getText();
row[3] = txtGeneroMateria.getText();
// Agregar una fila a la tabla
model.addRow(row);
}
});
// boton eliminar fila
btnDelete.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
// i es el valor de la fila seleccionada
int i = table.getSelectedRow();
if(i >= 0){
// Eliminar una fila de la tabla
model.removeRow(i);
}
else{
System.out.println("Error al eliminar");
}
}
});
// Obtener los datos de la fila seleccionada
table.addMouseListener(new MouseAdapter(){
@Override
public void mouseClicked(MouseEvent e){
// i = the index of the selected row
int i = table.getSelectedRow();
txtTitulo.setText(model.getValueAt(i, 0).toString());
txtAutor.setText(model.getValueAt(i, 1).toString());
txtAno.setText(model.getValueAt(i, 2).toString());
txtGeneroMateria.setText(model.getValueAt(i, 3).toString());
}
});
// Actualizar fila
btnUpdate.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
// i = the index of the selected row
int i = table.getSelectedRow();
if(i >= 0)
{
model.setValueAt(txtTitulo.getText(), i, 0);
model.setValueAt(txtAutor.getText(), i, 1);
model.setValueAt(txtAno.getText(), i, 2);
model.setValueAt(txtGeneroMateria.getText(), i, 3);
}
else{
System.out.println("Error al actualizar");
}
}
});
frame.setSize(900,400);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void setVisible(boolean b) {
// TODO Auto-generated method stub
}
}