123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- import java.awt.BorderLayout;
- import java.awt.event.KeyEvent;
- import java.awt.event.KeyListener;
- import java.io.BufferedReader;
- import java.io.DataInput;
- import java.io.DataInputStream;
- import java.io.DataOutputStream;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import javax.swing.JFrame;
- import javax.swing.JOptionPane;
- import javax.swing.JPanel;
- import lejos.pc.comm.NXTComm;
- import lejos.pc.comm.NXTCommException;
- import lejos.pc.comm.NXTCommFactory;
- import lejos.pc.comm.NXTInfo;
- public class Map extends JPanel {
- private ImageMap map;
- private SendThread sendthread;
-
- public Map (DataInputStream input, final DataOutputStream output) throws IOException {
- JFrame frame = new JFrame("Mapa MAC0318");
- sendthread = new SendThread(output);
- frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- frame.setLayout(new BorderLayout());
- this.map = new ImageMap();
- frame.add(this.map);
- frame.setSize(800, 800);
- frame.setVisible(true);
-
- frame.setFocusable(true);
- frame.requestFocusInWindow();
-
- frame.addKeyListener(new KeyListener() {
- @Override
- public void keyTyped(KeyEvent e) {
- }
- @Override
- public void keyReleased(KeyEvent e) {
-
- }
- @Override
- public void keyPressed(KeyEvent e) {
- char input = e.getKeyChar();
- if (input == '1') map.setVisual(0);
- else if (input == '2') map.setVisual(1);
- else if (input == '3') map.setVisual(2);
- else if (input == 'l') map.showLine();
- else if (input == 's') map.save();
- try {
- System.out.println(e.getKeyCode());
- switch(e.getKeyCode()) {
- case KeyEvent.VK_UP:
- output.write(SendThread.FORWARD);
- break;
- case KeyEvent.VK_DOWN:
- output.write(SendThread.BACKWARD);
- break;
- case KeyEvent.VK_LEFT:
- output.write(SendThread.LEFT);
- break;
- case KeyEvent.VK_RIGHT :
- output.write(SendThread.RIGHT);
- break;
- }
- output.flush();
- } catch (IOException e1) {
- System.out.println(22222);
- }
- }
- });
- String text = "1,2,3 - Change view mode.\n";
- text += "s - Save image.\n";
- text += "l - Show trace.\n";
- JOptionPane.showMessageDialog(null, text);
-
- int bytes_valiable = -1;
-
- while(true) {
- try {
- bytes_valiable = input.available();
- } catch (IOException e1) {
- // TODO Auto-generated catch block
- e1.printStackTrace();
- }
- if (bytes_valiable >= 0) {
- if (input.readByte() != '@') continue;
- int angle = input.readByte();
- float x = input.readFloat();
- int distance = input.readByte();
- float y = input.readFloat();
- System.out.println(x+" "+y);
- }
- }
- }
-
- public void addPoint(Point3D p) {
- map.addPoint(p);
- }
- public static void main(String[] args) throws NXTCommException, IOException {
- // NXTComm nxtComm = NXTCommFactory.createNXTComm(NXTCommFactory.USB);
- // NXTInfo[] nxtInfo = nxtComm.search("NXT8"); //find brick with NXT_ID by doing a Bluetooth inquiry
- // if (nxtInfo.length == 0) { // failed to find a brick with the ID
- // System.err.println("NO NXT found");
- // System.exit(1);
- // }
- // if (!nxtComm.open(nxtInfo[0])) { // the brick was found but a connection could not be establish
- // System.err.println("Failed to open NXT");
- // System.exit(1);
- // }
- //
- // DataInputStream input = new DataInputStream(nxtComm.getInputStream()); // open data input stream
- // DataOutputStream output = new DataOutputStream(nxtComm.getOutputStream()); // open data output stream
-
- // Map map = new Map(input, output);
-
- Map map = new Map(null, null);
- }
- }
|