Salve ho due classi OperationClass e PanelClass.
Il mio problema è che non riesco ad utilizzare il valore di
valoriconstants calcolati nella funzione getSlider() di PanelClass
nella classe OperationClass dove sbaglio????Un'altra cosa
come fare a capire quando un JButton e premuto o meno??GRAZIE
codice:
public class PanelClass extends JInternalFrame implements ActionListener{
public JInternalFrame pannello;
private JSlider slider;
private JPanel mainpanel,labelpanel;
protected double valoriconstants;
protected JButton confermaluminosita;
public PanelClass(){
}
public JInternalFrame pannelloLuminosita(){
pannello = new JInternalFrame("Luminosità", true, true, false, false);
pannello.setSize(300, 150);
mainpanel = new JPanel();
mainpanel.setLayout(new BorderLayout());
labelpanel = new JPanel();
labelpanel.setBorder(BorderFactory.createLineBorder(Color.black));
JLabel lblpannello = new JLabel(" Modifica i parametri di luminosità spostando la barra");
labelpanel.setBackground(Color.white);
lblpannello.setHorizontalAlignment(JLabel.CENTER);
labelpanel.add(lblpannello);
slider = new JSlider(JSlider.HORIZONTAL,-100,100,0);
slider.setMaximum(100);
slider.setMinimum( -100);
Hashtable labelTable = new Hashtable();
labelTable.put(new Integer( -100), new JLabel("Scuro"));
labelTable.put(new Integer(100), new JLabel("Chiaro"));
slider.setMajorTickSpacing(30);
slider.setPaintLabels(true);
mainpanel.add(labelpanel, BorderLayout.NORTH);
mainpanel.add(slider, BorderLayout.CENTER);
confermaluminosita = new JButton("CONFERMA");
confermaluminosita.setSize(50, 30);
confermaluminosita.addActionListener(this);
mainpanel.add(confermaluminosita, BorderLayout.SOUTH);
pannello.getContentPane().add(mainpanel);
pannello.setVisible(true);
return pannello;
}
public void actionPerformed(ActionEvent ae) {
if(ae.getSource() == confermaluminosita){
valoriconstants = getSlider();
}
}
public double getSlider(){
double constants[] = new double[1];
constants[0] = (double) slider.getValue();
return constants[0];
}
public class OperationClass{
private RenderedImage immaginecreate;
private PanelClass pannelli = new PanelClass();
private double constants;
public OperationClass()
{
}
public RenderedImage Inverti(RenderedImage immagine){
if(immagine != null) {
ParameterBlock pb = new ParameterBlock();
pb.addSource(immagine);
immaginecreate = JAI.create("invert", pb, null);
}
return immaginecreate;
}
public RenderedImage Luminosita(RenderedImage immagine) {
if(immagine != null) {
ParameterBlock pb = new ParameterBlock();
pb.addSource(immagine);
System.out.print(pannelli.valoriconstants);
pb.add(pannelli.valoriconstants);
immagine = JAI.create("addconst",pb,null);
}
return immagine;
}
}