Witam zrobiłem cos takiego tylko ,że nie pokazuje mi Okna JFrame nie wiem dlaczego.
import java.awt.Color;
autor ek
import java.awt.Dimension;
import javax.swing.*;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JButton;
import java.util.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Samochód extends JFrame
{
int paliwo1;
int nr;
int paliwo2;
Parking parking;
private static Parking parking;
Random rnd = new Random();
JTextArea textArea = new JTextArea();
JScrollPane panelprzewijania=new JScrollPane(textArea);
JButton start ;
JButton koniec;
public Samochód(int Nr, int Paliwo1, int Paliwo2, Parking parking )
{
setLayout(null);//menedżer rozkładu (layout)Zmiana menedżera rozkładu – metoda setLayout
setPreferredSize(new Dimension(640,445));
setBackground(new Color(210,246,255));
start=new JButton("Start", new ImageIcon("images/analiza.png"));
koniec=new JButton("Start", new ImageIcon("images/analiza.png"));
panelprzewijania=new JScrollPane(textArea,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
add(koniec);
add(start);
start.setBounds(20,125,105,30);
add(textArea);
textArea.setBounds(20,165,270,200);
add(panelprzewijania);
panelprzewijania.setBounds(20,165,270,200);
//------------------------------------------------------------------------------
nr = Nr;
paliwo1 = Paliwo1;
paliwo2 = Paliwo2;
parking = Parking;
textArea.append("Samochod[Numer:" + nr +"] [Paliwo:" + paliwo1+".\n");
}
public void jazda() throws InterruptedException
{
Thread.sleep(1000);
paliwo1 = paliwo1 - 10;
if(paliwo1 > paliwo2)
{ textArea.append("Samochód [Numer:" + nr +"] [Paliwo:" + paliwo1+ "jedzie na misję.\n");
//System.out.println("Samochód [Numer:" + nr +"] [Paliwo:" + paliwo1 + "] jedzie na misję");
Thread.sleep(1000);
}
else
if(paliwo1 <= 20 && parking.nowy == false )
{ textArea.append("Samochód [Numer:" + nr +"] [Paliwo:" + paliwo1+"wykonano misję/zatrzymał sie.\n");
//System.out.println("Samochód [Numer:" + nr +"] [Paliwo:" + paliwo1 + "] wykonano misję/zatrzymal sie");
Thread.sleep(1000);
//}
//else
//if(paliwo1 <= 20 && parking.nowy == false )
//{
// System.out.println("Samolot [Numer:" + nr +"] [Paliwo:" + paliwo1 + "] zatrzymal sie");
//Thread.sleep(1000);
}
else
if(paliwo1 < paliwo2)
{ textArea.append("Samochód [Numer:" + nr +"] [Paliwo:" + paliwo1+"wraca z podruzy.\n");
//System.out.println("Samochód [Numer:" + nr +"] [Paliwo:" + paliwo1 + "] wraca z podruzy");
Thread.sleep(1000);
}
}
public void tankowanie() throws InterruptedException
{
if(paliwo1 <=20 && parking.nowy==true)
{
parking.Zajety();
//System.out.println("Samochod [Numer:" + nr +"] [Paliwo:" + paliwo1 + "] podjezdza do stacji");
//Thread.sleep(1000);
textArea.append("Samochod[Numer:" + nr +"] [Paliwo:" + paliwo1+"zatrzymal sie/tankuje.\n");
//System.out.println("Samochod [Numer:" + nr +"] [Paliwo:" + paliwo1 + "] zatrzymal sie/tankuje");
Thread.sleep(5000);
paliwo1 = (rnd.nextInt(10)+1)*100;
textArea.append("Samochod [Numer:" + nr +"] [Paliwo:" + paliwo1+"zatankował/jedzie.\n");
//System.out.println("Samochód[Numer:" + nr +"] [Paliwo:" + paliwo1 + "] zatankował/jedzie");
Thread.sleep(1000);
parking.Wolny();
}
}
public void run()
{
try
{
do
{
tankowanie();
jazda();
}
while(paliwo1>0);
textArea.append("Samochód [Numer:" + nr +"] [Paliwo:" + paliwo1+"zatrzymal sie .\n");
//System.out.println(" Samochód [Numer:" + nr +"] [Paliwo:" + paliwo1 + "] zatrzymał sie ");
}
catch (InterruptedException e)
{
return;
}
start.addActionListener(new ActionListener (){
public void actionPerformed (ActionEvent e){
for(int i=1; i<=3; i++)
{
Random rnd = new Random();
int paliwo1 = (rnd.nextInt(10)+1)*100;
int paliwo2 = paliwo1/2 + 20;
new Samolot(i, paliwo1, paliwo2, Parking).start();
}
}
} );
koniec.addActionListener(new ActionListener () {
public void actionPerformed(ActionEvent e){
System.exit(0);
}
});
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
parking = new Parking(); // stworzenie obiektu
}
private void start() {
throw new UnsupportedOperationException("Not yet implemented");
}
}
public class Parking
{
boolean nowy = true;
public synchronized void Zajety()
{
nowy = false;
}
public void Wolny()
{
nowy = true;
}
}