Witam,
zaczynam programować w JAVIE, i stwierdziłem że na przykładach najlepiej się uczyć więc postanowiłem napisać prosty program GUI który będzie:
#Wczytywał zdjęcie
#Po kliknięciu na przycisk wyświetl wyświetlał je w nowym oknie
#Na zdjęciu zostanie wyświetlona ramka którą będzie można ustawiać za pomocą strzałkek na klawiaturze
#Po naciśnięciu przycisku kadruj zdięcie zostanie przycięte do rozmiaru zaznaczonego przez ramkę i wyświetlone ponownie
#I na koniec oczywiście zapisanie do pliku *.jpg
Problem pojawił się już w punkcie 2. Czytałem że do pracy na obrazach najlepiej używać Bufferedimage jednak nie wiem jak ją osadzić w tym programie w taki sposób żeby po kliknięciu wyświetl obraz pojawił się w drugim oknie.
Z góry dziękuję za każdą udzieloną radę.
import javax.imageio.ImageIO;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
public class kadr
{
public static void main(String []args)
{
power p=new power();
p.setVisible(true);
}
}
class power extends JFrame
{
JFileChooser chooser;
JFrame okno2;
BufferedImage img;
JButton przycisk;
File file ;
JMenuBar menu;
JMenu menuPilk, menuPomoc;
JMenuItem mOtwórz, mZapisz;
JPanel panel=new JPanel();
public power()
{
setSize(1000, 700);
setTitle("Program do kadrowania");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
panel.setLayout(new BorderLayout());
getContentPane().add(panel, BorderLayout.CENTER);
menu=new JMenuBar();
menuPilk= new JMenu("Plik");
mOtwórz= new JMenuItem("Otwórz");
mZapisz= new JMenuItem("Zapisz");
menuPilk.add(mOtwórz);
menuPilk.add(mZapisz);
menuPomoc= new JMenu("Pomoc");
setJMenuBar(menu);
menu.add(menuPilk);
menu.add(menuPomoc);
getContentPane().add(panel);
chooser = new JFileChooser();
ActionListener action=new ActionListener()
{
public void actionPerformed(ActionEvent e) {
if (e.getSource()==mOtwórz) {
chooser.showOpenDialog(null);
file = chooser.getSelectedFile();
try {
img=ImageIO.read(file);
}
catch(IOException e1) {}
}
if (e.getSource()==przycisk){
okno2.setVisible(true);
}
}
};
przycisk=new JButton("wyswietl");
przycisk.addActionListener(action);
mOtwórz.addActionListener(action);
panel.add(przycisk,BorderLayout.SOUTH);
okno2=new JFrame();
okno2.setSize(650,500);
okno2.setLayout(new BorderLayout());
okno2.setTitle("Okno edytora");
}
}