dzięki za odpowiedzi
poradziłem sobie w inny sposób
ale mam takie jeszcze dwa pytania.
otóż mój program składa się z czterech klas.
ProgramDruku - główna klasa wywołująca program
public class ProgramDruku
{
ProgramDruku()
{
new Formularz();
}
static public void main (String arg[])
{
new ProgramDruku();
}
}
Formularz - wprowadzanie danych
import java.awt.Color;
import java.awt.Font;
import java.awt.event.*;
import javax.swing.*;
public class Formularz implements ActionListener
{
//ramka i panel
private JFrame rFormularz = new JFrame();
private JPanel pFormularz = new JPanel(null);
//przyciski
private JButton bZamknij = new JButton("Zakończ");
private JButton bInfo = new JButton("Informacje");
private JButton bPodglad = new JButton("Podglad");
private JButton bZapis = new JButton("Generuj druk");
//radio buttony
private ButtonGroup bG = new ButtonGroup();
private JRadioButton rbWplata = new JRadioButton("",true);
private JRadioButton rbPrzelew = new JRadioButton("",false);
//etykiety
private JLabel eNazwaOdbiorcy1 = new JLabel("Nazwa odbiorcy");
private JLabel eNazwaOdbiorcy2 = new JLabel("Nazwa odbiorcy cd.");
private JLabel eNrRachunku = new JLabel("Numer rachunku odbiorcy");
private JLabel eWplata = new JLabel("Wpłata gotówkowa");
private JLabel ePrzelew = new JLabel("Polecenie przelewu");
private JLabel eWaluta = new JLabel("Waluta");
private JLabel ePLN = new JLabel(" PLN ");
private JLabel eKwota = new JLabel("Kwota");
private JLabel eKwotaSlownie = new JLabel("Nr rachunku zleceniodawcy (polecenie przelewu) / kwota słownie (wpłata gotówkwa)");
private JLabel eNazwaZleceniodawcy1 = new JLabel("Nazwa zleceniodawcy");
private JLabel eNazwaZleceniodawcy2 = new JLabel("Nazwa zleceniodawcy cd.");
private JLabel eTytulem1 = new JLabel("Tytułem");
private JLabel eTytulem2 = new JLabel("Tytułem cd.");
//pole tekstowe
private JTextField tNazwaOdbiorcy1 = new JTextField();
private JTextField tNazwaOdbiorcy2 = new JTextField();
private JTextField tNrRachunku = new JTextField();
private JTextField tWaluta = new JTextField("PLN");
private JTextField tKwota = new JTextField();
private JTextField tKwotaSlownie = new JTextField();
private JTextField tNazwaZleceniodawcy1 = new JTextField();
private JTextField tNazwaZleceniodawcy2 = new JTextField();
private JTextField tTytulem1 = new JTextField();
private JTextField tTytulem2 = new JTextField();
public Formularz()
{
ramkaFormularz();
}
public void ramkaFormularz()
{
rFormularz.setBounds(720,300,530,530);
rFormularz.setTitle("Druk: polecenie przelewu / Wpłata gotówkowa");
rFormularz.setVisible(true);
rFormularz.setResizable(false);
rFormularz.setContentPane(pFormularz);
rFormularz.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
wypelnianie();
przyciski();
}
public void wypelnianie()
{
//pole "Nazwa odbiorcy"
eNazwaOdbiorcy1.setBounds(10,10,100,15);
pFormularz.add(eNazwaOdbiorcy1);
tNazwaOdbiorcy1.setBounds(10,25,500,25);
pFormularz.add(tNazwaOdbiorcy1);
//pole "Nazwa odbiorcy cd."
eNazwaOdbiorcy2.setBounds(10,55,120,15);
pFormularz.add(eNazwaOdbiorcy2);
tNazwaOdbiorcy2.setBounds(10,70,500,25);
pFormularz.add(tNazwaOdbiorcy2);
//pole "Numer rachunku odbiorcy cd."
eNrRachunku.setBounds(10,100,160,15);
pFormularz.add(eNrRachunku);
tNrRachunku.setBounds(10,115,500,25);
pFormularz.add(tNrRachunku);
//pole "Wpłata gotówkowa"
eWplata.setBounds(120,145,115,20);
pFormularz.add(eWplata);
rbWplata.setBounds(235,145,20,20);
bG.add(rbWplata);
pFormularz.add(rbWplata);
//pole "Polecenie przelewu"
ePrzelew.setBounds(120,165,115,20);
pFormularz.add(ePrzelew);
rbPrzelew.setBounds(235,165,20,20);
bG.add(rbPrzelew);
pFormularz.add(rbPrzelew);
//pole "Waluta"
eWaluta.setBounds(270,145,50,20);
pFormularz.add(eWaluta);
ePLN.setFont(new Font("Arial",Font.BOLD,14));
ePLN.setBounds(260,165,70,20);
pFormularz.add(ePLN);
//pole "Kwota"
eKwota.setBounds(350,145,50,20);
pFormularz.add(eKwota);
tKwota.setBounds(350,165,160,20);
pFormularz.add(tKwota);
//pole "Nazwa zleceniodawcy"
eKwotaSlownie.setBounds(10,195,500,20);
pFormularz.add(eKwotaSlownie);
tKwotaSlownie.setBounds(10,215,500,20);
pFormularz.add(tKwotaSlownie);
//pole "Nazwa zleceniodawcy"
eNazwaZleceniodawcy1.setBounds(10,245,500,20);
pFormularz.add(eNazwaZleceniodawcy1);
tNazwaZleceniodawcy1.setBounds(10,265,500,20);
pFormularz.add(tNazwaZleceniodawcy1);
//pole "Nazwa zleceniodawcy cd."
eNazwaZleceniodawcy2.setBounds(10,295,500,20);
pFormularz.add(eNazwaZleceniodawcy2);
tNazwaZleceniodawcy2.setBounds(10,315,500,20);
pFormularz.add(tNazwaZleceniodawcy2);
//pole "Tytulem"
eTytulem1.setBounds(10,345,50,20);
pFormularz.add(eTytulem1);
tTytulem1.setBounds(10,365,500,20);
pFormularz.add(tTytulem1);
//pole "Tytulem cd."
eTytulem2.setBounds(10,395,70,20);
pFormularz.add(eTytulem2);
tTytulem2.setBounds(10,415,500,20);
pFormularz.add(tTytulem2);
}
public void przyciski()
{
//przycisk "Genreuj druk"
bZapis.setBounds(10,450,110,40);
pFormularz.add(bZapis);
bZapis.addActionListener(this);
//przycisk "Podgląd"
bPodglad.setBounds(130,450,110,40);
pFormularz.add(bPodglad);
bPodglad.addActionListener(this);
//przycisk "Inforamcje"
bInfo.setBounds(250,450,110,40);
pFormularz.add(bInfo);
bInfo.addActionListener(this);
//przycisk "Zamknij"
bZamknij.setBounds(370,450,110,40);
pFormularz.add(bZamknij);
bZamknij.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{
Object ob = e.getSource();
if (ob==bZapis)
{
}
else if (ob==bPodglad)
{
new Wypelnianie();
}
else if (ob==bInfo)
{
JOptionPane.showMessageDialog(null, "Program na zaliczenie przedmoitu.\n");
}
else if (ob==bZamknij)
{
System.exit(0);
}
}
}
Wypelnianie - klasa rysująca druk z klasy Druk oraz tworząca nową ramkę
import java.awt.Graphics;
import javax.swing.*;
public class Wypelnianie
{
JDialog dWypelnianie = new JDialog();
Druk druk = new Druk();
public Wypelnianie()
{
ramkaWypelnianie();
}
public void ramkaWypelnianie()
{
dWypelnianie.setModal(true);
dWypelnianie.setBounds(10,10,800,980);
dWypelnianie.add(druk);
dWypelnianie.setTitle("Podgląd wypełnionego druku");
dWypelnianie.setVisible(true);
dWypelnianie.setResizable(true);
dWypelnianie.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
}
}
Druk - klasa rysująca druk
import java.awt.*;
import javax.swing.*;
public class Druk extends JPanel
{
public void paintComponent (Graphics g)
{
Graphics2D g2 = (Graphics2D) g;
//ustawinie czcionki, wypełnienie ramki kolorem białym
g.setFont(new Font("Arial",Font.BOLD, 10));
g.setColor(Color.white);
g.fillRect(0,0,3000,3000);
//linie do przycięcia druku
g.setColor(Color.black);
g.drawRect(10,5,630,470);
g.drawRect(10,475,630,470);
/ **************************************************** /
/ ***Odcinek dla instytucji przyjmującej zlecenie*** /
/ **************************************************** /
//obrysowanie druku
g.setColor(Color.BLACK);
g.drawRect(39,9,571,461);
//wypełnienie druku kolorem jasno szarym
g.setColor(Color.LIGHT_GRAY);
g.fillRect(40,10,570,460);
//Pole "Nazwa odbiorcy"
g.setColor(Color.black);
g.drawString("Nazwa odbiorcy",50,21);
g.setColor(Color.black);
g.drawRect(49,24,551,21);
g.setColor(Color.white);
g.fillRect(50,25,550,20);
//Pole "Nazwa odbiorcy cd."
g.setColor(Color.black);
g.drawString("Nazwa odbiorcy cd.",50,56);
g.setColor(Color.black);
g.drawRect(49,59,551,21);
g.setColor(Color.white);
g.fillRect(50,60,550,20);
//Pole "Numer rachunku odbiorcy"
g.setColor(Color.black);
g.drawString("Numer rachunku odbiorcy",50,91);
g.setColor(Color.black);
g.drawRect(49,94,551,21);
g.setColor(Color.white);
g.fillRect(50,95,550,20);
//Pole do zaznaczenia "Wpłata"
g.setColor(Color.black);
g.drawRect(262,132,22,21);
g.setColor(Color.white);
g.fillRect(263,133,20,20);
g.setColor(Color.black);
g.drawString("W",268,148);
//Pole do zaznaczenia "Przelew"
g.setColor(Color.black);
g.drawRect(283,132,21,21);
g.setColor(Color.white);
g.fillRect(284,133,20,20);
g.setColor(Color.black);
g.drawString("P",290,148);
//Pole "Waluta"
g.setColor(Color.black);
g.drawString("Waluta",320,129);
g.setColor(Color.black);
g.drawRect(319,132,51,21);
g.setColor(Color.white);
g.fillRect(320,133,50,20);
g.setColor(Color.black);
g.drawString("PLN",332,148);
//Pole "Kwota"
g.setColor(Color.black);
g.drawString("Kwota",400,130);
g.setColor(Color.black);
g.drawRect(399,132,201,21);
g.setColor(Color.white);
g.fillRect(400,133,200,20);
//Pole "Numer rachunku zleceniodawcy ..."
g.setColor(Color.black);
g.drawString("Numer rachunku zleceniodawcy (polecenie przelewu) / kwota słownie (wpłata gotówkowa)",50,172);
g.setColor(Color.black);
g.drawRect(49,174,551,21);
g.setColor(Color.white);
g.fillRect(50,175,550,20);
//Pole "Nazwa zleceniodawcy"
g.setColor(Color.black);
g.drawString("Nazwa zleceniodawcy",50,207);
g.setColor(Color.black);
g.drawRect(49,209,551,21);
g.setColor(Color.white);
g.fillRect(50,210,550,20);
//Pole "Nazwa zleceniodawcy cd."
g.setColor(Color.black);
g.drawString("Nazwa zleceniodawcy cd.",50,243);
g.setColor(Color.black);
g.drawRect(49,245,551,21);
g.setColor(Color.white);
g.fillRect(50,246,550,20);
//Pole "Tytułem"
g.setColor(Color.black);
g.drawString("Tytułem",50,278);
g.setColor(Color.black);
g.drawRect(49,279,551,21);
g.setColor(Color.white);
g.fillRect(50,280,550,20);
//Pole "Tytułem cd."
g.setColor(Color.black);
g.drawString("Tytułem cd.",50,313);
g.setColor(Color.black);
g.drawRect(49,314,551,21);
g.setColor(Color.white);
g.fillRect(50,315,550,20);
//Pole na datę i podpis zleceniodawcy
g.setColor(Color.black);
g.drawRect(49,354,251,101);
g.setColor(Color.white);
g.fillRect(50,355,250,100);
g.setColor(Color.black);
g.drawString("Pieczęć, data i podpis(y) zleceniodawcy",70,445);
//pole "Opłata"
g.setColor(Color.black);
g.drawString("Opłata",330,375);
g.setColor(Color.black);
g.drawRect(329,379,71,21);
g.setColor(Color.white);
g.fillRect(330,380,70,20);
//pole na pieczątkę
g.setColor(Color.black);
g.drawRect(419,354,101,101);
g.setColor(Color.white);
g.fillRect(420,355,100,100);
g.setColor(Color.black);
g.drawOval(435,370,70,70);
//linia odzielająca dane od notacji urzędowych
g.setColor(Color.black);
g.drawLine(40,345,610,345);
g.setColor(Color.black);
g.drawRect(560,345,40,20);
g.setColor(Color.white);
g.fillRect(561,346,39,19);
/ ********************************* /
/ ***Odcinek dla zleceniodawcy*** /
/ ********************************* /
//obrysowanie druku
g.setColor(Color.BLACK);
g.drawRect(39,479,571,461);
//wypełnienie druku kolorem jasno szarym
g.setColor(Color.LIGHT_GRAY);
g.fillRect(40,480,570,460);
//Pole "Nazwa odbiorcy"
g.setColor(Color.black);
g.drawString("Nazwa odbiorcy",50,493);
g.setColor(Color.black);
g.drawRect(49,494,551,21);
g.setColor(Color.white);
g.fillRect(50,495,550,20);
//Pole "Nazwa odbiorcy cd."
g.setColor(Color.black);
g.drawString("Nazwa odbiorcy cd.",50,528);
g.setColor(Color.black);
g.drawRect(49,529,551,21);
g.setColor(Color.white);
g.fillRect(50,530,550,20);
//Pole "Numer rachunku odbiorcy"
g.setColor(Color.black);
g.drawString("Numer rachunku odbiorcy",50,563);
g.setColor(Color.black);
g.drawRect(49,564,551,21);
g.setColor(Color.white);
g.fillRect(50,565,550,20);
//Pole do zaznaczenia "Wpłata"
g.setColor(Color.black);
g.drawRect(262,602,21,21);
g.setColor(Color.white);
g.fillRect(263,603,20,20);
g.setColor(Color.black);
g.drawString("W",268,617);
//Pole do zaznaczenia "Przelew"
g.setColor(Color.black);
g.drawRect(283,602,21,21);
g.setColor(Color.white);
g.fillRect(284,603,20,20);
g.setColor(Color.black);
g.drawString("P",290,617);
//Pole "Waluta"
g.setColor(Color.black);
g.drawString("Waluta",320,600);
g.setColor(Color.black);
g.drawRect(319,602,51,21);
g.setColor(Color.white);
g.fillRect(320,603,50,20);
g.setColor(Color.black);
g.drawString("PLN",335,617);
//Pole "Kwota"
g.setColor(Color.black);
g.drawString("Kwota",400,600);
g.setColor(Color.black);
g.drawRect(399,602,201,21);
g.setColor(Color.white);
g.fillRect(400,603,200,20);
//Pole "Numer rachunku zleceniodawcy ..."
g.setColor(Color.black);
g.drawString("Numer rachunku zleceniodawcy (polecenie przelewu) / kwota słownie (wpłata gotówkowa)",50,645);
g.setColor(Color.black);
g.drawRect(49,648,551,21);
g.setColor(Color.white);
g.fillRect(50,649,550,20);
//Pole "Nazwa zleceniodawcy"
g.setColor(Color.black);
g.drawString("Nazwa zleceniodawcy",50,680);
g.setColor(Color.black);
g.drawRect(49,683,551,21);
g.setColor(Color.white);
g.fillRect(50,684,550,20);
//Pole "Nazwa zleceniodawcy cd."
g.setColor(Color.black);
g.drawString("Nazwa zleceniodawcy cd.",50,715);
g.setColor(Color.black);
g.drawRect(49,718,551,21);
g.setColor(Color.white);
g.fillRect(50,719,550,20);
//Pole "Tytułem"
g.setColor(Color.black);
g.drawString("Tytułem",50,750);
g.setColor(Color.black);
g.drawRect(49,753,551,21);
g.setColor(Color.white);
g.fillRect(50,754,550,20);
//Pole "Tytułem cd."
g.setColor(Color.black);
g.drawString("Tytułem cd.",50,785);
g.setColor(Color.black);
g.drawRect(49,788,551,21);
g.setColor(Color.white);
g.fillRect(50,789,550,20);
//Pole na datę i podpis zleceniodawcy
g.setColor(Color.black);
g.drawRect(49,830,251,101);
g.setColor(Color.white);
g.fillRect(50,831,250,100);
g.setColor(Color.black);
g.drawString("Pieczęć, data i podpis(y) zleceniodawcy",70,920);
//pole "Opłata"
g.setColor(Color.black);
g.drawString("Opłata",330,850);
g.setColor(Color.black);
g.drawRect(329,853,71,21);
g.setColor(Color.white);
g.fillRect(330,854,70,20);
//pole na pieczątkę
g.setColor(Color.black);
g.drawRect(419,829,101,101);
g.setColor(Color.white);
g.fillRect(420,830,100,100);
g.setColor(Color.black);
g.drawOval(435,845,70,70);
//linia odzielająca dane od notacji urzędowych
g.setColor(Color.black);
g.drawLine(40,820,610,820);
g.setColor(Color.black);
g.drawRect(560,820,40,20);
g.setColor(Color.white);
g.fillRect(561,821,39,19);
}
}
-
chce aby pola JTextFiled wpisywały dane wprowadzone w formularzu na druczek.
-
jak mogę zapisać druk do pliku graficznego np. JPEG