2013-01-04 25 views
1

//編輯:由我編輯的問題beacuse我不想在這裏做混亂;) 你好。這裏有兩個課,我有一個問題。在程序中,一個類的子類打開和顯示圖像效果很好,但是當我爲兩個類創建一些代碼時,它不起作用(在JPanel中顯示圖像)。我知道這是soooooo多,但也沒辦法;]打開的圖像不出現

public class przegladarka_3 { 

public static void main(String[] args){ 
    uklad_gl okno_gl=new uklad_gl(true,800,600,"Przeglądarka plików graficznych 1.0 alfa"); 
    okno_gl.setResizable(false); 
    okno_gl.setLocationRelativeTo(okno_gl); 
    okno_gl.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
} 
} 


class uklad_gl extends JFrame{ 

JPanel rozklad=new JPanel(); 
JPanel rozklad2; 
JScrollPane zwijanie; //panel dla suwaków 
JMenuBar pasek_meni; 
JMenuItem wybor; 
JMenu[] pdp; //Plik Dodaj Pomoc 

String[] tab_pasek; 
String[] tab1; //wybory dla Plik 
String[] tab2; //Dodaj 
String[] tab3; //Pomoc 

JFileChooser otworz,zapisz_jako; 
ActionListener wykonaj_plik=new uklad_gl.klasa_zadan(); 
ActionListener wykonaj_dzialanie=new uklad_gl.klasa_zadan(); 
ActionListener wykonaj_pomoc=new uklad_gl.klasa_zadan(); 


public uklad_gl(boolean b, int wys, int szer, String tytul){ 
setVisible(b); 
setSize(wys, szer); 
setTitle(tytul); 


rozklad2=new JPanel(new BorderLayout()); 
add(rozklad,BorderLayout.PAGE_END); 
add(rozklad2,BorderLayout.LINE_END); 

zwijanie=new JScrollPane(rozklad); 

pasek_postepu=new JProgressBar(1,100); 
pasek_postepu.setValue(0); 
pasek_postepu.setStringPainted(true); 
pasek_postepu.setBounds(600, 200, 110,500); 

stworz_caly_pasek_meni("Plik,Dodaj,Pomoc"); 

} 



public void stworz_caly_pasek_meni(String lista_pasek){ 

tab_pasek=lista_pasek.split(","); 
pasek_meni=new JMenuBar(); 
pdp=new JMenu[tab_pasek.length]; 
rozklad.add(pasek_meni); 
setJMenuBar(pasek_meni); 

for(int i=0;i<tab_pasek.length;i++){ 

     pdp[i]=new JMenu(tab_pasek[i]); 
     setJMenuBar(pasek_meni); 
     pasek_meni.add(pdp[i]); 

     if(i==0) stworz_Plik("Otwórz,Zapisz,Zapisz jako...,Zamknij",wykonaj_plik); 
     else if(i==1) stworz_Dzialanie("Odcienie szarości,Sepia,Negatyw,Nasycenie barw",wykonaj_dzialanie); 
     else stworz_Pomoc("O mnie, O programie, Najczęściej zadawane pytania",wykonaj_pomoc); 

    } 
    } 

public void stworz_Plik(String lista_Plik,ActionListener e){ 

tab1=lista_Plik.split(","); 

for(int i=0;i<tab1.length;i++){ 

     wybor=new JMenuItem(tab1[i]); 
     pdp[0].add(wybor); 
     wybor.addActionListener(e); 

    } 
    } 

public void stworz_Dzialanie(String lista_Dodaj,ActionListener e){ 

tab2=lista_Dodaj.split(","); 

for(int i=0;i<tab2.length;i++){ 

     wybor=new JMenuItem(tab2[i]); 
     pdp[1].add(wybor); 
     wybor.addActionListener(e); 

    } 
    } 

public void stworz_Pomoc(String lista_Pomoc,ActionListener e){ 

tab3=lista_Pomoc.split(","); 

for(int i=0;i<tab3.length;i++){ 

     wybor=new JMenuItem(tab3[i]); 
     pdp[2].add(wybor); 
     wybor.addActionListener(e); 

    } 
    } 

    public class klasa_zadan implements ActionListener,WindowListener,ComponentListener,MouseListener{ 
    BufferedImage obraz; 


    public void actionPerformed(ActionEvent e){ 
    String polecenie=e.getActionCommand(); 

    if(polecenie.equals("Otwórz")) try { 
    otworz(); 
} catch (IOException ex) { 
    Logger.getLogger(uklad_gl.class.getName()).log(Level.SEVERE, null, ex); 
} 


     } 

public void otworz() throws IOException{ 
    otworz=new JFileChooser("C://"); 
    FileNameExtensionFilter rastrowa=new FileNameExtensionFilter("Pliki grafiki rastrowej(.jpeg,.png.,gif...)", "jpeg","jpg", "gif","png","bmp"); 

    otworz.setFileFilter(rastrowa); 

    int a=otworz.showOpenDialog(null); 

    if(a==JFileChooser.APPROVE_OPTION){ 
    String nazwa_pliku=otworz.getSelectedFile().getAbsolutePath(); 
    String roz=nazwa_pliku.substring(nazwa_pliku.lastIndexOf('.')+1); 

    obraz=ImageIO.read(otworz.getSelectedFile());   
    rozklad=new JPanel(){ 

    protected void paintComponent(Graphics g){ 
      Graphics g2 = g.create(); 
      g2.drawImage(obraz, 0, 0, getWidth(), getHeight(), null); 
      g2.dispose();    
     }   
}; 
add(rozklad); 
revalidate(); 
repaint(); 
} 
} 
} 
} 

** * ** * ***新類* ** * ** * *

public class klasa_zadan extends JFrame implements ActionListener,WindowListener,ComponentListener,MouseListener{ 

BufferedImage obraz; 

JFileChooser otworz,zapisz_jako; 

public void actionPerformed(ActionEvent e){ 
    try { 
     String polecenie=e.getActionCommand(); 

     if(polecenie.equals("Otwórz")) 
      otworz(); 

     if(polecenie.equals("Zapisz jako...")) zapisz_jako(); 

     if(polecenie.equals("Zamknij")) zamknij(); 
    } catch (IOException ex) { 
     Logger.getLogger(zadania_plik.class.getName()).log(Level.SEVERE, null, ex); 
    } 
} 

public void otworz() throws IOException{ 
    otworz=new JFileChooser("C://"); 

    FileNameExtensionFilter rastrowa=new FileNameExtensionFilter("Pliki grafiki rastrowej(.jpeg,.png.,gif...)", "jpeg","jpg", "gif","png","bmp"); 
    otworz.setFileFilter(rastrowa); 
    int a=otworz.showOpenDialog(null); 

    if(a==JFileChooser.APPROVE_OPTION){ 
    String nazwa_pliku=otworz.getSelectedFile().getAbsolutePath(); 
// String roz=nazwa_pliku.substring(nazwa_pliku.lastIndexOf('.')+1); 

    final BufferedImage obraz=ImageIO.read(otworz.getSelectedFile()); 
    final JPanel rozklad=new JPanel(new BorderLayout()){ 
    protected void paintComponent(Graphics g){ 
      Graphics g2 = (Graphics2D)g; 
      g2.drawImage(obraz, 0, 0,this); 
      //g2.dispose();    
     }   
}; 
Dimension rozmiar=new Dimension(obraz.getWidth(),obraz.getHeight()); 
add(rozklad); 
revalidate(); 
repaint(); 
} 
} 

public void zapisz() throws IOException{ 
    File plik=zapisz_jako.getSelectedFile(); 
    String nazwa_pliku=plik.getAbsolutePath(); 
    String roz=null; 
    roz=nazwa_pliku.substring(nazwa_pliku.lastIndexOf(".")+1); 
    ImageIO.write(obraz, roz, plik);   //niewiadomo, czy ta metoda działa!!!!     
    } 


public void zapisz_jako(){ //zapisanie pliku do innego formatu jest uzależnione od rodzaju pliku graficznego 
zapisz_jako=new JFileChooser("C://"); 
zapisz_jako.setSelectedFile(new File("beznazwy.jpg")); //tworzy plik, który będzie zapisany z domyślną nazwą 
zapisz_jako.setFileSelectionMode(JFileChooser.FILES_ONLY); 

FileNameExtensionFilter rastrowa=new FileNameExtensionFilter("Pliki grafiki rastrowej(.jpeg,.png.,gif...)", "jpeg","jpg", "gif","png","bmp"); 
zapisz_jako.setFileFilter(rastrowa); 

int a=zapisz_jako.showSaveDialog(null); 

if(a==JFileChooser.APPROVE_OPTION){ 
    File plik=zapisz_jako.getSelectedFile(); 
    String nazwa_pliku=plik.getAbsolutePath(); 
    String roz=null; 

    if(nazwa_pliku.indexOf(".jpg")==-1 && nazwa_pliku.indexOf(".png")==-1 && nazwa_pliku.indexOf(".gif")==-1){  
     nazwa_pliku+=".jpg"; //zostaw jpg jako domyślny 
     roz="jpg"; 
     plik=new File(nazwa_pliku);  
    } 

    else{   
     roz=nazwa_pliku.substring(nazwa_pliku.lastIndexOf(".")+1);    
     try {     
      ImageIO.write(obraz, roz, plik);     
     } catch (IOException ex) {   
      Logger.getLogger(zadania_plik.class.getName()).log(Level.SEVERE, null, ex); 
     } 
    } 
} 
} 

public void zamknij(){ 
int tn=JOptionPane.showConfirmDialog(null, 
     "Czy na pewno chcesz zakończyć działanie z programem?","Widaomość", 
      JOptionPane.YES_NO_OPTION,0,null); 

if(tn==0) System.exit(0);  
} 
} 

=============================================== =======

public class uklad_gl extends JFrame{ 

JPanel rozklad; 
JScrollPane zwijanie; //panel dla suwaków 

JMenuBar pasek_meni; 
JMenuItem wybor; 
JMenu[] pdp; //Plik Dodaj Pomoc 

JScrollPane suwak1,suwak2; 
JProgressBar pasek_postepu; 

String[] tab_pasek; 
String[] tab1; //wybory dla Plik 
String[] tab2; //Dodaj 
String[] tab3; //Pomoc 

JFileChooser otworz,zapisz_jako; 
ActionListener wykonaj_plik=new zadania_plik(); 
ActionListener wykonaj_dzialanie=new zadania_dodaj(); 
ActionListener wykonaj_pomoc=new zadania_pomoc(); 

public uklad_gl(boolean b, int wys, int szer, String tytul){ 
setVisible(b); 
setSize(wys, szer); 
setTitle(tytul); 

rozklad=new JPanel(new BorderLayout()); 

zwijanie=new JScrollPane(rozklad); 

stworz_caly_pasek_meni("Plik,Dodaj,Pomoc"); 
stworz_suwaki(wykonaj_plik); 

} 

public void stworz_suwaki(ActionListener e){ 
//jeszcze nie działają 
suwak1=new JScrollPane(); 
suwak2=new JScrollPane(); 
rozklad.add(suwak1); 
rozklad.add(suwak2); 

} 

public void stworz_caly_pasek_meni(String lista_pasek){ 
tab_pasek=lista_pasek.split(","); 
pasek_meni=new JMenuBar(); 
pdp=new JMenu[tab_pasek.length]; 
rozklad.add(pasek_meni); 
setJMenuBar(pasek_meni); 

for(int i=0;i<tab_pasek.length;i++){ 

     pdp[i]=new JMenu(tab_pasek[i]); 
     setJMenuBar(pasek_meni); 
     pasek_meni.add(pdp[i]); 

     if(i==0) stworz_Plik("Otwórz,Zapisz,Zapisz jako...,Zamknij",wykonaj_plik); 
     else if(i==1) stworz_Dzialanie("Odcienie szarości,Sepia,Negatyw,Nasycenie barw",wykonaj_dzialanie); 
     else stworz_Pomoc("O mnie, O programie, Najczęściej zadawane pytania",wykonaj_pomoc);  
    } 
    } 

public void stworz_Plik(String lista_Plik,ActionListener e){ 
tab1=lista_Plik.split(","); 

for(int i=0;i<tab1.length;i++){ 
     wybor=new JMenuItem(tab1[i]); 
     pdp[0].add(wybor); 
     wybor.addActionListener(e);   
    } 
    } 

public void stworz_Dzialanie(String lista_Dodaj,ActionListener e){ 
tab2=lista_Dodaj.split(","); 

for(int i=0;i<tab2.length;i++){ 
     wybor=new JMenuItem(tab2[i]); 
     pdp[1].add(wybor); 

    } 
    } 

public void stworz_Pomoc(String lista_Pomoc,ActionListener e){ 
tab3=lista_Pomoc.split(","); 

for(int i=0;i<tab3.length;i++){ 
     wybor=new JMenuItem(tab3[i]); 
     pdp[2].add(wybor); 
     wybor.addActionListener(e);  
    } 
    } 
    } 

回答

0

幾個小問題。我認爲這是invokeLater。

我給了面板一個首選大小。

假設組件類(JFrame?)有一個BorderLayout,我選擇了另一個add

public void otworz() throws IOException { 
    JFileChooser otworz = new JFileChooser("C:/"); // Or "C:\\" 

    FileNameExtensionFilter rastrowa = new FileNameExtensionFilter("Pliki grafikirastrowej(.jpeg,.png.,gif...)", "jpeg", "jpg", "gif", "png", "bmp"); 
    otworz.setFileFilter(rastrowa); 
    int a = otworz.showOpenDialog(null); 
    if (a == JFileChooser.APPROVE_OPTION) { 
     String nazwa_pliku = otworz.getSelectedFile().getAbsolutePath(); 
     //String roz = nazwa_pliku.substring(nazwa_pliku.lastIndexOf('.') + 1); 

     final BufferedImage obraz = ImageIO.read(otworz.getSelectedFile()); 
     final JPanel rozklad = new JPanel(new BorderLayout()) { 
      @Override 
      protected void paintComponent(Graphics g) { 
       Graphics g2 = (Graphics2D)g; //g.create(); 
       g2.drawImage(obraz, 0, 0, this); 
       //g2.dispose(); 
      } 
     }; 
     Dimension size = new Dimension(obraz.getWidth(), obraz.getHeight()); 
     rozklad.setPreferredSize(size); 
     java.awt.EventQueue.invokeLater(new Runnable() { 
      public void run() { 
       add(rozklad, BorderLayout.CENTER); 
       revalidate(); 
       repaint(); 
      } 
     }); 
    } 
} 

P.S.你也可以使用JLabel;這更簡單。

   add(new JLabel(new ImageIcon(obraz)), BorderLayout.CENTER); 

在您編輯後

我試圖使用的所有類。我不得不做出一些更正。例如obraz被聲明爲字段和局部變量,以便一個隱藏另一個。我使用了NetBeans IDE,並給出了一些警告和更正建議。

przegladarka_3

import javax.swing.JFrame; 

public class przegladarka_3 { 

    public static void main(String[] args) { 
     uklad_gl okno_gl = new uklad_gl(true, 800, 600, "Przeglądarka plików graficznych 1.0 alfa"); 
     okno_gl.setResizable(false); 
     okno_gl.setLocationRelativeTo(okno_gl); 
     okno_gl.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    } 
} 

uklad_gl

import java.awt.BorderLayout; 
import java.awt.Graphics; 
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 
import java.awt.image.BufferedImage; 
import java.io.IOException; 
import java.util.logging.Level; 
import java.util.logging.Logger; 
import javax.imageio.ImageIO; 
import javax.swing.JFileChooser; 
import javax.swing.JFrame; 
import javax.swing.JMenu; 
import javax.swing.JMenuBar; 
import javax.swing.JMenuItem; 
import javax.swing.JPanel; 
import javax.swing.JScrollPane; 
import javax.swing.filechooser.FileNameExtensionFilter; 

class uklad_gl extends JFrame { 

    JPanel rozklad = new JPanel(); 
    JPanel rozklad2; 
    JScrollPane zwijanie; //panel dla suwaków 
    JMenuBar pasek_meni; 
    JMenuItem wybor; 
    JMenu[] pdp; //Plik Dodaj Pomoc 
    String[] tab_pasek; 
    String[] tab1; //wybory dla Plik 
    String[] tab2; //Dodaj 
    String[] tab3; //Pomoc 
    JFileChooser otworz, zapisz_jako; 
    ActionListener wykonaj_plik = new uklad_gl.klasa_zadan(); 
    ActionListener wykonaj_dzialanie = new uklad_gl.klasa_zadan(); 
    ActionListener wykonaj_pomoc = new uklad_gl.klasa_zadan(); 

    public uklad_gl(boolean b, int wys, int szer, String tytul) { 
     setVisible(b); 
     setSize(wys, szer); 
     setTitle(tytul); 


     rozklad2 = new JPanel(new BorderLayout()); 
     add(rozklad, BorderLayout.PAGE_END); 
     add(rozklad2, BorderLayout.LINE_END); 

     zwijanie = new JScrollPane(rozklad); 

//  pasek_postepu = new JProgressBar(1, 100); 
//  pasek_postepu.setValue(0); 
//  pasek_postepu.setStringPainted(true); 
//  pasek_postepu.setBounds(600, 200, 110, 500); 

     stworz_caly_pasek_meni("Plik,Dodaj,Pomoc"); 

    } 

    public final void stworz_caly_pasek_meni(String lista_pasek) { 

     tab_pasek = lista_pasek.split(","); 
     pasek_meni = new JMenuBar(); 
     pdp = new JMenu[tab_pasek.length]; 
     rozklad.add(pasek_meni); 
     setJMenuBar(pasek_meni); 

     for (int i = 0; i < tab_pasek.length; i++) { 

      pdp[i] = new JMenu(tab_pasek[i]); 
      setJMenuBar(pasek_meni); 
      pasek_meni.add(pdp[i]); 

      if (i == 0) { 
       stworz_Plik("Otwórz,Zapisz,Zapisz jako...,Zamknij", wykonaj_plik); 
      } else if (i == 1) { 
       stworz_Dzialanie("Odcienie szarości,Sepia,Negatyw,Nasycenie barw", wykonaj_dzialanie); 
      } else { 
       stworz_Pomoc("O mnie, O programie, Najczęściej zadawane pytania", wykonaj_pomoc); 
      } 

     } 
    } 

    public void stworz_Plik(String lista_Plik, ActionListener e) { 

     tab1 = lista_Plik.split(","); 

     for (int i = 0; i < tab1.length; i++) { 

      wybor = new JMenuItem(tab1[i]); 
      pdp[0].add(wybor); 
      wybor.addActionListener(e); 

     } 
    } 

    public void stworz_Dzialanie(String lista_Dodaj, ActionListener e) { 

     tab2 = lista_Dodaj.split(","); 

     for (int i = 0; i < tab2.length; i++) { 

      wybor = new JMenuItem(tab2[i]); 
      pdp[1].add(wybor); 
      wybor.addActionListener(e); 

     } 
    } 

    public void stworz_Pomoc(String lista_Pomoc, ActionListener e) { 

     tab3 = lista_Pomoc.split(","); 

     for (int i = 0; i < tab3.length; i++) { 

      wybor = new JMenuItem(tab3[i]); 
      pdp[2].add(wybor); 
      wybor.addActionListener(e); 

     } 
    } 

// public class klasa_zadan implements ActionListener, WindowListener, ComponentListener, MouseListener { 
    public class klasa_zadan implements ActionListener { 

     BufferedImage obraz; 

     public void actionPerformed(ActionEvent e) { 
      String polecenie = e.getActionCommand(); 

      if (polecenie.equals("Otwórz")) { 
       try { 
        otworz(); 
       } catch (IOException ex) { 
        Logger.getLogger(uklad_gl.class.getName()).log(Level.SEVERE, null, ex); 
       } 
      } 


     } 

     public void otworz() throws IOException { 
      otworz = new JFileChooser("C:/"); 
      FileNameExtensionFilter rastrowa = new FileNameExtensionFilter("Pliki grafiki rastrowej(.jpeg,.png.,gif...)", "jpeg", "jpg", "gif", "png", "bmp"); 

      otworz.setFileFilter(rastrowa); 

      int a = otworz.showOpenDialog(null); 

      if (a == JFileChooser.APPROVE_OPTION) { 
       String nazwa_pliku = otworz.getSelectedFile().getAbsolutePath(); 
       String roz = nazwa_pliku.substring(nazwa_pliku.lastIndexOf('.') + 1); 

       obraz = ImageIO.read(otworz.getSelectedFile()); 
       rozklad = new JPanel() { 
        @Override 
        protected void paintComponent(Graphics g) { 
         Graphics g2 = g.create(); 
         g2.drawImage(obraz, 0, 0, getWidth(), getHeight(), null); 
         g2.dispose(); 
        } 
       }; 
       add(rozklad); 
       revalidate(); 
       repaint(); 
      } 
     } 
    } 
} 

klasa_zadan

import java.awt.BorderLayout; 
import java.awt.Dimension; 
import java.awt.Graphics; 
import java.awt.Graphics2D; 
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 
import java.awt.image.BufferedImage; 
import java.io.File; 
import java.io.IOException; 
import java.util.logging.Level; 
import java.util.logging.Logger; 
import javax.imageio.ImageIO; 
import javax.swing.JFileChooser; 
import javax.swing.JFrame; 
import javax.swing.JOptionPane; 
import javax.swing.JPanel; 
import javax.swing.filechooser.FileNameExtensionFilter; 

//public class klasa_zadan extends JFrame implements ActionListener, WindowListener, ComponentListener, MouseListener { 
public class klasa_zadan extends JFrame implements ActionListener { 

    BufferedImage obraz; 
    JFileChooser otworz, zapisz_jako; 

    public void actionPerformed(ActionEvent e) { 
     try { 
      String polecenie = e.getActionCommand(); 

      if (polecenie.equals("Otwórz")) { 
       otworz(); 
      } 

      if (polecenie.equals("Zapisz jako...")) { 
       zapisz_jako(); 
      } 

      if (polecenie.equals("Zamknij")) { 
       zamknij(); 
      } 
     } catch (IOException ex) { 
      Logger.getLogger(klasa_zadan.class.getName()).log(Level.SEVERE, null, ex); 
     } 
    } 

    public void otworz() throws IOException { 
     otworz = new JFileChooser("C://"); 

     FileNameExtensionFilter rastrowa = new FileNameExtensionFilter("Pliki grafiki rastrowej(.jpeg,.png.,gif...)", "jpeg", "jpg", "gif", "png", "bmp"); 
     otworz.setFileFilter(rastrowa); 
     int a = otworz.showOpenDialog(null); 

     if (a == JFileChooser.APPROVE_OPTION) { 
      String nazwa_pliku = otworz.getSelectedFile().getAbsolutePath(); 
      // String roz=nazwa_pliku.substring(nazwa_pliku.lastIndexOf('.')+1); 

      /*final BufferedImage*/ obraz = ImageIO.read(otworz.getSelectedFile()); 
      final JPanel rozklad = new JPanel(new BorderLayout()) { 
       @Override 
       protected void paintComponent(Graphics g) { 
        Graphics g2 = (Graphics2D) g; 
        g2.drawImage(obraz, 0, 0, this); 
        //g2.dispose();    
       } 
      }; 
      Dimension rozmiar = new Dimension(obraz.getWidth(), obraz.getHeight()); 
      add(rozklad); 
      revalidate(); 
      repaint(); 
     } 
    } 

    public void zapisz() throws IOException { 
     File plik = zapisz_jako.getSelectedFile(); 
     String nazwa_pliku = plik.getAbsolutePath(); 
     String roz = nazwa_pliku.substring(nazwa_pliku.lastIndexOf(".") + 1); 
     ImageIO.write(obraz, roz, plik);   //niewiadomo, czy ta metoda działa!!!!     
    } 

    public void zapisz_jako() { //zapisanie pliku do innego formatu jest uzależnione od rodzaju pliku graficznego 
     zapisz_jako = new JFileChooser("C://"); 
     zapisz_jako.setSelectedFile(new File("beznazwy.jpg")); //tworzy plik, który będzie zapisany z domyślną nazwą 
     zapisz_jako.setFileSelectionMode(JFileChooser.FILES_ONLY); 

     FileNameExtensionFilter rastrowa = new FileNameExtensionFilter("Pliki grafiki rastrowej(.jpeg,.png.,gif...)", "jpeg", "jpg", "gif", "png", "bmp"); 
     zapisz_jako.setFileFilter(rastrowa); 

     int a = zapisz_jako.showSaveDialog(null); 

     if (a == JFileChooser.APPROVE_OPTION) { 
      File plik = zapisz_jako.getSelectedFile(); 
      String nazwa_pliku = plik.getAbsolutePath(); 
      String roz; 

      if (nazwa_pliku.indexOf(".jpg") == -1 && nazwa_pliku.indexOf(".png") == -1 && nazwa_pliku.indexOf(".gif") == -1) { 
       nazwa_pliku += ".jpg"; //zostaw jpg jako domyślny 
//    roz = "jpg"; 
//    plik = new File(nazwa_pliku); 
      } else { 
       roz = nazwa_pliku.substring(nazwa_pliku.lastIndexOf(".") + 1); 
       try { 
        ImageIO.write(obraz, roz, plik); 
       } catch (IOException ex) { 
        Logger.getLogger(klasa_zadan.class.getName()).log(Level.SEVERE, null, ex); 
       } 
      } 
     } 
    } 

    public void zamknij() { 
     int tn = JOptionPane.showConfirmDialog(null, 
       "Czy na pewno chcesz zakończyć działanie z programem?", "Widaomość", 
       JOptionPane.YES_NO_OPTION, 0, null); 

     if (tn == 0) { 
      System.exit(0); 
     } 
    } 
} 
+0

很抱歉,但沒有被改變之後改變秒。任何想法發生了什麼?採取給予所有的代碼 – Michal

+0

。 –

+0

謝謝!但是我有一個問題 - 可能只有方法otworz()和這個子類在calss文件klasa_zadan中嗎? – Michal