Na początku witam wszystkich może zaczne od tego że nie znam się zbytnio na programowaniu w Javie. Pewnie zaśmiecam forum ponieważ pewnie podobny temat już był ale proszę o pomoc.
Mam dwa problemy.
1. to wydobycie nazwy wczytanego pliku graficznego. Nie znam się zbytnio na klasach, funkcjach itd.
Oto kod wczytujący obrazek:
public void openFile()
{
JFileChooser chooser = new JFileChooser();
chooser.setCurrentDirectory(new File("."));
chooser.setFileFilter(new
javax.swing.filechooser.FileFilter()
{
public boolean accept(File f)
{
String name = f.getName().toLowerCase();
return name.endsWith(".jpg") || name.endsWith(".jpeg")
|| f.isDirectory();
}
public String getDescription() { return "Image files"; }
});
int r = chooser.showOpenDialog(this);
if(r != JFileChooser.APPROVE_OPTION) return;
try
{
//int f = chooser.getSelectedFile();
image = ImageIO.read(chooser.getSelectedFile());
}
catch (IOException e)
{
JOptionPane.showMessageDialog(this, e);
}
repaint();
}
Próbuję wydobyć nazwę wybranego oraz wczytanego wcześniej pliku.
image.getName();
Wywala bład, nie wiem czy może nie zrobiłem źle skryptu wczytującego zdjęcie.
2. Kolejnym problemem jest zachowanie danych w zmiennie po użyciu jej w innej klasie. Przykładowo tworzę klasę
public void abc()
w klasie mam obliczenia matematyczne na zmiennej "float"
jeżeli w danej klasie wywołuje zawartość zmiennej poprzez
System.out.println(zmienna);
w wierszu poleceń pojawia się wynik, czyli zawartość zmiennej. Jeżeli odwołuje się do tej zmiennej w innej klasie np.
public void abcd()
i prubuję odczytać zawartość w ten sam sposób, zmienna zwraca "0,0". Oczywiście nie zapomniałem o
private flloat zmienna;
gdzieś na końcu programu.
Za wszelką pomoc z góry dziękuję i pozdrawiam wszystkich
Algecik