Eventos com JToggleButton

1 resposta
brunoacpc

E ai pessoal…

Precisso criar uma aplicação que tenho um teclado numerico que vai de 1 ate 60. Entao estou epensando em usar JToggleButton para fazer.

Quando o usuario clicar no JToggleButton qeria que pegasse seu numero e armazena-se num array.

O problema é que nao sei qual evento usar com o JToggleButton e nem como trabalhar com eventos com varios botoes.

Se alguem puder me dar uma dica ou um exemplo eu agradeco.

valeu

1 Resposta

dsfextreme

brunoacpc:
E ai pessoal…

Precisso criar uma aplicação que tenho um teclado numerico que vai de 1 ate 60. Entao estou epensando em usar JToggleButton para fazer.

Quando o usuario clicar no JToggleButton qeria que pegasse seu numero e armazena-se num array.

O problema é que nao sei qual evento usar com o JToggleButton e nem como trabalhar com eventos com varios botoes.

Se alguem puder me dar uma dica ou um exemplo eu agradeco.

valeu

Segue ae um exemplo…um abraço !

import java.awt.Color;

import java.awt.Component;

import java.awt.Container;

import java.awt.Graphics;

import java.awt.GridLayout;

import java.awt.Polygon;
import javax.swing.Icon;

import javax.swing.JFrame;

import javax.swing.JToggleButton;
public class ToggleTest {

static class TriangleIcon implements Icon {

String name;
static class State {
  public static final int NORMAL = 0;

  public static final int PRESSED = 1;

  public static final int ROLLOVER = 2;

  public static final int SELECTED = 3;

  private State() {
  }
}

int state;

Color color;

public TriangleIcon(Color c, int state) {
  color = c;
  this.state = state;
}

public int getIconWidth() {
  return 20;
}

public int getIconHeight() {
  return 20;
}

public void paintIcon(Component c, Graphics g, int x, int y) {
  g.setColor(color);
  Polygon p = new Polygon();
  if (state == State.NORMAL) {
    p.addPoint(x + (getIconWidth() / 2), y);
    p.addPoint(x, y + getIconHeight() - 1);
    p.addPoint(x + getIconWidth() - 1, y + getIconHeight() - 1);
  } else if (state == State.PRESSED) {
    p.addPoint(x, y);
    p.addPoint(x + getIconWidth() - 1, y);
    p.addPoint(x + (getIconWidth() / 2), y + getIconHeight() - 1);
  } else if (state == State.SELECTED) {
    p.addPoint(x + getIconWidth() - 1, y);
    p.addPoint(x + getIconWidth() - 1, y + getIconHeight() - 1);
    p.addPoint(x, y + (getIconHeight() / 2));
  } else {
    p.addPoint(x, y);
    p.addPoint(x, y + getIconHeight() - 1);
    p.addPoint(x + getIconWidth() - 1, y + (getIconHeight() / 2));
  }
  g.fillPolygon(p);
}

}

public static void main(String args[]) {

JFrame frame = new JFrame();

Container contentPane = frame.getContentPane();    contentPane.setLayout(new GridLayout(0, 1));

Icon normalIcon = new TriangleIcon(Color.red, TriangleIcon.State.NORMAL);

Icon pressedIcon = new TriangleIcon(Color.red,

TriangleIcon.State.PRESSED);

Icon selectedIcon = new TriangleIcon(Color.red,

TriangleIcon.State.SELECTED);

Icon rolloverIcon = new TriangleIcon(Color.red,

TriangleIcon.State.ROLLOVER);

JToggleButton b = new JToggleButton(Initially UnSelected);

contentPane.add(b);

b = new JToggleButton(Initially Selected, true);

contentPane.add(b);

b = new JToggleButton(normalIcon);

b.setPressedIcon(pressedIcon);

b.setSelectedIcon(selectedIcon);

b.setRolloverIcon(rolloverIcon);

b.setRolloverEnabled(true);

contentPane.add(b);

frame.setSize(300, 150);

frame.show();

}

}

:lol:

Criado 29 de março de 2006
Ultima resposta 30 de mar. de 2006
Respostas 1
Participantes 2