Não sei pq na distribuição eclipse-jee-galileo-SR1-linux-gtk que estou usando numa maquina os .GIF não aparecem enquanto que com a distribuição que uso no Fedora aparece.
A distrib. eclipse-jee-galileo-SR1-linux-gtk aparece com desenho de um embrulho(sei pacote) para src e para default package… eu copiei os gifs dos botoes para os dois lugares, mas mesmo assim não aparece…?
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.border.Border;
import java.beans.*;
import java.awt.*;
import java.awt.event.*;
import java.io.Serializable;
public class JogoCoal6F 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 String sdescrConfig = "";
private JTextArea tdescrConfig;
String sdescr = "";
private JTextArea tdescr;
private JLabel lclickjog;
private JButton bjogador1, bjogador2, bjogador3;
private JTextField tlegenda1, tlegenda2, tlegenda3;
private JLabel lesqtri, ldirtri, lbasetri;
private JLabel lformacord;
private JLabel ljog12;
private JLabel lcoord_12;
// Campo default não-editável
private JTextField tpos12_X;
// 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;
private JLabel lcoord_21;
// 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;
// Campo para o valor calculado
private JTextField tpos21_Z;
private JLabel ljog13;
private JLabel lcoord_13;
// Campo default não-editável
private JTextField tpos13_X;
// 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;
private JLabel lcoord_31;
// 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;
// Campo default não-editável
private JTextField tpos31_Z;
private JLabel ljog23;
private JLabel lcoord_23;
// 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;
// Campo para o valor calculado
private JTextField tpos23_Z;
private JLabel lcoord_32;
// Campo para o valor calculado
private JTextField tpos32_X;
// 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;
private JLabel lhistorico;
private JLabel ltriang_1, ltriang_2, ltriang_3;
private JLabel lvertice1, lvertice2, lvertice3;
private MyTextArea tareadesenho2;
private Border borda, borda2;
private JButton bimput, brodajogo;
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(new FlowLayout(FlowLayout.LEFT));// em uso
JPanel p8 = new JPanel();// em uso
JPanel p9 = new JPanel();// em uso
JPanel p10 = new JPanel();
JPanel p11 = new JPanel(new FlowLayout(FlowLayout.RIGHT)); // em uso
JPanel p12 = new JPanel(); // em uso
JPanel p13 = new JPanel(); // em uso
JPanel p14 = new JPanel(new BorderLayout()); // em uso
JPanel p15 = new JPanel();// em uso
JPanel p16 = new JPanel(new FlowLayout(FlowLayout.RIGHT));// em uso
JPanel p17 = new JPanel(new FlowLayout(FlowLayout.CENTER));// em uso
JPanel p18 = new JPanel(); // em uso
JPanel p19 = new JPanel(); // em uso
JPanel p21 = new JPanel(new BorderLayout());// em uso
JPanel p22 = new JPanel(); // em uso
JPanel p23 = new JPanel(); // em uso
JPanel p24 = new JPanel(); // em uso
JPanel p25 = new JPanel(new BorderLayout());// em uso
JPanel p32 = new JPanel(); // em uso
JPanel p33 = new JPanel();
JPanel p34 = new JPanel(); // em uso
JPanel p35 = new JPanel(); // em uso
JPanel p36 = new JPanel(); // em uso
JPanel p37 = new JPanel(); // em uso
JPanel p38 = new JPanel(new GridLayout());// em uso
JPanel p55 = new JPanel();
JPanel p56 = new JPanel();// em uso
JPanel p190 = new JPanel(new FlowLayout(FlowLayout.RIGHT));// em uso
JPanel p332 = new JPanel(new GridLayout());// em uso
JPanel p337 = new JPanel(new BorderLayout());// em uso
JPanel p500 = new JPanel(new BorderLayout());// em uso
JPanel p42 = new JPanel(new FlowLayout(FlowLayout.RIGHT));// em uso
JPanel p43 = new JPanel(new FlowLayout(FlowLayout.LEFT));// em uso
JPanel pX = new JPanel(new BorderLayout());// em uso
JPanel pY = new JPanel(new BorderLayout());// em uso
JPanel pZ = new JPanel(new BorderLayout());// em uso
public JogoCoal6F(String JogoCoal6F){
super(JogoCoal6F);
// 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(JogoCoal6F.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);
// configs
ltriang_1 = new JLabel("1");
ltriang_2 = new JLabel("2");
ltriang_3 = new JLabel("3");
lvertice1 = new JLabel("(1, 6, 1)");
lvertice2 = new JLabel("(1, 0, 7)");
lvertice3 = new JLabel("(7, 0, 1)");
tdescrConfig = new JTextArea(7, 28);
itConfigs = new JMenuItem("Gerar Configurações Iniciais");
itConfigs.setMnemonic('G');
itConfigs.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e) {
Object e1 = e.getSource();
if(e1==itConfigs)
{
sdescrConfig += " \tTabela de Benefícios:\nv(0) = 0\n v({1}) = 1\t v({2}) = 0\t " +
" v({3}) = 1\t\n v({1,2}) = 4\t v({1,3}) = 3\t" +
" v({2,3}) = 5\n\t v({1,2,3}) = 8";
tareadesenho2.setText(sdescrConfig);
}
}
}
);
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);
// uso dos gerenciadores apartir daqui
//JPanel jmain = new JPanel(); // Principal que contem todos
painel.setBackground(Color.LIGHT_GRAY);
painel.setLayout(new BorderLayout());
Font negrito = new Font("SansSerif", Font.BOLD, 13);
sdescr += " Três empresas representadas pelos jogadores 1, 2 e 3 estão em negociação para juntas implementarem um projeto que trará" +
"\nbenefícios comuns aos três participantes. Tem-se na indicação de que uma negociação sem jogadores não gera ganho e que " +
"\nsozinhos eles não são capazes de implementar o projeto. A solução escolhida para o jogo possui as características definidas" +
"\npor von Neumann e Morgenstern descritas nos conceitos de conjunto vazio e de superaditividade. ";
tdescr = new JTextArea(4, 18);
tdescr.setBorder(BorderFactory.createLineBorder(Color.red));
tdescr.setEditable(false);
tdescr.setFont(negrito);
tdescr.setBackground(Color.white);
tdescr.setText(sdescr);
p1.setLayout(new BorderLayout());
p1.add(tdescr, "North");
lformacord = new JLabel("OPÇÕES DE COALIZÃO");
lformacord.setFont(new Font("TimesRoman", Font.BOLD, 14));
lformacord.setAlignmentX(JComponent.CENTER_ALIGNMENT);
lformacord.setHorizontalTextPosition(SwingConstants.CENTER);
lformacord.setVerticalTextPosition(SwingConstants.TOP);
p17.add("North", lformacord);
ljog12 = new JLabel("Jogadores {1 e 2}: ");
ljog12 .setFont(negrito);
lcoord_12 = new JLabel("Enviar posição para o jogador 1");
lcoord_12.setForeground(Color.green);
lcoord_12.setFont(new Font("SansSerif", Font.BOLD, 13));
tpos12_X = new JTextField(" 1 ", 5);
listaA = new JComboBox(opcoes12_Y);
tpos12_Z = new JTextField(5);
lcoord_21 = new JLabel("Enviar posição para o jogador 2");
lcoord_21.setForeground(Color.blue);
lcoord_21.setFont(new Font("SansSerif", Font.BOLD, 13));
listaB = new JComboBox(opcoes21_X);
tpos21_Y = new JTextField(" 0 ", 5);
tpos21_Z = new JTextField(5);
ljog13 = new JLabel("Jogadores {1 e 3}: ");
ljog13 .setFont(negrito);
lcoord_13 = new JLabel("Enviar posição para o jogador 1");
lcoord_13.setForeground(Color.green);
lcoord_13.setFont(new Font("SansSerif", Font.BOLD, 13));
tpos13_X = new JTextField(" 1 ", 5);
listaC = new JComboBox(opcoes13_Y);
tpos13_Z = new JTextField(5);
lcoord_31 = new JLabel("Enviar posição para o jogador 3");
lcoord_31.setForeground(Color.red);
lcoord_31.setFont(new Font("SansSerif", Font.BOLD, 13));
listaD = new JComboBox(opcoes13_X);
tpos31_Y = new JTextField(5);
tpos31_Z = new JTextField(" 1 ", 5);
ljog23 = new JLabel("Jogadores {2 e 3}: ");
ljog23.setFont(negrito);
lcoord_23 = new JLabel("Enviar posição para o jogador 2");
lcoord_23.setForeground(Color.blue);
lcoord_23.setFont(new Font("SansSerif", Font.BOLD, 13));
listaE = new JComboBox(opcoes23_X);
tpos23_Y = new JTextField(" 0 ", 5);
tpos23_Z = new JTextField(5);
lcoord_32 = new JLabel("Enviar posição para o jogador 3");
lcoord_32.setForeground(Color.red);
lcoord_32.setFont(new Font("SansSerif", Font.BOLD, 13));
tpos32_X = new JTextField(5);
listaF = new JComboBox(opcoes32_Y);
tpos32_Z = new JTextField(" 1 ", 5);
p12.setLayout(new GridLayout(17,1));
p12.add(p17);
p12.add(ljog12);
p12.add(lcoord_12);
p13.setLayout(new FlowLayout(FlowLayout.LEFT));
p13.add(tpos12_X);
p13.add(listaA);
p13.add(tpos12_Z);
p12.add(p13);
p12.add(lcoord_21);
p19.setLayout(new FlowLayout(FlowLayout.LEFT));
p19.add(listaB);
p19.add(tpos21_Y);
p19.add(tpos21_Z);
p12.add(p19);
p12.add(ljog13);
p12.add(lcoord_13);
p33.setLayout(new FlowLayout(FlowLayout.LEFT));
p33.add(tpos13_X);
p33.add(listaC);
p33.add(tpos13_Z);
p12.add(p33);
p12.add(lcoord_31);
p34.setLayout(new FlowLayout(FlowLayout.LEFT));
p34.add(listaD);
p34.add(tpos31_Y);
p34.add(tpos31_Z);
p12.add(p34);
p12.add(ljog23);
p12.add(lcoord_23);
p42.setLayout(new FlowLayout(FlowLayout.LEFT));
p42.add(tpos23_Z);
p42.add(tpos23_Y);
p42.add(listaE);
p12.add(p42);
p12.add(lcoord_32);
p35.setLayout(new FlowLayout(FlowLayout.LEFT));
p35.add(tpos32_X);
p35.add(listaF);
p35.add(tpos32_Z);
p12.add(p35);
p15 = new JPanel(new FlowLayout(FlowLayout.LEFT));
bimput = new JButton("Registrar Imputações");
bimput.setMnemonic('I');
bimput.setToolTipText("Registrar Imputação");
bimput.setAlignmentX(JComponent.CENTER_ALIGNMENT);
// bimput.addActionListener(this);
p15.add(bimput);
p12.add(p15);
p2.setLayout(new BorderLayout());
p2.add(p12, "West");
p3.setLayout(new BorderLayout());
p3.add(p2, "North");
lclickjog = new JLabel("CLICK NOS BOTÕES PARA DEFINIR A ÁREA DE ATUAÇÃO NO JOGO");
lclickjog.setForeground(Color.magenta);
lclickjog.setFont(negrito);
lclickjog.setAlignmentX(JComponent.CENTER_ALIGNMENT);
lclickjog.setHorizontalTextPosition(SwingConstants.CENTER);
lclickjog.setVerticalTextPosition(SwingConstants.TOP);
Icon bug1 = new ImageIcon("bug1.gif");
bjogador1 = new JButton("<<< Jogador 1 >>>", 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 2 >>>", 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 3 >>>", bug3);
bjogador3.setHorizontalTextPosition(SwingConstants.CENTER);
bjogador3.setVerticalTextPosition(SwingConstants.BOTTOM);
bjogador3.setRolloverIcon(bug3);
bjogador3.addActionListener(this);
p6.setLayout(new BoxLayout(p6, BoxLayout.Y_AXIS));
p7.add(lclickjog);
p11.add(bjogador1);
p11.add(bjogador2);
p11.add(bjogador3);
p6.add(p7);
p6.add(p11);
p43.add(p6);
p1.add(p43, "East");
lhistorico = new JLabel("HISTÓRICO DE JOGADAS");
lhistorico.setFont(negrito);
lhistorico.setAlignmentX(JComponent.CENTER_ALIGNMENT);
//lhistorico.setHorizontalTextPosition(SwingConstants.RIGHT);
//lhistorico.setVerticalTextPosition(SwingConstants.TOP);
tareadesenho2 = new MyTextArea(25, 48);
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(lhistorico);
p5.add(tareadesenho2);
p5.add(p23);
p2.add(p5, "East");
p3.setLayout(new BorderLayout());
p3.add(p2);
brodajogo = new JButton("Jogar");
brodajogo.setMnemonic('J');
brodajogo.setToolTipText("Jogar");
brodajogo.setAlignmentX(JComponent.CENTER_ALIGNMENT);
// brodajogo.addActionListener(this);
p23 = new JPanel(new FlowLayout(FlowLayout.LEFT));
p23.add(brodajogo);
p25.add(p23);
// define os gerenciadores de layout de cada panel
painel.add(p1, "North");
painel.add(p3, "Center");
painel.add(p25, "South");
setContentPane(painel);
//setResizable(false);
setVisible(true);
setSize(800, 685);// larg e alt
}
private class MyTextArea extends JTextArea {
public MyTextArea(int rows, int columns) {
super(rows, columns);
}
public void paint(Graphics g) {
super.paint(g);
int width = super.getBounds().width; // Largura da janela de texto em pontos
int height = super.getBounds().height; // Altura da janela de texto em pontos
int x = width / 2; // Coluna inicial (neste caso, metade da largura da área de texto)
int y = 180; // Linha inicial na área de texto
int size = 170; // Tamanho dos lados em número de pontos
g.setColor(Color.red); // lado esquerdo
g.drawLine(x, y, x - (size / 2), y + size);
g.setColor(Color.black);
g.setColor(Color.green);
g.drawLine(x - (size / 2), y + size, x + (size / 2), y + size);// base
// do
// triangulo
g.setColor(Color.black);
g.setColor(Color.blue); // lado direito
g.drawLine(x, y, x + (size / 2), y + size);
g.setColor(Color.black);
}
}
public void actionPerformed(ActionEvent event) {
Object e = event.getSource();
if(e == bjogador1)
bjogador1.setBorder(BorderFactory.createLineBorder(Color.green));
if(e == bjogador2)
bjogador2.setBorder(BorderFactory.createLineBorder(Color.blue));
if(e == bjogador3)
bjogador3.setBorder(BorderFactory.createLineBorder(Color.red));
}
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[])
{
JogoCoal6F app = new JogoCoal6F("Jogo Coalizacional entre Três Empresas!");
app.addWindowListener(
new WindowAdapter(){
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}
);
}
}
Me ajudam, ta corrido e esses erros não pode ter agora…
sds