wpr zadania 13


package jbPack;

import javax.swing.*;
import java.awt.*;

import java.awt.event.*;
import java.io.*;
import java.util.*;
import java.text.*;

import java.awt.geom.*;
import java.awt.image.*;
import java.awt.font.*;
import java.net.*;
import java.util.zip.*;
import java.lang.reflect.*;
import java.applet.*;

import javax.swing.event.*;
import javax.swing.border.*;
import javax.swing.tree.*;
import java.beans.*;

public
class Program
extends JFrame {

private static final
String caption = "Swing Application"; // tytuł

public static final
int width = 400, height = 400; // rozmiary

public static final
Point location = new Point(150, 150); // położenie

private String lookAndFeel = // wygląd
UIManager.getSystemLookAndFeelClassName();

private Object paintLock = new Object();
private boolean isScreenVisible;

private ContentPane contentPane;

public static void main(String[] args)
{
new Program();
}

public Program()
{
// określenie napisu na pasku tytułowym
setTitle(caption);

// uniemożliwienie zmiany rozmiarów okna
setResizable(false);

// określenie wyglądu aplikacji
try {
UIManager.setLookAndFeel(lookAndFeel);
}
catch(Exception e) {
}

// utworzenie odnośnika do pulpitu
contentPane = new ContentPane();

// wymiana domyślnego pulpitu na własny
setContentPane(contentPane);

// określenie położenia okna
setLocation(location);

// określenie rozmiarów pulpitu
JComponent jContent = (JComponent)contentPane;
String system = System.getProperty("os.name");
int delta = system.indexOf("98") > -1 ||
system.indexOf("95") > -1 ? 0 : 2;
jContent.setPreferredSize(
new Dimension(width-delta, height-delta)
);

// określenie koloru tła okna i pulpitu
setBackground(Color.white);
contentPane.setBackground(Color.white);

// obsługa zamknięcia okna
addWindowListener(
new WindowAdapter() {
public void
windowClosing(WindowEvent evt)
{
System.exit(0);
}
}
);

// upakowanie okna
pack();

// zrealizowanie Naczelnej Zasady
SwingUtilities.invokeLater(
new Runnable() {
public void run()
{
// wykonanie czynności inicjujących
contentPane.initPane();

// wyświetlenie okna i pulpitu
show();
}
}
);

synchronized(paintLock) {
while(!isScreenVisible)
try {
paintLock.wait();
}
catch(InterruptedException e) {}
}

// zrealizowanie Naczelnej Zasady
SwingUtilities.invokeLater(
new Runnable() {
public void run()
{
// nastawienie celownika na pulpit
contentPane.requestFocus();

// nastawienie celownika na komponent
// albo m.in. wykonanie dispose();
contentPane.initFocus();
}
}
);
}

// klasa pomocnicza
class Content
extends JPanel {

void initPane() {}
void initFocus() {}

public void paintComponent(Graphics gDC)
{
super.paintComponent(gDC);

synchronized(paintLock) {
isScreenVisible = true;
paintLock.notify();
}
}
}

// ====== pod-aplikacja ================================= //

public
class ContentPane
extends Content {

Vector vec;

public void initPane()
{
vec = new Vector();
String linia = "";
try{
FileReader fr = new FileReader("d:\\plik_testowy.txt");
BufferedReader bfr = new BufferedReader(fr);
while((linia = bfr.readLine()) != null){
vec.add(linia);
}
} catch( IOException ex ){
System.out.println("Błąd przy operacji na pliku: "+ex);
}
}

public void paintComponent(Graphics gDC)
{
int x;
int y;
int r;
StringTokenizer st;
super.paintComponent(gDC);
for(int i = 0; i< vec.size(); i++){
st = new StringTokenizer((String)vec.get(i));
x = Integer.parseInt(st.nextToken());
y = Integer.parseInt(st.nextToken());
r = Integer.parseInt(st.nextToken());
gDC.drawOval( x, y, r, r);
}
}
}

// ====================================================== //

}


Wyszukiwarka

Podobne podstrony:
wpr zadania $
wpr zadania 
wpr zadania 4
wpr zadania 
wpr zadania
wpr zadania 3
wpr zadania 
wpr zadania #
wpr zadania !
wpr zadania 
wpr zadania
wpr zadania 1
Analiza Matematyczna 2 Zadania
ZARZĄDZANIE FINANSAMI cwiczenia zadania rozwiazaneE
ZADANIE (11)
zadanie domowe zestaw

więcej podobnych podstron