package GUI;
import src.UtilityClass;
import src.Main;
import src.Question;
import src.JListRenderer;
import src.BackgroundPanel;
import java.util.Vector;
import java.util.Random;
import java.awt.Color;
import java.awt.Font;
import javax.swing.ListCellRenderer;
import java.awt.*;
import java.io.File;
import java.net.URI;
import javax.swing.Icon;
import javax.swing.ImageIcon;
/**
*
* @author Mathias Bickel
*/
public class Play extends javax.swing.JFrame{
Random questionRandom = new Random();
Object elements[][] = {
{ new Font("Tahoma", Font.PLAIN, 14), Color.MAGENTA, "15 " + Main.getGainLevel(2)},
{ new Font("Tahoma", Font.PLAIN, 14), Color.BLACK, "14 € 500.000" },
{ new Font("Tahoma", Font.PLAIN, 14), Color.BLACK, "13 € 125.000" },
{ new Font("Tahoma", Font.PLAIN, 14), Color.BLACK, "12 € 64.000" },
{ new Font("Tahoma", Font.PLAIN, 14), Color.BLACK, "11 € 32.000" },
{ new Font("Tahoma", Font.PLAIN, 14), Color.GREEN, "10 " + Main.getGainLevel(1)},
{ new Font("Tahoma", Font.PLAIN, 14), Color.BLACK, "9 € 8.000" },
{ new Font("Tahoma", Font.PLAIN, 14), Color.BLACK, "8 € 4.000" },
{ new Font("Tahoma", Font.PLAIN, 14), Color.BLACK, "7 € 2.000" },
{ new Font("Tahoma", Font.PLAIN, 14), Color.BLACK, "6 € 1.000" },
{ new Font("Tahoma", Font.PLAIN, 14), Color.cyan, "5 " + Main.getGainLevel(0)},
{ new Font("Tahoma", Font.PLAIN, 14), Color.BLACK, "4 € 300" },
{ new Font("Tahoma", Font.PLAIN, 14), Color.BLACK, "3 € 200" },
{ new Font("Tahoma", Font.PLAIN, 14), Color.BLACK, "2 € 100" },
{ new Font("Tahoma", Font.PLAIN, 14), Color.BLACK, "1 € 50" },
};
/** Creates new form Play */
public Play(String titel) {
this.addWindowListener(new java.awt.event.WindowAdapter() { //WindowListener, der das Schliessen
public void windowClosing(java.awt.event.WindowEvent e){ // des Frames ueber einen Klick
super.windowClosing(e); // auf das Kreuz regelt und dann ein
new MainMenu().setVisible(true); // neues Hautmenue erstellt.
Main.resetGainLevel();
Main.resetAdvertisement();
}
});
initComponents();
progress.setFocusable(false);
titelLabel.setFocusable(false);
question.setFocusable(false);
answer1.setFocusable(false);
answer2.setFocusable(false);
answer3.setFocusable(false);
answer4.setFocusable(false);
stage.setFocusable(false);
titelLabel.setText(titel);
progress.setVisible(false);
this.setTitle("Frage 1");
progress.setMaximum(15);
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jFileChooser1 = new javax.swing.JFileChooser();
progress = new javax.swing.JProgressBar();
question = new javax.swing.JLabel();
answer1 = new javax.swing.JButton();
answer2 = new javax.swing.JButton();
answer3 = new javax.swing.JButton();
answer4 = new javax.swing.JButton();
jScrollPane1 = new javax.swing.JScrollPane();
stage = new javax.swing.JList(elements);
stage.setCellRenderer(renderer);
titelLabel = new javax.swing.JLabel();
jToggleButton1 = new javax.swing.JToggleButton();
audienceJoker = new javax.swing.JLabel();
phoneJoker = new javax.swing.JLabel();
fiftyJoker = new javax.swing.JLabel();
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent evt) {
breakClicked(evt);
}
});
progress.setMaximum(10);
question.setFont(new java.awt.Font("Tahoma", 1, 14));
question.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
question.setText("Dies ist die Frage!");
answer1.setText("jButton1");
answer1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
answer1Clicked(evt);
}
});
answer2.setText("jButton2");
answer2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
answer2Clicked(evt);
}
});
answer3.setText("jButton3");
answer3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
answer3Clicked(evt);
}
});
answer4.setText("jButton4");
answer4.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
answer4Clicked(evt);
}
});
stage.setBackground(new java.awt.Color(238, 238, 238));
stage.addListSelectionListener(new javax.swing.event.ListSelectionListener() {
public void valueChanged(javax.swing.event.ListSelectionEvent evt) {
stageClicked(evt);
}
});
jScrollPane1.setViewportView(stage);
titelLabel.setFont(new java.awt.Font("Segoe Script", 1, 20));
titelLabel.setForeground(new java.awt.Color(102, 0, 102));
titelLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
titelLabel.setText("jLabel1");
jToggleButton1.setText("jToggleButton1");
audienceJoker.addMouseListener(new java.awt.event.MouseAdapter() {
public void mousePressed(java.awt.event.MouseEvent evt) {
audienceJokerClicked(evt);
}
});
phoneJoker.addMouseListener(new java.awt.event.MouseAdapter() {
public void mousePressed(java.awt.event.MouseEvent evt) {
phoneJokerClicked(evt);
}
});
fiftyJoker.addMouseListener(new java.awt.event.MouseAdapter() {
public void mousePressed(java.awt.event.MouseEvent evt) {
fiftyFiftyJokerClicked(evt);
}
});
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(240, 240, 240)
.addComponent(progress, javax.swing.GroupLayout.PREFERRED_SIZE, 558, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addGap(26, 26, 26)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addGroup(layout.createSequentialGroup()
.addComponent(fiftyJoker, javax.swing.GroupLayout.PREFERRED_SIZE, 46, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(phoneJoker, javax.swing.GroupLayout.PREFERRED_SIZE, 46, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(audienceJoker, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 153, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 6, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
.addGap(48, 48, 48)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(answer3, javax.swing.GroupLayout.PREFERRED_SIZE, 222, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(answer1, javax.swing.GroupLayout.PREFERRED_SIZE, 218, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(223, 223, 223)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(answer4, javax.swing.GroupLayout.DEFAULT_SIZE, 222, Short.MAX_VALUE)
.addComponent(answer2, javax.swing.GroupLayout.PREFERRED_SIZE, 222, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addComponent(question, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 805, Short.MAX_VALUE)))
.addGroup(layout.createSequentialGroup()
.addGap(109, 109, 109)
.addComponent(jToggleButton1)))))
.addContainerGap())
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap(385, Short.MAX_VALUE)
.addComponent(titelLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 380, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(235, 235, 235))
);
layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {answer2, answer3, answer4});
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(progress, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(201, 201, 201)
.addComponent(titelLabel)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 208, Short.MAX_VALUE)
.addComponent(question, javax.swing.GroupLayout.PREFERRED_SIZE, 36, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(40, 40, 40)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(layout.createSequentialGroup()
.addComponent(answer2)
.addGap(58, 58, 58)
.addComponent(answer4))
.addGroup(layout.createSequentialGroup()
.addComponent(answer1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jToggleButton1)
.addGap(29, 29, 29)
.addComponent(answer3)))
.addGap(83, 83, 83))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(fiftyJoker, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(phoneJoker, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(audienceJoker, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 294, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap())))
);
layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {answer1, answer2, answer3, answer4});
pack();
}// </editor-fold>
private void stageClicked(javax.swing.event.ListSelectionEvent evt) {
stage.setSelectedIndex(stageCount+1);
}
private void breakClicked(java.awt.event.KeyEvent evt) {
if(evt.getKeyCode() == java.awt.event.KeyEvent.VK_W){
if(advertisement >0 && advertisementPosition<advertisement){
if(Main.getAdvertisement(advertisementPosition).startsWith("http") || Main.getAdvertisement(advertisementPosition).startsWith("www")){
try {
Desktop.getDesktop().browse( new URI(Main.getAdvertisement(advertisementPosition++)));
} catch (Exception e) {
new Error("Internetseite konnte nicht geöffnet werden!").setVisible(true);
e.printStackTrace();
}
}
else if(Main.getAdvertisement(advertisementPosition).endsWith(".avi") || Main.getAdvertisement(advertisementPosition).endsWith(".mpg")){
try{
new ProcessBuilder( "cmd", "/c", Main.getAdvertisement(advertisementPosition++)).start();
}catch(Exception e){
new Error("Film konnte nicht geöffnet werden!").setVisible(true);
e.printStackTrace();
}
}
else{
try{
Desktop.getDesktop().open( new File(Main.getAdvertisement(advertisementPosition++)));
} catch ( Exception e ){
new Error("Datei wurde nicht gefunden!").setVisible(true);
e.printStackTrace();
}
}
}
else{
new Error("Jetzt reichts aber mit Werbung!", "Keine Werbung mehr").setVisible(true);
}
}
}
void play(){}
// Variables declaration - do not modify
private javax.swing.JButton answer1;
private javax.swing.JButton answer2;
private javax.swing.JButton answer3;
private javax.swing.JButton answer4;
private javax.swing.JLabel audienceJoker;
private javax.swing.JLabel fiftyJoker;
private javax.swing.JFileChooser jFileChooser1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JToggleButton jToggleButton1;
private javax.swing.JLabel phoneJoker;
private javax.swing.JProgressBar progress;
private javax.swing.JLabel question;
private javax.swing.JList stage;
private javax.swing.JLabel titelLabel;
// End of variables declaration
}