//package view.spiel;
import java.awt.Dimension;
import java.awt.Rectangle;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import java.awt.FlowLayout;
import javax.swing.border.TitledBorder;
import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.ImageIcon;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.KeyStroke;
import javax.swing.UIManager;
import javax.swing.JTextArea;
import javax.swing.border.EtchedBorder;
import java.awt.Font;
import javax.swing.JScrollPane;
import javax.swing.ScrollPaneConstants;
//import control.CSpielfeld;
import javax.swing.JLabel;
import javax.swing.SwingConstants;
import java.awt.event.ActionEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.border.LineBorder;
import java.awt.Color;
public class Spielfeld extends JFrame
{
private JPanel contentPane;
private Action enterAction;
private JPanel pFeld=new JPanel();
private JPanel pSpielfeld=new JPanel();
private JLabel lblSpielzeit = new JLabel("0 Sekunden");
private JTextArea taVerlauf=new JTextArea();
private JTextArea taEingabe=new JTextArea();
private JLabel lblCountdown = new JLabel("");
private JLabel lblChatBG = new JLabel(new ImageIcon("./images/Chat.png"));
private JLabel lblChat;
private JLabel lblRegeln;
private JLabel lblEinstellungen;
private JLabel lblNeustart;
public static void main(String[] args)
{
Spielfeld feld = new Spielfeld();
}
public class EnterAction extends AbstractAction
{
@Override
public void actionPerformed(ActionEvent bp)
{
System.out.println("test");
if(taEingabe.isVisible())
{
// TODO Senden
taEingabe.setVisible(false);
taEingabe.setEnabled(false);
lblChat.setVisible(false);
}
else
{
taEingabe.setVisible(true);
taEingabe.setEnabled(true);
lblChat.setVisible(true);
}
}
}
public JLabel getLblChat() {
return lblChat;
}
public void setLblChat(JLabel lblChat) {
this.lblChat = lblChat;
}
public JLabel getLblRegeln() {
return lblRegeln;
}
public void setLblRegeln(JLabel lblRegeln) {
this.lblRegeln = lblRegeln;
}
public JLabel getLblEinstellungen() {
return lblEinstellungen;
}
public void setLblEinstellungen(JLabel lblEinstellungen) {
this.lblEinstellungen = lblEinstellungen;
}
public JLabel getLblNeustart() {
return lblNeustart;
}
public void setLblNeustart(JLabel lblNeustart) {
this.lblNeustart = lblNeustart;
}
public JLabel getLblCountdown()
{
return lblCountdown;
}
public void setLblCountdown(JLabel lblCountdown)
{
this.lblCountdown=lblCountdown;
}
public JTextArea getTaVerlauf()
{
return taVerlauf;
}
public void setTaVerlauf(JTextArea taVerlauf)
{
this.taVerlauf=taVerlauf;
}
public JTextArea getTaEingabe()
{
return taEingabe;
}
public void setTaEingabe(JTextArea taEingabe)
{
this.taEingabe=taEingabe;
}
public JLabel getLblSpielzeit()
{
return lblSpielzeit;
}
public void setLblSpielzeit(JLabel lblSpielzeit)
{
this.lblSpielzeit=lblSpielzeit;
}
public JPanel getpSpielfeld()
{
return pSpielfeld;
}
public void setpSpielfeld(JPanel pSpielfeld)
{
this.pSpielfeld=pSpielfeld;
}
public JPanel getpFeld()
{
return pFeld;
}
public Spielfeld()
{
// Initialierung des Actionlisteners
// CSpielfeld actionlistenerfeld=new CSpielfeld(this, false);
// Setzt den Titel des Fensters
setTitle("Spielfeld");
// Die größe kann nicht verändert werden
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// Setzt die größe des Fensters
setBounds(100, 100, 800, 600);
// Fügt die Menüleiste ein
JMenuBar menuBar=new JMenuBar();
setJMenuBar(menuBar);
// Legt den Menübutton(DropdownMenü) in der Menüleiste ein
JMenu mnMenue=new JMenu("Menü");
menuBar.add(mnMenue);
// Legt im Menü das Item Aufgeben an
JMenuItem mntmAufgeben=new JMenuItem("Aufgeben");
mnMenue.add(mntmAufgeben);
// Belegt Aufgeben mit dem Actionlistener
mntmAufgeben.setActionCommand("aufgeben");
// mntmAufgeben.addActionListener(actionlistenerfeld);
// Legt im Menü das Item Einstellungen an
JMenuItem mntmEinstellungen=new JMenuItem("Einstellungen");
mnMenue.add(mntmEinstellungen);
// Belegt Einstellungen mit dem Actionlistener
mntmEinstellungen.setActionCommand("einstellungen");
// mntmEinstellungen.addActionListener(actionlistenerfeld);
// Legt im Menü das Item "Spiel beenden" an
JMenuItem mntmSpielBeenden=new JMenuItem("Spiel beenden");
mnMenue.add(mntmSpielBeenden);
// Belegt "Spiel beenden" mit dem Actionlistener
mntmSpielBeenden.setActionCommand("beenden");
// mntmSpielBeenden.addActionListener(actionlistenerfeld);
// Legt den Rest des Layouts an
contentPane=new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
// Keybindings
enterAction = new EnterAction();
contentPane.getInputMap().put(KeyStroke.getKeyStroke("ENTER"), "doEnterAction");
contentPane.getActionMap().put("doEnterAction", enterAction);
taEingabe.setVisible(false);
lblCountdown.setBounds(0, 0, 794, 551);
contentPane.add(lblCountdown);
taEingabe.setBounds(125, 502, 641, 19);
contentPane.add(taEingabe);
taEingabe.setLineWrap(true);
taEingabe.setFont(new Font("Arial", Font.PLAIN, 11));
taEingabe.setBorder(new LineBorder(new Color(0, 0, 0), 2));
lblChatBG.setVisible(false);
lblChatBG.setBounds(0, 388, 794, 163);
contentPane.add(lblChatBG);
JPanel pDetails=new JPanel();
pDetails.setOpaque(false);
pDetails.setBounds(10, 11, 774, 59);
contentPane.add(pDetails);
pDetails.setBorder(new TitledBorder(null, "Spieldetails",
TitledBorder.LEADING, TitledBorder.TOP, null, null));
pDetails.setLayout(null);
JLabel lblSpielzeitText = new JLabel("Spielzeit:");
lblSpielzeitText.setFont(new Font("Tahoma", Font.BOLD, 11));
lblSpielzeitText.setBounds(28, 25, 61, 14);
pDetails.add(lblSpielzeitText);
lblSpielzeit.setBounds(99, 25, 186, 14);
pDetails.add(lblSpielzeit);
pFeld.setBounds(10, 81, 459, 459);
contentPane.add(pFeld);
pFeld.setBorder(new TitledBorder(null, "Spielfeld",
TitledBorder.LEADING, TitledBorder.TOP, null, null));
pFeld.setLayout(null);
pSpielfeld.setBounds(10, 22, 439, 426);
pFeld.add(pSpielfeld);
pSpielfeld.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5));
JPanel pVerlauf=new JPanel();
pVerlauf.setOpaque(false);
pSpielfeld.setOpaque(false);
pFeld.setOpaque(false);
pVerlauf.setBounds(479, 81, 305, 459);
contentPane.add(pVerlauf);
pVerlauf.setBorder(new TitledBorder(UIManager
.getBorder("TitledBorder.border"), "Spielverlauf",
TitledBorder.LEADING, TitledBorder.TOP, null, null));
pVerlauf.setLayout(null);
JScrollPane spVerlauf=new JScrollPane();
spVerlauf
.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
spVerlauf.setBorder(null);
spVerlauf.setBounds(10, 23, 285, 275);
pVerlauf.add(spVerlauf);
taVerlauf.setWrapStyleWord(true);
taVerlauf.setFocusable(false);
taVerlauf.setLineWrap(true);
spVerlauf.setViewportView(taVerlauf);
taVerlauf.setFont(new Font("Tahoma", Font.PLAIN, 12));
taVerlauf.setBorder(new EtchedBorder(EtchedBorder.LOWERED, null, null));
lblChat = new JLabel(new ImageIcon("./images/Communicate-icon.png"));
lblChat.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent arg0) {
}
@Override
public void mouseEntered(MouseEvent arg0) {
lblChat.setIcon(new ImageIcon("./images/Communicate-icon2.png"));
}
@Override
public void mouseExited(MouseEvent e) {
lblChat.setIcon(new ImageIcon("./images/Communicate-icon.png"));
}
});
lblChat.setBounds(41, 321, 48, 48);
pVerlauf.add(lblChat);
lblRegeln = new JLabel(new ImageIcon("./images/Copy-icon.png"));
lblRegeln.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
}
@Override
public void mouseEntered(MouseEvent e) {
lblRegeln.setIcon(new ImageIcon("./images/Copy-icon2.png"));
}
@Override
public void mouseExited(MouseEvent e) {
lblRegeln.setIcon(new ImageIcon("./images/Copy-icon.png"));
}
});
lblRegeln.setBounds(99, 321, 48, 48);
pVerlauf.add(lblRegeln);
lblEinstellungen = new JLabel(new ImageIcon("./images/Wheel-icon.png"));
lblEinstellungen.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
}
@Override
public void mouseEntered(MouseEvent e) {
lblEinstellungen.setIcon(new ImageIcon("./images/Wheel-icon2.png"));
}
@Override
public void mouseExited(MouseEvent e) {
lblEinstellungen.setIcon(new ImageIcon("./images/Wheel-icon.png"));
}
});
lblEinstellungen.setBounds(157, 321, 48, 48);
pVerlauf.add(lblEinstellungen);
lblNeustart = new JLabel(new ImageIcon("./images/Refresh-icon.png"));
lblNeustart.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
}
@Override
public void mouseEntered(MouseEvent e) {
lblNeustart.setIcon(new ImageIcon("./images/Refresh-icon2.png"));
}
@Override
public void mouseExited(MouseEvent e) {
lblNeustart.setIcon(new ImageIcon("./images/Refresh-icon.png"));
}
});
lblNeustart.setBounds(215, 321, 48, 48);
pVerlauf.add(lblNeustart);
JLabel bgLabel = new JLabel(new ImageIcon("./images/spielfeldBG.png"));
bgLabel.setBounds(0, 0, 794, 551);
contentPane.add(bgLabel);
// Fenster wird sichtbar angezeigt
centerScreen();
this.setVisible(true);
}
public void centerScreen()
{
Dimension dim=getToolkit().getScreenSize();
Rectangle abounds=getBounds();
setLocation((dim.width-abounds.width)/2, (dim.height-abounds.height)/2);
super.setVisible(true);
requestFocus();
}
}