diff --git a/TraceMarker/.classpath b/TraceMarker/.classpath new file mode 100644 index 0000000..91ee9a5 --- /dev/null +++ b/TraceMarker/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/TraceMarker/.gitignore b/TraceMarker/.gitignore new file mode 100644 index 0000000..ae3c172 --- /dev/null +++ b/TraceMarker/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/TraceMarker/.project b/TraceMarker/.project new file mode 100644 index 0000000..5d8e097 --- /dev/null +++ b/TraceMarker/.project @@ -0,0 +1,17 @@ + + + TraceMarker + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/TraceMarker/.settings/org.eclipse.jdt.core.prefs b/TraceMarker/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..838bd9d --- /dev/null +++ b/TraceMarker/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,11 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.7 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.7 diff --git a/TraceMarker/src/Main.java b/TraceMarker/src/Main.java new file mode 100644 index 0000000..40e8ac9 --- /dev/null +++ b/TraceMarker/src/Main.java @@ -0,0 +1,143 @@ +import java.awt.GridLayout; +import java.awt.event.MouseEvent; +import java.awt.event.MouseListener; +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; +import java.util.ArrayList; + +import javax.swing.JButton; +import javax.swing.JFileChooser; +import javax.swing.JFrame; +import javax.swing.JLabel; + + +public class Main { + + public static void main(String[] args) { + final ArrayList marks = new ArrayList(); + final JFrame frame = new JFrame(); + frame.setResizable(false); + frame.setTitle("Trace Marker"); + frame.setSize(300, 215); + frame.setLayout(null); + + JButton markButton = new JButton("Mark"); + markButton.setBounds(25, 20, 100, 25); + + final JLabel time = new JLabel(); + time.setBounds(150, 20, 125, 25); + + JButton clearButton = new JButton("Clear"); + clearButton.setBounds(25, 60, 100, 25); + + JButton saveButton = new JButton("Save As..."); + saveButton.setBounds(25, 120, 100, 25); + + JButton okButton = new JButton("OK"); + okButton.setBounds(150, 120, 100, 25); + + frame.add(time); + frame.add(markButton); + frame.add(clearButton); + frame.add(saveButton); + frame.add(okButton); + + markButton.addMouseListener(new MouseListener() { + @Override + public void mouseClicked(MouseEvent e) { + Long curTime = System.nanoTime(); + time.setText(Long.toString(curTime)); + marks.add(curTime); + } + @Override + public void mouseEntered(MouseEvent e) { + } + @Override + public void mouseExited(MouseEvent e) { + } + @Override + public void mousePressed(MouseEvent e) { + } + @Override + public void mouseReleased(MouseEvent e) { + } + }); + + clearButton.addMouseListener(new MouseListener() { + @Override + public void mouseClicked(MouseEvent e) { + time.setText(""); + marks.clear();; + } + @Override + public void mouseEntered(MouseEvent e) { + } + @Override + public void mouseExited(MouseEvent e) { + } + @Override + public void mousePressed(MouseEvent e) { + } + @Override + public void mouseReleased(MouseEvent e) { + } + }); + + saveButton.addMouseListener(new MouseListener() { + @Override + public void mouseClicked(MouseEvent e) { + JFileChooser filechooser = new JFileChooser(); + + int selected = filechooser.showSaveDialog(frame); + if (selected == JFileChooser.APPROVE_OPTION){ + File file = filechooser.getSelectedFile(); + try { + BufferedWriter br = new BufferedWriter(new FileWriter(file)); + for (int n = 0; n < marks.size(); n++) { + br.write(Long.toString(marks.get(n))); + br.newLine(); + } + br.close(); + } catch (IOException ex) { + } + } + } + @Override + public void mouseEntered(MouseEvent e) { + } + @Override + public void mouseExited(MouseEvent e) { + } + @Override + public void mousePressed(MouseEvent e) { + } + @Override + public void mouseReleased(MouseEvent e) { + } + }); + + okButton.addMouseListener(new MouseListener() { + @Override + public void mouseClicked(MouseEvent e) { + frame.dispose(); + } + @Override + public void mouseEntered(MouseEvent e) { + } + @Override + public void mouseExited(MouseEvent e) { + } + @Override + public void mousePressed(MouseEvent e) { + } + @Override + public void mouseReleased(MouseEvent e) { + } + }); + + frame.setVisible(true); + } + +}