public class TelaCadAutor extends JFrame {
JLabel lblAutor, lblCodAutor, lblCodigo;
JTextField txtAutor;
JTable tblAutor;
JButton bttCadastrar, bttLimpar, bttExcluir,bttAlterar;
JPanel pnPrincipal, pnTabela, pnBotoes, pnCampos;
DefaultTableModel modelo;
JScrollPane scrAutor;
String nome;
int codigo;
public TelaCadAutor(){
super("Cadastrar Autor");
setBounds(480,100,490,600);
setLayout(new FlowLayout());
lblAutor=new JLabel("Autor:");
lblCodAutor=new JLabel("Código:");
lblCodigo= new JLabel();
txtAutor=new JTextField();
tblAutor=new JTable();
tblAutor.setMinimumSize(new java.awt.Dimension(200, 0));
bttCadastrar=new JButton("Cadastrar");
bttCadastrar.addActionListener(new ActionListener(){
public void actionPerformed (ActionEvent e){
modelo.Autor autor=new modelo.Autor();
autor.setNome(txtAutor.getText().trim());
PerAutor perautor=new PerAutor();
perautor.gravar(autor);
gravar();
limpar();
}
});
bttLimpar=new JButton("Limpar");
bttLimpar.addActionListener(new ActionListener(){
public void actionPerformed (ActionEvent e){
limpar();
}
});
bttExcluir=new JButton("Excluir");
bttExcluir.addActionListener(new ActionListener(){
public void actionPerformed (ActionEvent e){
PerAutor perautor=new PerAutor();
perautor.excluir(codigo);
((DefaultTableModel) tblAutor.getModel()).removeRow(tblAutor.getSelectedRow());
DefaultTableModel modelo=(DefaultTableModel) tblAutor.getModel();
tblAutor.setModel(modelo);
limpar();
}
});
bttAlterar=new JButton("Alterar");
bttAlterar.addActionListener(new ActionListener(){
public void actionPerformed (ActionEvent e){
PerAutor perautor=new PerAutor();
nome=txtAutor.getText();
perautor.alterar(nome,codigo,txtAutor);
String[] linhas=new String[2];
linhas[0]=String.valueOf(codigo);
linhas[1]=nome;
((DefaultTableModel) tblAutor.getModel()).removeRow(tblAutor.getSelectedRow());
DefaultTableModel modelo=(DefaultTableModel) tblAutor.getModel();
modelo.addRow(linhas);
tblAutor.setModel(modelo);
limpar();
}
});
pnPrincipal=new JPanel();
pnTabela=new JPanel();
pnBotoes=new JPanel();
String[] titulo= new String[2];
titulo[0]="Código";
titulo[1]="Autor";
modelo= new DefaultTableModel(titulo,0);
tblAutor= new JTable (modelo);
scrAutor= new JScrollPane (tblAutor);
tblAutor.addMouseListener(new MouseListener(){
public void mouseClicked (MouseEvent e){
int selecionado = tblAutor.getSelectedRow();
txtAutor.setText(String.valueOf(tblAutor.getValueAt(selecionado,1)));
lblCodigo.setText((String) tblAutor.getValueAt(selecionado,0));
codigo=Integer.parseInt(lblCodigo.getText());
nome=txtAutor.getText();
}
public void mousePressed(MouseEvent e) {}
public void mouseReleased(MouseEvent e) {}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
});
txtAutor.addMouseListener(new MouseListener(){
public void mouseClicked (MouseEvent e){
String sql="select MAX(codigo) from Autores";
try{
Connection conn=Conexao.getConexao();
PreparedStatement pst=conn.prepareStatement(sql);
ResultSet rs=pst.executeQuery();
int max = 0;
while(rs.next()){
max=Integer.parseInt(rs.getString(1));
}
lblCodigo.setText(String.valueOf(max+1));
}catch(Exception j){
System.out.println("Erro ao contar livro "+j.toString());
}
}
public void mousePressed(MouseEvent e) {}
public void mouseReleased(MouseEvent e) {}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
});
pnCampos=new JPanel();
pnTabela= new JPanel ();
pnTabela.setSize(200,200);
pnTabela.setLayout(new GridLayout(1,1));
scrAutor.setSize(300, 200);
pnTabela.add(scrAutor);
pnBotoes.setLayout(new GridLayout(1,4));
pnBotoes.add(bttCadastrar);
pnBotoes.add(bttExcluir);
pnBotoes.add(bttAlterar);
pnBotoes.add(bttLimpar);
pnCampos.setLayout(new GridLayout(2,2));
pnCampos.add(lblAutor);
pnCampos.add(txtAutor);
pnCampos.add(lblCodAutor);
pnCampos.add(lblCodigo);
pnPrincipal.setLayout(new GridLayout(3,1));
pnPrincipal.add(pnCampos);
pnPrincipal.add(pnBotoes);
add(pnPrincipal);
add(pnTabela);
listar();
// setarautores();
}
public void gravar(){
modelo= (DefaultTableModel) tblAutor.getModel();
setarautores();
String[] linha=new String[2];
linha[0]=lblCodigo.getText().trim();
linha[1]=txtAutor.getText().trim();
modelo.addRow(linha);
tblAutor.setModel(modelo);
}
public void limpar(){
txtAutor.setText(null);
lblCodigo.setText(null);
}
public final void listar(){
PerAutor perautor=new PerAutor();
ArrayList<Autor> autores=new ArrayList<Autor>();
autores=perautor.listar();
DefaultTableModel model=(DefaultTableModel) tblAutor.getModel();
for(int i=0;i<autores.size();i++){
String[] linhas=new String[2];
linhas[0]=String.valueOf(autores.get(i).getCodigo());
linhas[1]=autores.get(i).getNome();
model.addRow(linhas);
}
tblAutor.setModel(model);
}
public final void setarautores(){
String sql="select MAX(codigo) from Autores";
try{
Connection conn=Conexao.getConexao();
PreparedStatement pst=conn.prepareStatement(sql);
ResultSet rs=pst.executeQuery();
int max = 0;
while(rs.next()){
max=Integer.parseInt(rs.getString(1));
}
lblCodigo.setText(String.valueOf(max));
}catch(Exception e){
System.out.println("Erro ao contar livro "+e.toString());
}
}
public static void main(String args[]){
TelaCadAutor telaCadAutor= new TelaCadAutor();
telaCadAutor.setDefaultCloseOperation(HIDE_ON_CLOSE);
telaCadAutor.setVisible(true);
}
}
Redimensionar JTable
5 Respostas
Não existe essa de “não ser capaz”…
Dá uma olhadinha no meu nick e aprenda a usar um tableModel descente!
outra coisa[…] existem vários posts aqui sobre isso… pq nao da uma procurada?
abraços
Eu procurei e não consegui fazer no meu, fiz o que dizia e dava errado. E SIM, EU SOU INCAPAZ, ja tentei aprender sobre, mas como é trabalho de escola mesmo, o DTM já me alivia já.
A tela que eu quero diminuir a JTable.
Se você é incapaz, é incapaz também de redimensionar o JTable.
Sorry, infelizmente o mundo é dos capazes.
Agora, se quiser fazer um TableModel direito, vai postando o que você tentou aqui e perguntando, que te explicamos como funciona. Pode escrever que erros deu, e nós explicamos o pq.
Consegui redimensionar a JTable já, grato. E com relação ao Model, bem, eu já vi que vou ter que encara-lo de frente, já peguei algumas coisas pra estudar, qualquer coisa eu volto aqui. Obrigado novamente.