ЕНЕРГЕТИКА ДНЯ НАРОДЖЕННЯ

13 лютого 2025
MORENKO OLEKSII


import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class TestInfoDayApp {
public static void main(String[] args) {
new TestInfoDay().setVisible(true);
}//end main


private static class TestInfoDay extends Frame implements
WindowListener, MouseListener,MouseMotionListener
{
public void windowClosing(WindowEvent e) {
dispose();
System.exit(0);
}
public void mouseClicked(MouseEvent e) {}
public void mousePressed(MouseEvent e) {}
public void mouseReleased(MouseEvent e) {}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
public void mouseDragged(MouseEvent e) {}
public void mouseMoved(MouseEvent e) {}
public void windowOpened(WindowEvent e) {}
public void windowClosed(WindowEvent e) {}
public void windowIconified(WindowEvent e) {}
public void windowDeiconified(WindowEvent e) {}
public void windowActivated(WindowEvent e) {}
public void windowDeactivated(WindowEvent e) {}

//TODO variable
public int x, y, w, h;
public int x1, y1, x2, y2, x3, y3;
public int cr, cq, cb;
public int d;
public int cx, cy, dx, dy;

String mouseEvent="";
String mouseMoveEvent="";
String mouseDragEvent="";
String ctrl="";

public String ms="";
public Point toch=null;
public int count=0;
public int counter=0;

public boolean on=false;
public boolean fread=false;

public File inf=new File("res/reztest.txt");
public File lockFile = new File("res/noscan.lock");

public String[] enDigital=new String [10];
public String[] enOpus=new String [10];
public String[] enStroka1=new String [10];
public String[] enStroka2=new String [10];
public String[] enStroka3=new String [10];
public String[] enStroka4=new String [10];

//TODO paint
public void paint(Graphics g) {

Dimension rc = getSize();
Insets in = getInsets();

int RH = rc.width;
int RW = rc.height;

int minX = in.left;
int maxX = RH - in.right;
int minY = in.top;
int maxY = RW - in.bottom;

float wdk = 3.25f;

cx = Math.abs(maxX - minX) / 2;
cy = Math.abs(maxY - minY) / 2;

Graphics2D g2 = (Graphics2D) g;
g2.setStroke(new BasicStroke(wdk));

// TODO init

ScanFromFile();

g.setColor(new Color(128,176,255));
g.fillRect(0,0,RH,RW);

g.setColor(new Color(78,255,180));
g.fillRect(0,0,RH-92,RW);

g.setColor(new Color(52,32,188));

//TODO MakeGrid
int[] kwX=new int[50];
int[] kwY=new int[50];

count=1;
x1=minX;
y1=minY;

dx=maxX/5;
dy= (int) (maxY/9.3f);

for (int k = 0; k <9 ; k++)
{
for (int i = 0; i <5 ; i++)
{
g.drawRect(x1+i*dx, y1 + k * dy, dx, dy);
kwX[count]=x1+i*dx;
kwY[count]=y1+k*dy;
count++;
}
}
g.drawLine(maxX-1,minY,maxX-1,maxY);

//TODO paint DATA digital
g.setColor(new Color(0,0,0));
g.setFont(new Font("Trebucet Ms",Font.BOLD,48));

int[][] TAB=new int[10][6];
int [] NUMBER=new int[50];
counter=1;
x1=minX;
y1=minY;
for (int k = 1; k <=9 ; k++)
{
for (int i = 1; i <=5 ; i++)
{
TAB[k][i]=k+9*(i-1);
NUMBER[counter]=TAB[k][i];
counter++;
if(i==5) TAB[k][i]=k;
if(TAB[k][i]>31) ms=" ";
else ms= String.valueOf(TAB[k][i]);
g.drawString(ms,x1+25+(i-1)*dx,y1+50+(k-1)*dy);
}
}

//TODO mouseHandler

g2.setStroke(new BasicStroke(wdk+2.0f));

if(toch!=null)
{
x=toch.x;
y=toch.y;

for (int i = 1; i <count ; i++)
{
if((x>kwX[i])&&
(x<kwX[i]+dx)&&
(y>kwY[i])&&
(y<kwY[i]+dy))
{
g.setColor(new Color(255,0,0));

if(NUMBER[i]<32) g.drawRect(kwX[i],kwY[i],dx-2,dy);

//TODO working string
if(NUMBER[i]>0)
{
String t="Ваш день народження відповідає числу:\n";
ms="";
switch (NUMBER[i])
{
//TODO 0
case 1:
ms=enDigital[0];
ms+="\n";
ms+=enOpus[0];
ms+="\n";
ms+=enStroka1[0];
break;
case 10:
ms=enDigital[0];
ms+="\n";
ms+=enOpus[0];
ms+="\n";
ms+=enStroka2[0];
break;
case 19:
ms=enDigital[0];
ms+="\n";
ms+=enOpus[0];
ms+="\n";
ms+=enStroka3[0];
break;
case 28:
ms=enDigital[0];
ms+="\n";
ms+=enOpus[0];
ms+="\n";
ms+=enStroka4[0];
break;

//TODO 1
case 2:
ms=enDigital[1];
ms+="\n";
ms+=enOpus[1];
ms+="\n";
ms+=enStroka1[1];
break;
case 11:
ms=enDigital[1];
ms+="\n";
ms+=enOpus[1];
ms+="\n";
ms+=enStroka2[1];
break;
case 20:
ms=enDigital[1];
ms+="\n";
ms+=enOpus[1];
ms+="\n";
ms+=enStroka3[1];
break;
case 29:
ms=enDigital[1];
ms+="\n";
ms+=enOpus[1];
ms+="\n";
ms+=enStroka4[1];
break;

//TODO 2
case 3:
ms=enDigital[2];
ms+="\n";
ms+=enOpus[2];
ms+="\n";
ms+=enStroka1[2];
break;
case 12:
ms=enDigital[2];
ms+="\n";
ms+=enOpus[2];
ms+="\n";
ms+=enStroka2[2];
break;
case 21:
ms=enDigital[2];
ms+="\n";
ms+=enOpus[2];
ms+="\n";
ms+=enStroka3[2];
break;
case 30:
ms=enDigital[2];
ms+="\n";
ms+=enOpus[2];
ms+="\n";
ms+=enStroka4[2];
break;

//TODO ALL res
case 4:
ms = enDigital[3];
ms += "\n";
ms += enOpus[3];
ms += "\n";
ms += enStroka1[3];
break;
case 13:
ms = enDigital[3];
ms += "\n";
ms += enOpus[3];
ms += "\n";
ms += enStroka2[3];
break;
case 22:
ms = enDigital[3];
ms += "\n";
ms += enOpus[3];
ms += "\n";
ms += enStroka3[3];
break;
case 31:
ms = enDigital[3];
ms += "\n";
ms += enOpus[3];
ms += "\n";
ms += enStroka4[3];
break;

case 5:
ms = enDigital[4];
ms += "\n";
ms += enOpus[4];
ms += "\n";
ms += enStroka1[4];
break;
case 14:
ms = enDigital[4];
ms += "\n";
ms += enOpus[4];
ms += "\n";
ms += enStroka2[4];
break;
case 23:
ms = enDigital[4];
ms += "\n";
ms += enOpus[4];
ms += "\n";
ms += enStroka3[4];
break;


case 6:
ms = enDigital[5];
ms += "\n";
ms += enOpus[5];
ms += "\n";
ms += enStroka1[5];
break;
case 15:
ms = enDigital[5];
ms += "\n";
ms += enOpus[5];
ms += "\n";
ms += enStroka2[5];
break;
case 24:
ms = enDigital[5];
ms += "\n";
ms += enOpus[5];
ms += "\n";
ms += enStroka3[5];
break;


case 7:
ms = enDigital[6];
ms += "\n";
ms += enOpus[6];
ms += "\n";
ms += enStroka1[6];
break;
case 16:
ms = enDigital[6];
ms += "\n";
ms += enOpus[6];
ms += "\n";
ms += enStroka2[6];
break;
case 25:
ms = enDigital[6];
ms += "\n";
ms += enOpus[6];
ms += "\n";
ms += enStroka3[6];
break;

case 8:
ms = enDigital[7];
ms += "\n";
ms += enOpus[7];
ms += "\n";
ms += enStroka1[7];
break;
case 17:
ms = enDigital[7];
ms += "\n";
ms += enOpus[7];
ms += "\n";
ms += enStroka2[7];
break;
case 26:
ms = enDigital[7];
ms += "\n";
ms += enOpus[7];
ms += "\n";
ms += enStroka3[7];
break;

case 9:
ms = enDigital[8];
ms += "\n";
ms += enOpus[8];
ms += "\n";
ms += enStroka1[8];
break;
case 18:
ms = enDigital[8];
ms += "\n";
ms += enOpus[8];
ms += "\n";
ms += enStroka2[8];
break;
case 27:
ms = enDigital[8];
ms += "\n";
ms += enOpus[8];
ms += "\n";
ms += enStroka3[8];
break;


}
t+=ms;
if(NUMBER[i]<32)
{
JOptionPane.showMessageDialog(this, t);
}
}
}
}
}

}//end paint

private void ScanFromFile() {
try {
Scanner scan=new Scanner(inf);
String z="";
for (int i = 0; i <9 ; i++)
{
z=scan.nextLine();
enDigital[i]=z;

z=scan.nextLine();
enOpus[i]=z;

z=scan.nextLine();
enStroka1[i]=z;

z=scan.nextLine();
enStroka2[i]=z;

z=scan.nextLine();
enStroka3[i]=z;

z=scan.nextLine();
enStroka4[i]=z;
}
scan.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}

}//end ScanFromFile()


//TODO mouseHandler
MouseAdapter mouseHandler = new MouseAdapter()
{
public void mouseMoved(MouseEvent e) {
toch = e.getPoint();
//Thread.sleep(1);
//mouseMoveEvent = "mouse move= " + x + "; " + y;
//repaint();
}
public void mouseClicked(MouseEvent e) {
toch = e.getPoint();
//mouseEvent = "mouse click= " + x + "; " + y;
//on=true;
repaint();
}
};

//TODO SuperFrame
public TestInfoDay(){
super("Енергетика дня народження.");
addWindowListener(this);
addMouseListener(mouseHandler);
addMouseMotionListener(mouseHandler);
setLayout(null);
setLocation(250,50);
setSize(459,651);
this.setResizable(false);
show();

Image icon=new ImageIcon("res/icon1.png").getImage();
this.setIconImage(icon);

}//end main Frame

}//end Frame TestInfoDay

}//end MainProject

	
Якщо ви помітили помилку чи неточність, виділіть фрагмент тексту та натисніть Ctrl+Enter.

 

Умови використання матеріалів сайту

Використання матеріалів можливе лише за умови активного гіперпосилання на UaModna ( див. Правила* ). Для генерації коду посилання натисніть на кнопку

Думки, позиції, уподобання та заклики, опубліковані на нашому сайті, є власністю авторів і можуть не співпадати з поглядами редакції uamodna.com