Witam mam do zrobienia na zajecia aplikacje której zadanie to utworzenie strony startowej a nastepnie przejscie do dwoch innych okienek poprzez wywołanie ich w menu kontekstowym , jednak nie mam pojecia jak wywolac otwarcie sie okna z innej klasy . Dodam ze jestem laikiem i z góry dziękuje za wszelka pomoc .
glowna classa .
import java.awt.*;
import java.awt.event.*;
import java.io.FileWriter;
import java.io.IOException;
import javax.swing.*;
public class ZadanieE extends JFrame implements ActionListener {
private JMenuItem PlikItem3;
public ZadanieE(){
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(400, 400);
setVisible(true);
setTitle("Okno główne zadania egzaminacyjnego");
setLayout (null);
//deklazacja obiektów
JLabel ety1 = new JLabel("Wydział Zarządzania");
JLabel ety2 = new JLabel("Zakład Informatyki Gospodarczej");
JLabel ety3 = new JLabel("Programowanie aplikacji");
JLabel ety4 = new JLabel("Zadanie Egzaminacyjne");
//ustalanie połorzenia
ety1.setBounds(50, 40, 120,20);
ety2.setBounds(50, 60, 220,20);
ety3.setBounds(50, 80, 220,20);
ety4.setBounds(50, 100, 220,20);
//dodanie etykiet do okna aplikacji
add(ety1);
add(ety2);
add(ety3);
add(ety4);
JMenuBar menu = new JMenuBar();
//JMenu
JMenu Plik = new JMenu ("Plik");
JMenuItem Autor = new JMenuItem ("Autor");
Autor.setActionCommand("AAutor");
Autor.addActionListener(this);
//elementy obiektu plik
JMenuItem PlikItem1 = new JMenuItem("Odczyt");
JMenuItem PlikItem2 = new JMenuItem("Zapis");
PlikItem3 = new JMenuItem("Zamknij");
Plik.add(PlikItem1);
Plik.add(PlikItem2);
Plik.addSeparator();
Plik.add(PlikItem3);
//JMenuItem
menu.add(Plik);
menu.add(Autor);
setJMenuBar(menu);
PlikItem1.addActionListener(this); //element odczyt
PlikItem2.addActionListener(this); //element zapis
PlikItem3.addActionListener(this); //element zamknij
}
public void actionPerformed(ActionEvent e) {
String command = e.getActionCommand();
if(command.equals("Zamknij")){
JOptionPane.showConfirmDialog(this, "Nastąpi zamknięcie aplikacji",
"Informacja", JOptionPane.YES_NO_OPTION,JOptionPane.WARNING_MESSAGE);
dispose();
}
else if(command.equals("AAutor")){
JOptionPane.showMessageDialog(this, "Autor Aplikacji: Kacper Pietrzak",
"Informacja", JOptionPane.QUESTION_MESSAGE);
dispose();
}
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable(){
public void run(){
new ZadanieE();
}
});
}
}
classy dodatkowe
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
public class Zapis extends JFrame {
JTextArea ta;
public Zapis() {
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
e.getWindow().dispose();
}
});
ActionListener al = new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand().equals("save"))
save();
}
};
setLayout(null);
ta = new JTextArea("tekst domyślny...");
ta.setBounds(30, 30, 260, 200);
this.add(ta);
JButton bt1 = new JButton("Zapisz");
bt1.setBounds(100, 240, 100, 20);
bt1.addActionListener(al);
bt1.setActionCommand("save");
add(bt1);
add(ta);
setSize(320, 320);
setVisible(true);
setTitle("Zapis do pliku");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void save() {
FileWriter fw = null;
String text = ta.getText();
try {
fw = new FileWriter("magazyn.txt", true);
fw.write(text, 0, text.length());
fw.close();
System.out.println("tekst został zapisany w " + fw);
} catch (IOException e) {
System.out.println("błąd podczas zapisu pliku" + e);
}
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable(){
public void run(){
new Zapis();
}
});
}
}
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
public class Odczyt extends JFrame {
private JTextArea ta;
public Odczyt(){
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
e.getWindow().dispose();
}
});
ActionListener al = new ActionListener(){
public void actionPerformed(ActionEvent e){
if(e.getActionCommand().equals("odczytPlik"))
odczytPlik();
}
};
setLayout(null);
ta = new JTextArea();
ta.setBounds(30, 30, 260, 200);
this.add(ta);
JButton bt1 = new JButton("Odczytaj");
bt1.setBounds(100, 240, 100, 20);
bt1.addActionListener(al);
bt1.setActionCommand("odczytPlik");
add(bt1);
add(ta);
setSize (320, 320);
setVisible(true);
setTitle("Odczyt z pliku");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void odczytPlik() {
File fx = new File("D:\\studia\\programowwanie\\ZadanieE\\magazyn.txt");
if(!fx.exists()){
System.out.println("Plik nie jstnieje");
return;
}
RandomAccessFile raf = null;
try{
raf = new RandomAccessFile (fx, "r");
}
catch (FileNotFoundException e){
System.out.println("Nie ma takiego pliku" + e);
return;
}
//przypisanie odczytanego tekstu do pola ta klasy TextArea
ta.setText("");
String line = "";
try{
while((line = raf.readLine())!= null){;
System.out.println(line);
ta.append(line + '\n');
}
raf.close();
}
catch (IOException f){
System.out.println("Błąd wejścia wyjścia" + f);
}
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable(){
public void run(){
new Odczyt();
}
});
}
}
- screenshot-20180510181417.png (137 KB) - ściągnięć: 95
- screenshot-20180510181930.png (134 KB) - ściągnięć: 102