Извините, если это было отредактировано в другом месте, возможно, я просто ищу неправильные теги.Java Formatter append method in anon ActionListener
Я хочу создать файл журнала различных переменных с использованием анонимного внутреннего класса, реализующего ActionListener. Это будет прикреплено к JButton.
Использование Formatter дает мне именно то, что мне нужно в строке, но я хочу сохранить все предыдущие журналы этого события (я не забочусь о том, было ли это до или после последней записи).
После того, как я использовал различные методы для удара по стене, я обнаружил, что некоторые серфинга этого сайта и другие вы можете сделать это с помощью метода append в конструкторе с Formatter.
Возможно ли использовать добавление во внутреннем классе с помощью Formatter?
Если нет, можете ли вы предложить другого Java-писателя, который все равно удовлетворит мои потребности? Я все еще новичок, поэтому чем меньше, тем лучше.
Если это возможно во внутреннем классе и с форматированием без каких-либо дополнительных импортных/упаковок , пожалуйста, дайте нам подсказку или ссылку, и я продолжу поиск.
Я приложил небольшой компилируемый пример кода, который может помочь, если кто-то заинтересован в имея игру.
спасибо, weekendwarrior84
import java.awt.FlowLayout;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Formatter;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class TestProgram extends JFrame{
private FlowLayout lay;
public TestProgram(){
super("Sample Program");
lay = new FlowLayout();
setLayout(lay);
final JLabel label1 = new JLabel("Label One");
add(label1);
final TextField field1 = new TextField(8);
add(field1);
final JLabel label2 = new JLabel("Exception Label");
add(label2);
final JButton button1 = new JButton
("Log Data");
add(button1);
button1.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e){
if(button1.isSelected());
try{
Formatter fm = new Formatter("C:\\Test\\testlog.txt");
fm.format("%s%s%s%s", "Sample Value: ",label1.getText(),
" Sample Value2: ",field1.getText());
fm.close();
}
catch(Exception ee){
label2.setText("Make Sure Path exists, C:\\Test\\testlog.txt");
}
}
}
);
}
}
Основные
import javax.swing.JFrame;
public class TestMain{
public static void main (String[] args){
TestProgram ts = new TestProgram();
ts.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ts.setSize(1200,500);
ts.setVisible(true);
}
}
sheltem, Спасибо за ответ, мне удалось придумать ответ во время ожидания. Моя проблема заключалась в простой неопытности с java и другими авторами. – weekendwarrior84
То, что я выпустил с помощью форматирования, было так же легко передано как строковая переменная с помощью метода добавления файлов FileWriters. Я сейчас посмотрю на журнал, и после 8-часового периода я поставил свой ответ для потомков. – weekendwarrior84