/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/*
* JChoose.java
*
* Created on 24-set-2010, 16.05.07
*/
package jmine.graphics;
import com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Toolkit;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import jmine.exceptions.IllegalNumOfMine;
/**
*
* @author Paolo
*/
public class JChoose
extends javax.
swing.
JFrame {
/** Creates new form JChoose */
public JChoose() {
try {
UIManager.
setLookAndFeel(new NimbusLookAndFeel
());
}
initComponents();
this.
setIconImage(Toolkit.
getDefaultToolkit().
getImage(getClass
().
getResource("/jmine/graphics/images/mina_piccola.png")));
this.easy.setSelected(true);
}
/** 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.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
private void initComponents() {
panel
= new javax.
swing.
JPanel();
mineLabel
= new javax.
swing.
JLabel();
jMineLabel
= new javax.
swing.
JLabel();
gameLabel
= new javax.
swing.
JLabel();
goToGame
= new javax.
swing.
JLabel();
setTitle("JMine - by Paolo Ricciuti (C)");
setResizable(false);
mineLabel.
setIcon(new javax.
swing.
ImageIcon(getClass
().
getResource("/jmine/graphics/images/mina.png"))); // NOI18N
jMineLabel.
setFont(new java.
awt.
Font("Tempus Sans ITC", 0, 36
));
jMineLabel.setText("JMine");
gameLabel.
setFont(new java.
awt.
Font("Tempus Sans ITC", 0, 14
));
gameLabel.setText("<html>Scopo del gioco è quello di evitare tutte le mine presenti sulla griglia. Ad aiutarvi nell'impresa alcuni numeri che indicano le mine adiacenti a quella cella!</html>");
group.add(easy);
easy.setText("Facile (9x9 - 10 mine)");
group.add(medium);
medium.setText("Medio (16x16 - 40 mine)");
group.add(hard);
hard.setText("Difficile (16x30 - 99 mine)");
goToGame.
setFont(new java.
awt.
Font("Tempus Sans ITC", 0, 24
));
goToGame.setText("Gioca");
goToGame.
setCursor(new java.
awt.
Cursor(java.
awt.
Cursor.
HAND_CURSOR));
goToGame.
addMouseListener(new java.
awt.
event.
MouseAdapter() {
public void mouseClicked
(java.
awt.
event.
MouseEvent evt
) {
goToGameMouseClicked(evt);
}
public void mouseEntered
(java.
awt.
event.
MouseEvent evt
) {
goToGameMouseEntered(evt);
}
public void mouseExited
(java.
awt.
event.
MouseEvent evt
) {
goToGameMouseExited(evt);
}
});
javax.swing.GroupLayout panelLayout = new javax.swing.GroupLayout(panel);
panel.setLayout(panelLayout);
panelLayout.setHorizontalGroup(
panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(panelLayout.createSequentialGroup()
.addContainerGap()
.addGroup(panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(panelLayout.createSequentialGroup()
.addComponent(gameLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 208, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addGroup(panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(panelLayout.createSequentialGroup()
.addGroup(panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.
addComponent(goToGame, javax.
swing.
GroupLayout.
DEFAULT_SIZE, javax.
swing.
GroupLayout.
DEFAULT_SIZE,
Short.
MAX_VALUE)
.addComponent(easy))
.addComponent(medium))
.
addPreferredGap(javax.
swing.
LayoutStyle.
ComponentPlacement.
RELATED, 23,
Short.
MAX_VALUE))
.
addComponent(hard, javax.
swing.
GroupLayout.
DEFAULT_SIZE, 164,
Short.
MAX_VALUE)))
.addGroup(panelLayout.createSequentialGroup()
.addComponent(mineLabel)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.
addComponent(jMineLabel, javax.
swing.
GroupLayout.
DEFAULT_SIZE, 280,
Short.
MAX_VALUE)))
.addContainerGap())
);
panelLayout.setVerticalGroup(
panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(panelLayout.createSequentialGroup()
.addContainerGap()
.addGroup(panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.
addComponent(jMineLabel, javax.
swing.
GroupLayout.
Alignment.
LEADING, javax.
swing.
GroupLayout.
DEFAULT_SIZE, javax.
swing.
GroupLayout.
DEFAULT_SIZE,
Short.
MAX_VALUE)
.
addComponent(mineLabel, javax.
swing.
GroupLayout.
Alignment.
LEADING, javax.
swing.
GroupLayout.
DEFAULT_SIZE, javax.
swing.
GroupLayout.
DEFAULT_SIZE,
Short.
MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(panelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(panelLayout.createSequentialGroup()
.addComponent(easy)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(medium)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(hard)
.addGap(21, 21, 21)
.addComponent(goToGame, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE))
.
addComponent(gameLabel, javax.
swing.
GroupLayout.
DEFAULT_SIZE, 167,
Short.
MAX_VALUE))
.addContainerGap())
);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.
addComponent(panel, javax.
swing.
GroupLayout.
DEFAULT_SIZE, javax.
swing.
GroupLayout.
DEFAULT_SIZE,
Short.
MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.
addComponent(panel, javax.
swing.
GroupLayout.
DEFAULT_SIZE, javax.
swing.
GroupLayout.
DEFAULT_SIZE,
Short.
MAX_VALUE)
);
java.
awt.
Dimension screenSize
= java.
awt.
Toolkit.
getDefaultToolkit().
getScreenSize();
setBounds((screenSize.width-416)/2, (screenSize.height-338)/2, 416, 338);
}// </editor-fold>//GEN-END:initComponents
private void goToGameMouseClicked
(java.
awt.
event.
MouseEvent evt
) {//GEN-FIRST:event_goToGameMouseClicked
int width=0;
int height=0;
int mine=0;
if(this.easy.isSelected()){
width=9;
height=9;
mine=10;
}else if(this.medium.isSelected()){
width=16;
height=16;
mine=40;
}else if(this.hard.isSelected()){
width=30;
height=16;
mine=99;
}
JMine jmine=null;
try {
jmine = new JMine(width, height, mine);
} catch (IllegalNumOfMine ex) {
}
jmine.setSize((width*30)+60, (height*30)+100);
int x=(screen.width-jmine.getSize().width)/2;
int y=(screen.height-jmine.getSize().height)/2;
jmine.setLocation(x, y);
jmine.setVisible(true);
this.setVisible(false);
}//GEN-LAST:event_goToGameMouseClicked
private void goToGameMouseEntered
(java.
awt.
event.
MouseEvent evt
) {//GEN-FIRST:event_goToGameMouseEntered
this.
goToGame.
setFont(new Font(this.
goToGame.
getFont().
getFontName(),
Font.
BOLD,
this.
goToGame.
getFont().
getSize()+10
));
}//GEN-LAST:event_goToGameMouseEntered
private void goToGameMouseExited
(java.
awt.
event.
MouseEvent evt
) {//GEN-FIRST:event_goToGameMouseExited
this.
goToGame.
setFont(new Font(this.
goToGame.
getFont().
getFontName(), 0,
this.
goToGame.
getFont().
getSize()-10
));
}//GEN-LAST:event_goToGameMouseExited
/**
* @param args the command line arguments
*/
public static void main
(String args
[]) {
public void run() {
new JChoose().setVisible(true);
}
});
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.
swing.
JLabel gameLabel
;
private javax.
swing.
JLabel goToGame
;
private javax.
swing.
JLabel jMineLabel
;
private javax.
swing.
JLabel mineLabel
;
private javax.
swing.
JPanel panel
;
// End of variables declaration//GEN-END:variables
}