Olá, fiz algumas alterações nesta classe , mas nao estou conseguindo colocar um botao ao lado no outro no rodapé. ![:frowning: :frowning:](//www.guj.com.br/images/emoji/twitter/frowning.png?v=5)
Se puderem me ajudar…obrigada a todos !!!
[code]package br.com.bradeseg.telas;
import java.awt.BorderLayout;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.imageio.ImageIO;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import br.com.bradeseg.recursos.Campos;
import br.com.bradeseg.util.Util;
public class ExibirLog extends JFrame {
/**
*
*/
private static final long serialVersionUID = 1L;
SimpleDateFormat sdfHora = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
private JFileList jFileList;
private JButton btnAbrir = new JButton( "Abrir" );
private JButton btnLimpar = new JButton( "Limpar" );
String dataHoraAtual= sdfHora.format(new Date());
public ExibirLog() {
setTitle( "Exibição Log" );
setSize(400,200 );
btnAbrir.setBounds(new Rectangle(350, 124, 120, 31));
btnLimpar.setBounds(new Rectangle(350, 124, 120, 31));
setResizable(false);
jFileList = new JFileList();
jFileList.listDirectoryFiles(new File("C:/TESTE/"));
add( jFileList, BorderLayout.CENTER );
add( btnAbrir, BorderLayout.EAST);
add( btnLimpar, BorderLayout.SOUTH);
add(new JScrollPane(jFileList));
//WORKSPACE_RAD/Importacao_Planilha/Logs
try {
setIconImage(ImageIO.read(getClass().getResource(Campos.IMG_ICON)));
} catch (IOException ioException) {
JOptionPane.showMessageDialog(null, ioException.getCause(),"Mensagem", JOptionPane.ERROR_MESSAGE);
}
btnLimpar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
File arquivoSelecionado = jFileList.getSelectedFile();
if ( arquivoSelecionado != null ) {
int response = JOptionPane.showConfirmDialog(null,"Deseja excluir o arquivo de log?", "Confirmação",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE);
if (response == JOptionPane.YES_OPTION) {
Util.removerArquivosPasta(arquivoSelecionado);
jFileList.listDirectoryFiles(new File("C:/TESTE/"));
JOptionPane.showMessageDialog(null, "Exclusão efetuada com sucesso!","Exclusão", JOptionPane.WARNING_MESSAGE);
}
}else{
JOptionPane.showMessageDialog(null, "Selecione um arquivo de log para exclusão","Mensagem", JOptionPane.WARNING_MESSAGE);
}
}
});
btnAbrir.addActionListener( new ActionListener() {
public void actionPerformed( ActionEvent e ) {
File arquivoSelecionado = jFileList.getSelectedFile();
if ( arquivoSelecionado != null ) {
BufferedReader br;
StringBuffer bufSaida = new StringBuffer();
try {
br = new BufferedReader(new FileReader(arquivoSelecionado.getAbsolutePath()));
String linha;
while( (linha = br.readLine()) != null ){
bufSaida.append(linha + "\n");
}
br.close();
} catch (FileNotFoundException e1) {
JOptionPane.showMessageDialog(null, "O arquivo especificado não foi encontrado", "Mensagem", JOptionPane.ERROR_MESSAGE);
} catch (IOException ex) {
JOptionPane.showMessageDialog(null, ex.getCause(), "Mensagem", JOptionPane.ERROR_MESSAGE);
}
JOptionPane.showMessageDialog(
null,
"Data: " + dataHoraAtual + "\n"
+"Arquivo selecionado: " + arquivoSelecionado.getName() + "\n"
+ "Caminho completo: " + arquivoSelecionado.getAbsolutePath()+ "\n"
+ "Causa: " + bufSaida.toString(),
"Log Selecionado", JOptionPane.WARNING_MESSAGE);
}else {
JOptionPane.showMessageDialog(null, "Selecione um arquivo de log","Mensagem", JOptionPane.WARNING_MESSAGE);
}
}
});
}
public static void main( String[] args ) {
new ExibirLog().setVisible( true );
}
} // @jve:decl-index=0:visual-constraint=“36,37”[/code]
[code]package br.com.bradeseg.telas;
import java.io.File;
import javax.swing.DefaultListCellRenderer;
import javax.swing.DefaultListModel;
import javax.swing.DefaultListSelectionModel;
import javax.swing.JList;
import javax.swing.ListSelectionModel;
public class JFileList extends JList {
/**
*
*/
private static final long serialVersionUID = 1L;
/**
* Construtor padrão.
*/
public JFileList() {
/*
* se quiser/precisar, implemente seu próprio modelo. no caso,
* estou usando um DefaultListModel.
*/
super( new DefaultListModel() );
// permite seleção única
setSelectionMode( ListSelectionModel.SINGLE_SELECTION );
}
/**
* Popula o modelo da lista com FileItems, que por sua vez estão
* relacionados aos arquivos do diretório passado por parâmetro.
*
* @param directory Diretório que contém os arquivos que devem ser
* mostrados.
*/
public void listDirectoryFiles( File directory ) {
// obtém o modelo
DefaultListModel model = ( DefaultListModel ) getModel();
// remove todos os elementos
model.removeAllElements();
/*
* itera pelo arquivo passado, desde que não seja null e que seja
* um diretório.
*/
if ( directory != null && directory.isDirectory() ) {
for ( File f : directory.listFiles() ) {
// se o arquivo do momento não for um diretório...
if ( !f.isDirectory() ) {
// cria um FileItem e insere no modelo
FileItem item = new FileItem( f );
model.addElement( item );
}
}
}
}
/**
* Obtém o arquivo selecionado.
*
* @return O arquivo selecionado da lista, null caso nenhum arquivo esteja
* selecionado.
*/
public File getSelectedFile() {
if ( getSelectedValue() != null ) {
return ( ( FileItem ) getSelectedValue() ).file;
} else {
return null;
}
}
/**
* Item de arquivo para ser exibido na lista.
*/
private class FileItem {
File file;
FileItem( File file ) {
this.file = file;
}
@Override
public String toString() {
return file.getName();
}
}
}[/code]