/*
* InfoSav.java
*/
package ladyb;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class InfoSav extends javax.swing.JPanel implements KaticaListener{
/** Creates new form InfoSav */
public InfoSav(Object tulaj) {
if (tulaj instanceof Katica) owner=(Katica)tulaj;
else owner=null;
initComponents();
mutatFurulya=false;
//ikon betoltese
try {
ClassLoader cldr = this.getClass().getClassLoader();
java.net.URL imageURL = cldr.getResource("ladyb/images/flute8.gif");
img=new ImageIcon(imageURL);
} catch (Exception e) {img=null;}
allapotListener = new ActionListener() {
public synchronized void actionPerformed(ActionEvent e) {
try {
if (lAllapot.getText()==null || (
!lAllapot.getText().equalsIgnoreCase(KaticaEvent.MEGSERTODOTT) &&
!lAllapot.getText().equalsIgnoreCase(KaticaEvent.MEGVIGASZTALVA)))
lAllapot.setText(KaticaEvent.ALL);
} catch (Exception ex) {}
}
};
timer=new javax.swing.Timer(0,allapotListener);
timer.setInitialDelay(300);
timer.setRepeats(false);
timer.start();
}
/** 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.
*/
private void initComponents() {
jLabel1 = new javax.swing.JLabel();
lAllapot = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
pbJobb = new javax.swing.JProgressBar();
pbBal = new javax.swing.JProgressBar();
jLabel5 = new javax.swing.JLabel();
pbTanulas = new javax.swing.JProgressBar();
jButton1 = new javax.swing.JButton();
jScrollPane1 = new javax.swing.JScrollPane();
jTextPane1 = new javax.swing.JTextPane();
bElore = new javax.swing.JButton();
bBalra = new javax.swing.JButton();
bHatra = new javax.swing.JButton();
bJobbra = new javax.swing.JButton();
jLabel6 = new javax.swing.JLabel();
bFurulya = new javax.swing.JButton();
setLayout(null);
setBackground(new java.awt.Color(255, 255, 204));
setBorder(new javax.swing.border.EtchedBorder(javax.swing.border.EtchedBorder.RAISED));
setForeground(new java.awt.Color(255, 255, 204));
setPreferredSize(new java.awt.Dimension(740, 160));
jLabel1.setText("Katica \u00e1llapota:");
jLabel1.setPreferredSize(new java.awt.Dimension(40, 14));
add(jLabel1);
jLabel1.setBounds(10, 10, 100, 14);
lAllapot.setText("\u00c1LL");
add(lAllapot);
lAllapot.setBounds(10, 30, 130, 14);
jLabel2.setText("F\u00e9ny\u00e9rz\u00e9kel\u00e9s");
add(jLabel2);
jLabel2.setBounds(160, 10, 90, 14);
jLabel3.setText("JOBB");
add(jLabel3);
jLabel3.setBounds(160, 30, 40, 14);
jLabel4.setText("BAL");
add(jLabel4);
jLabel4.setBounds(200, 30, 40, 14);
pbJobb.setForeground(java.awt.Color.orange);
pbJobb.setOrientation(1);
pbJobb.setToolTipText("Jobb szembe jut\u00f3 f\u00e9ny");
add(pbJobb);
pbJobb.setBounds(160, 50, 18, 100);
pbBal.setForeground(java.awt.Color.orange);
pbBal.setOrientation(1);
pbBal.setToolTipText("Bal szembe jut\u00f3 f\u00e9ny");
add(pbBal);
pbBal.setBounds(200, 50, 18, 100);
jLabel5.setText("Tanul\u00e1s");
add(jLabel5);
jLabel5.setBounds(280, 10, 60, 14);
pbTanulas.setForeground(java.awt.Color.red);
pbTanulas.setMaximum(800);
pbTanulas.setMinimum(100);
pbTanulas.setOrientation(1);
pbTanulas.setToolTipText("Felt\u00e9teles reflex kialakul\u00e1sa [%]");
add(pbTanulas);
pbTanulas.setBounds(290, 50, 18, 100);
jButton1.setText("S\u00fag\u00f3");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
onClick(evt);
}
});
add(jButton1);
jButton1.setBounds(440, 10, 80, 23);
jScrollPane1.setVisible(false);
jTextPane1.setEditable(false);
jTextPane1.setText("A program haszn\u00e1lata: \nZsebl\u00e1mpa : Eg\u00e9rrel megfoghat\u00f3, \u00e9s mozgathat\u00f3. Be/ki kapcsol\u00e1s jobb eg\u00e9rgombbal vagy a K billenty\u0171vel. Forgat\u00e1sa a Q billenty\u0171vel az \u00f3ramutat\u00f3 j\u00e1r\u00e1s\u00e1val megegyez\u0151, W billenty\u0171vel ellenkez\u0151 ir\u00e1nyba.\n\nFurulya : Megsz\u00f3laltat\u00e1sa/elhallgattat\u00e1sa az F billenty\u0171 lenyom\u00e1s\u00e1val, illetve a Furulya Be/Ki gomb megnyom\u00e1s\u00e1val. Am\u00edg sz\u00f3l a furulya, l\u00e1that\u00f3 az ikonja.\n\nKatica \u00e1llapota : A katicabog\u00e1r aktu\u00e1lis \u00e1llapot\u00e1t \u00edrja ki, lehets\u00e9ges \u00e9rt\u00e9kei : \u00e1ll, el\u0151re megy, jobbra fordul, balra fordul, megs\u00e9rt\u0151d\u00f6tt, megvigasztalva, \u00e1ll.\n\nNyom\u00f3gombok : Seg\u00edts\u00e9g\u00fckkel a katic\u00e1t \"k\u00e9zzel\" is arr\u00e9bb lehet tenni. Hasznos, ha \u00fctk\u00f6z\u00e9s miatt s\u00e9rt\u0151d\u00f6tt meg.\n\nF\u00e9ny\u00e9rz\u00e9kel\u00e9s : A sk\u00e1la a katicabog\u00e1r jobb illetve bal szem\u00e9be jut\u00f3 f\u00e9nyt jelzi.\n\nTanul\u00e1s : A sk\u00e1la a felt\u00e9teles reflex kialakul\u00e1s\u00e1nak folyamat\u00e1t mutatja, azaz, hogy a katica hol tart a k\u00e9t inger p\u00e1ros\u00edt\u00e1s\u00e1nak tanul\u00e1s\u00e1ban.");
jScrollPane1.setViewportView(jTextPane1);
add(jScrollPane1);
jScrollPane1.setBounds(440, 40, 280, 110);
bElore.setFont(new java.awt.Font("Courier New", 0, 14));
bElore.setText("^");
bElore.setToolTipText("Katica el\u0151re");
bElore.setMargin(new java.awt.Insets(2, 2, 2, 2));
bElore.setPreferredSize(new java.awt.Dimension(30, 30));
bElore.setVerticalAlignment(javax.swing.SwingConstants.BOTTOM);
bElore.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
onEloreClick(evt);
}
});
add(bElore);
bElore.setBounds(40, 60, 30, 30);
bElore.getAccessibleContext().setAccessibleName("");
bBalra.setFont(new java.awt.Font("Courier New", 0, 12));
bBalra.setText("<");
bBalra.setToolTipText("Katica balra fordul");
bBalra.setMargin(new java.awt.Insets(2, 2, 2, 2));
bBalra.setMinimumSize(new java.awt.Dimension(23, 23));
bBalra.setPreferredSize(new java.awt.Dimension(23, 23));
bBalra.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
onBalraClick(evt);
}
});
add(bBalra);
bBalra.setBounds(10, 90, 30, 30);
bHatra.setFont(new java.awt.Font("Microsoft Sans Serif", 0, 12));
bHatra.setText("v");
bHatra.setToolTipText("Katica h\u00e1tra");
bHatra.setMargin(new java.awt.Insets(2, 2, 2, 2));
bHatra.setPreferredSize(new java.awt.Dimension(30, 30));
bHatra.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
onHatraClick(evt);
}
});
add(bHatra);
bHatra.setBounds(40, 120, 30, 30);
bJobbra.setFont(new java.awt.Font("Courier New", 0, 12));
bJobbra.setText(">");
bJobbra.setToolTipText("Katica jobbra fordul");
bJobbra.setMargin(new java.awt.Insets(2, 2, 2, 2));
bJobbra.setMinimumSize(new java.awt.Dimension(23, 23));
bJobbra.setPreferredSize(new java.awt.Dimension(23, 23));
bJobbra.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
onJobbraClick(evt);
}
});
add(bJobbra);
bJobbra.setBounds(70, 90, 30, 30);
jLabel6.setText("Furulya");
add(jLabel6);
jLabel6.setBounds(360, 10, 60, 14);
bFurulya.setText("Be");
bFurulya.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
onFurulyaClick(evt);
}
});
add(bFurulya);
bFurulya.setBounds(360, 40, 50, 23);
}
private void onFurulyaClick(java.awt.event.ActionEvent evt) {
if (owner!=null) {
if (bFurulya.getText().equalsIgnoreCase("Be")) bFurulya.setText("Ki");
else bFurulya.setText("Be");
owner.furulyaAction.actionPerformed(evt);
}
}
private void onJobbraClick(java.awt.event.ActionEvent evt) {
if (owner!=null) {
owner.szoba.lady.forog(Math.PI/32);
}
}
private void onBalraClick(java.awt.event.ActionEvent evt) {
if (owner!=null) {
owner.szoba.lady.forog(-Math.PI/32);
}
}
private void onHatraClick(java.awt.event.ActionEvent evt) {
if (owner!=null) {
owner.szoba.lady.mozog(0.0,-10.0);
}
}
private void onEloreClick(java.awt.event.ActionEvent evt) {
if (owner!=null) {
owner.szoba.lady.mozog(0.0,10.0);
}
}
private void onClick(java.awt.event.ActionEvent evt) {
if (jButton1.getText().equalsIgnoreCase("Elrejt")) {
jScrollPane1.setVisible(false);
jButton1.setText("Súgó");
}
else {
jScrollPane1.setVisible(true);
jButton1.setText("Elrejt");
}
}
// Variables declaration - do not modify
private javax.swing.JButton bBalra;
private javax.swing.JButton bElore;
private javax.swing.JButton bFurulya;
private javax.swing.JButton bHatra;
private javax.swing.JButton bJobbra;
private javax.swing.JButton jButton1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTextPane jTextPane1;
private javax.swing.JLabel lAllapot;
private javax.swing.JProgressBar pbBal;
private javax.swing.JProgressBar pbJobb;
private javax.swing.JProgressBar pbTanulas;
// End of variables declaration
private Katica owner;
private boolean mutatFurulya;
private ImageIcon img;
private ActionListener allapotListener;
private javax.swing.Timer timer;
public void actionPerformed(KaticaEvent e) {
if (e.getAllapot()!=null) lAllapot.setText(e.getAllapot());
if (e.getJobbSzemMax()>0.0) {
pbJobb.setMaximum((int)e.getJobbSzemMax());
pbJobb.setValue((int)e.getJobbSzem());
pbBal.setMaximum((int)e.getBalSzemMax());
pbBal.setValue((int)e.getBalSzem());
}
if (e.getTanulas()!=0) {
if (e.getTanulas()<=pbTanulas.getMaximum())
pbTanulas.setValue(e.getTanulas());
}
else timer.restart();
if (e.szolFurulya()>-1) {
mutatFurulya=(e.szolFurulya()==0)?false:true;
if (mutatFurulya && bFurulya.getText().equalsIgnoreCase("be"))
bFurulya.setText("Ki");
if (!mutatFurulya && bFurulya.getText().equalsIgnoreCase("ki"))
bFurulya.setText("Be");
repaint();
}
}
public synchronized void paintComponent(Graphics g) {
super.paintComponent(g);
if (mutatFurulya && img!=null) img.paintIcon(this, g, 370, 80);
}
public void stop() {
if (timer!=null) {timer.stop();timer=null;}
}
}