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 4wpr zadania wpr zadaniawpr zadania 3wpr zadania wpr zadania #wpr zadania !wpr zadania wpr zadaniawpr zadania 1Analiza Matematyczna 2 ZadaniaZARZĄDZANIE FINANSAMI cwiczenia zadania rozwiazaneEZADANIE (11)zadanie domowe zestawwięcej podobnych podstron