Oi,
HELP! urgente…
Tá muito apurado esse meu trabalho, mas agora que fiz do jeito que vc me falou já tenho o triangulo e uma versão v-zero, mas preciso que o triangulo fica contido dentro da tareadesenho2 (TextArea)
Pode ajudar?
import javax.swing.*;
import javax.swing.border.Border;
import java.beans.*;
import java.awt.*;
import java.awt.event.*;
import java.io.Serializable;
public class JogoCoal1 extends JFrame
implements ActionListener, WindowListener, Serializable {
private static final long serialVersionUID = 1L;
private JMenuBar barraMenu;
private JMenu menuJogo;
private JMenuItem itSobre;
private JMenuItem itConfigs;
private JMenuItem itEncerrar;
private JLabel lpreconfig = new JLabel("Pré-configurações");
String sdescr = "";
private JButton bgerconfig = new JButton ("Gerar Configurações Iniciais");
private JLabel lclickjog = new JLabel("Click em cada jogador para definir a Área de Atuação no Triângulo");
private JButton bjogador1;
private JButton bjogador2;
private JButton bjogador3;
// lembrar de por drawRect, drawString para cada jogador e cor no retangulo
private JLabel lformacord = new JLabel("Opções de Acordo: ");
private JLabel ljog12 = new JLabel("Jogador 1 com Jogador 2: ");
private JLabel lregimput1 = new JLabel("Registro de Imputações: ");
private JLabel lcoord_12 = new JLabel("Enviar posição para o jogador 1");
// Campo default não-editável
private JTextField tpos12_X = new JTextField(5);
// Combobox para jogador 1
private JComboBox listaA;
private String opcoes12_Y[]= {"0", "1", "2", "3", "4", "5", "6"};
// Campo para o valor calculado
private JTextField tpos12_Z = new JTextField(5);
private JLabel lcoord_21 = new JLabel("Enviar posição para o jogador 2");
// Combobox para jogador 2
private JComboBox listaB;
private String opcoes21_X[]= {"1", "2", "3", "4", "5", "6", "7"};
// Campo default não-editável
private JTextField tpos21_Y = new JTextField(5);
// Campo para o valor calculado
private JTextField tpos21_Z = new JTextField(5);
private JLabel ljog13 = new JLabel("Jogador 1 com Jogador 3: ");
private JLabel lregimput2 = new JLabel("Registro de Imputações: ");
private JLabel lcoord_13 = new JLabel("Enviar posição para o jogador 1");
// Campo default não-editável
private JTextField tpos13_X = new JTextField(5);
// Combobox para jogador 1 de novo
private JComboBox listaC;
private String opcoes13_Y[]= {"0","1", "2", "3", "4", "5", "6"};
// Campo para o valor calculado
private JTextField tpos13_Z = new JTextField(5);
private JLabel lcoord_31 = new JLabel("Enviar posição para o jogador 3");
// Combobox para jogador 3 de novo
private JComboBox listaD;
private String opcoes13_X[]= {"1", "2", "3", "4", "5", "6", "7"};
// Campo para o valor calculado
private JTextField tpos31_Y = new JTextField(5);
// Campo default não-editável
private JTextField tpos31_Z = new JTextField(5);
private JLabel ljog23 = new JLabel("Jogador 2 com Jogador 3: ");
private JLabel lregimput3 = new JLabel("Registro de Imputações: ");
private JLabel lcoord_23 = new JLabel("Enviar posição para o jogador 2");
// Combobox para jogador 2 de novo
private JComboBox listaE;
private String opcoes23_X[]= {"1", "2", "3", "4", "5", "6", "7"};
// Campo default não-editável
private JTextField tpos23_Y = new JTextField(5);
// Campo para o valor calculado
private JTextField tpos23_Z = new JTextField(5);
private JLabel lcoord_32 = new JLabel("Enviar posição para o jogador 3");
// Campo para o valor calculado
private JTextField tpos32_X = new JTextField(5);
// Combobox para jogador 3 de novo
private JComboBox listaF;
private String opcoes32_Y[]= {"0" , "1" , "2", "3", "4", "5", "6"};
// Campo default não-editável
private JTextField tpos32_Z = new JTextField(5);
private JLabel lhistorico = new JLabel("Histórico de Jogadas");
private JLabel ltriang_1 = new JLabel("1");
private JLabel ltriang_2 = new JLabel("2");
private JLabel ltriang_3 = new JLabel("3");
private JLabel lvertice1 = new JLabel("(1, 6, 1)");
private JLabel lvertice2 = new JLabel("(1, 0, 7)");
private JLabel lvertice3 = new JLabel("(7, 0, 1)");
private JLabel limput;
private JLabel ldesenho;
private JTextArea tareadesenho2;
private Border borda, borda2;
JPanel painel = new JPanel();
JPanel p1 = new JPanel();
JPanel p2 = new JPanel();
JPanel p3 = new JPanel();
JPanel p4 = new JPanel();
JPanel p5 = new JPanel();
JPanel p6 = new JPanel();
JPanel p7 = new JPanel();
JPanel p8 = new JPanel();
JPanel p9 = new JPanel();
JPanel p10 = new JPanel();
JPanel p11 = new JPanel(new FlowLayout(FlowLayout.CENTER));
JPanel p12 = new JPanel();
JPanel p13 = new JPanel();
JPanel p15 = new JPanel(new BorderLayout());
JPanel p21 = new JPanel(new BorderLayout());
public JogoCoal1(String JogoCoal1){
super(JogoCoal1);
// Barra de Menu
barraMenu = new JMenuBar();
menuJogo = new JMenu("Jogo");
menuJogo.setMnemonic('J');
itSobre = new JMenuItem("Sobre...");
itSobre.setMnemonic('S');
setJMenuBar(barraMenu);
itSobre.addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent e)
{
JOptionPane.showMessageDialog(JogoCoal1.this,
"É um jogo baseado num triângulo equilátero levando-se em consideração\nos critérios de conjunto vazio e superaditividade identificados no\nconceito de solução Core",
"Sobre...", JOptionPane.PLAIN_MESSAGE);
}
}
);
menuJogo.add(itSobre);
itConfigs = new JMenuItem("Gerar Configurações Iniciais");
itConfigs.setMnemonic('G');
itConfigs.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
}
);
menuJogo.add(itConfigs);
barraMenu.add(menuJogo);
itEncerrar = new JMenuItem("Sair do Jogo");
itEncerrar.setMnemonic('r');
itEncerrar.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
}
);
menuJogo.add(itEncerrar);
barraMenu.add(menuJogo);
sdescr += "Três empresas representadas pelos jogadores Arthus, Yan e Chris estão em negociação para juntas implementarem" +
"\num projeto que trará benefícios comuns aos três participantes. As três empresas possuirão oito possíveis " +
"\nresultados. Tem-se a indicação de que uma negociação sem jogadores não gera ganho e que sozinhos eles não " +
"\nsão capazes de implementar o projeto. A solução escolhida para o jogo possui as características definidas " +
"\npor von Neumann e Morgenstern características essas descritas nos axiomas de conjunto vazio e de superaditividade";
Icon bug1 = new ImageIcon("bug1.gif");
bjogador1 = new JButton("<<< Jogador Arthus >>>", bug1);
bjogador1.setHorizontalTextPosition(SwingConstants.CENTER);
bjogador1.setVerticalTextPosition(SwingConstants.BOTTOM);
bjogador1.setRolloverIcon(bug1);
bjogador1.addActionListener(this);
Icon bug2 = new ImageIcon("bug2.gif");
bjogador2 = new JButton("<<< Jogador Yan >>>", bug2);
bjogador2.setHorizontalTextPosition(SwingConstants.CENTER);
bjogador2.setVerticalTextPosition(SwingConstants.BOTTOM);
bjogador2.setRolloverIcon(bug2);
bjogador2.addActionListener(this);
Icon bug3 = new ImageIcon("bug1.gif");
bjogador3 = new JButton("<<< Jogador Chris >>>", bug3);
bjogador3.setHorizontalTextPosition(SwingConstants.CENTER);
bjogador3.setVerticalTextPosition(SwingConstants.BOTTOM);
bjogador3.setRolloverIcon(bug3);
bjogador3.addActionListener(this);
/* lcoord_12.setAlignmentX(JComponent.CENTER_ALIGNMENT);
lista1 = new JComboBox(opcoes1);
lista1.setMaximumRowCount(7);
lista1.addActionListener(this);*/
tareadesenho2 = new JTextArea(48, 30);
tareadesenho2.setEditable(false);
borda2 = BorderFactory.createLineBorder(Color.blue);
tareadesenho2.setBorder(borda2);
tareadesenho2.setLineWrap(true);
tareadesenho2.setEnabled(false);
p5.setLayout(new BoxLayout(p5, BoxLayout.Y_AXIS));
p5.add(tareadesenho2);
p21.add(p5, "West");
// define os gerenciadores de layout de cada panel
JPanel jmain = new JPanel(); // Principal que contem todos
jmain.setBackground(Color.LIGHT_GRAY);
jmain.setLayout(new BorderLayout());
p11.add(bjogador1);
p11.add(bjogador2);
p11.add(bjogador3);
p15.add(p11);
jmain.add(p15, "North");
jmain.add(p21, "Center");
// jmain.add(p15, "South");
setContentPane(jmain);
setVisible(true);
setSize(650, 650);
}
public void paint(Graphics g) {
super.paint(g);
// Descobre a metade horizontal e a metade vertical
int meioHor = 195;
int meioVer = 235;
// Desenha o triangulo na parte inferior da janela da JTextArea
g.setColor(Color.red); // lado esquerdo
g.drawLine(meioHor, meioVer, 30, 471 - 30);
g.setColor(Color.black);
g.setColor(Color.green);
g.drawLine(30, 471 - 30, 390 - 30, 471 - 30);// base do triangulo
g.setColor(Color.black);
g.setColor(Color.blue); // lado direito
g.drawLine(meioHor, meioVer, 390 - 30, 471 - 30);
g.setColor(Color.black);
repaint();
}
public void actionPerformed(ActionEvent event) {
Object e = event.getSource();
if(e == bjogador1)
bjogador1.setBorder(BorderFactory.createLineBorder(Color.red));
if(e == bjogador2)
bjogador2.setBorder(BorderFactory.createLineBorder(Color.blue));
if(e == bjogador3)
bjogador3.setBorder(BorderFactory.createLineBorder(Color.green));
}
public void windowActivated(WindowEvent ev) {}
public void windowClosed(WindowEvent ev) {}
public void windowClosing(WindowEvent ev) {}
public void windowDeactivated(WindowEvent ev) {}
public void windowDeiconified(WindowEvent ev) {}
public void windowIconified(WindowEvent ev) {}
public void windowOpened(WindowEvent ev) {}
public static void main(String args[])
{
JogoCoal1 app = new JogoCoal1("Jogo Coalizacional entre Três Empresas!");
app.addWindowListener(
new WindowAdapter(){
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}
);
}
}
muito obrigada!