Java - Por favor, ayudenme que ando desesperado :(

   
Vista:

Por favor, ayudenme que ando desesperado :(

Publicado por Juan (2 intervenciones) el 22/05/2013 02:13:09
Hola amigos, como verán estoy desesperado por que tengo que aprender JAVA en tiempo record (para mi) y esta muy complicado.

Voy al grano, tengo que hacer un programa que grafique 4 señales provenientes del puerto USB (utilizando zigBee, se supone que son datos int pero todavía no se como sea la estructura).
Este programa debe de mostrar una cuadricula, en tiempo real y con ciertos requerimentos, panneable, zoomable, automatic scale y activar/desactivar señales. Digamos que una combinación de las gráficas del Windows Manager y las de Matlab.

Por ahora estoy estudiando todo el día haciendo otros proyectos más sencillos y me cuesta mucho trabajo entender el lenguaje, apenas y pude poner una imagen en el botón. Quiero contar los clics en el botón y ahora en una parte puedo leer el valor de la variable "times" pero no modificarlo para que se actualice en el label (dejo el código para que lo chequen si tienen tiempo, es un programa sencillo).

Básicamente pido dos favorsotes, el primero y sencillo es saber por que no puedo modificar la variable times al hacer clic, el segundo y más complicado es si alguien tiene un programa graficador que haga o que se acerque a hacer lo que necesito.

Necesito avances en los siguientes días, por eso me urge tanto, millones de gracias desde ya, saludos.

// myFirstWindow3.java

import java.awt.*;

import javax.imageio.ImageIO;
import javax.swing.*;

import java.awt.event.*;
import java.io.IOException;

public class Main
{
public static void main (String[] args)
{
new myWindow();
}
}

class myWindow
{
// private static final boolean JButton = false;

public myWindow()
{
try {

// create a window frame f and menu
JFrame f = new JFrame ("MyJFrame");
JMenuBar menuBar = new JMenuBar();
JMenu fileMenu = new JMenu();
JMenu fileMenu2 = new JMenu();
final JMenuItem exitMenuItem = new JMenuItem();
final JMenuItem MenuItem2 = new JMenuItem();


// getContentPane() returns the content pane reference
// setLayout(new FlowLayout()) defines the
// Layout Manager of the ContentPane
f.getContentPane().setLayout (new FlowLayout());

// Create menu items
fileMenu.setMnemonic('F');
fileMenu.setText("File");
exitMenuItem.setMnemonic('X');
exitMenuItem.setText("Exit");
fileMenu2.setText("?");
MenuItem2.setMnemonic('A');
MenuItem2.setText("About");


// Add menu items to menu bar
f.setJMenuBar(menuBar);
menuBar.add(fileMenu);
fileMenu.add(exitMenuItem);
menuBar.add(fileMenu2);
fileMenu2.add(MenuItem2);


int times = 0;

JLabel label = new JLabel("Times button has been pushed: "+times );
Container content = f.getContentPane();
content.setLayout(new FlowLayout());
content.add(label);

// Popup About
MenuItem2.addActionListener(
new java.awt.event.ActionListener()
{
public void actionPerformed(ActionEvent e)
{
JOptionPane.showMessageDialog(MenuItem2, "JAVA Swing Exercise 1\n"
+"(c) Juan Carlos Barradas");
}
});

// Yes No Popup

exitMenuItem.addActionListener(
new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {

JOptionPane optionPane = new JOptionPane("Really exit program?",
JOptionPane.QUESTION_MESSAGE,
JOptionPane.YES_NO_OPTION);
JDialog dialog = optionPane.createDialog(null, "Manual Creation");
dialog.setVisible(true);

int exitMenuItem = ((Integer)optionPane.getValue()).intValue();

switch (exitMenuItem) {

case JOptionPane.NO_OPTION:
break;

case JOptionPane.YES_OPTION:
exitMenuItem_actionPerformed(e);

}
}
});


// define JButton

// ImageIcon iconButton = createImageIcon("/images/HEBig.bmp");


String textButton = "Push me";
// Icon iconButton = new ImageIcon ("/images/HEBig.bmp");

final JButton button = new JButton ();

try {
Image iconButton = ImageIO.read(getClass().getResource("/images/HESmall.png"));
button.setIcon(new ImageIcon(iconButton));
button.setText(textButton);
} catch (IOException ex) {
}


// get action from Button


button.setActionCommand("click");

button.addActionListener(new ActionListener() {
int times2 = 0;
public void actionPerformed(ActionEvent ev) {

System.out.println("ActionEvent!"+times2);

times2++;

return;

}

});


// add button to JFrame

f.getContentPane().add (button);


// button.getAction();
// button.setIcon(iconButton);

// set size of JFrame width 600 pixel, height 300 pixel
f.setSize (600,300);
f.setTitle("First JAVA Assignment");
f.setIconImage(Toolkit.getDefaultToolkit().getImage(Main.class.getResource("/images/HESmall.png")));

// position window in screen center
// get screen resolution
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
// set position
f.setLocation((d.width - f.getSize().width) / 2,
(d.height - f.getSize().height) / 2);

// show JFrame
f.setVisible(true);
}

catch (Throwable exception) {
System.err.println("\nexception occurred in main()");
exception.printStackTrace(System.out);
}
}




private ImageIcon createImageIcon(String string) {
// TODO Auto-generated method stub
return null;
}




/** Action handler for Exit menu */
void exitMenuItem_actionPerformed(ActionEvent e) {
try {
System.out.println("\n\t\t*** Exit ***\n");
System.exit(0);
}
catch (Throwable te) {
System.out.println("Exception by Exit = " + te);
}
return;
}

}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Por favor, ayudenme que ando desesperado :(

Publicado por Juan (2 intervenciones) el 01/06/2013 21:06:56
Bueno, parece que nadie notó mi error (o nadie decidió ayudarme), como sabía desde un principio era algo muy sencillo, simplemente sacar la variable "times" y ponerla justo arriba de myWindow, es decir:

int times = 0;
public myWindow()
{
try {

Espero que a alguien le sirva esta lección, en cuanto al graficador cuando tenga avances los pondré, quizás a alguien le sirva también.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar