PDA

Visualizza la versione completa : [JAVA]Richiesta banalissima


tcc
18-12-2004, 19:57
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





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.createLineBorde r(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;

}




}

pprllo
18-12-2004, 22:33
Non sono sicuro di capire la domanda ... Hai dichiarato valoriconstants come protected, Ŕ ovvio che non puoi accedervi da altre classi. Puoi dichiarare valoriconstants come public o dichiarare la classe operation come friend della classe Panel

tcc
19-12-2004, 11:39
ho provato ha dichiarare pubblcic l'attributo ma niente,non lo vede in nessuna maniera come fare???

tcc
20-12-2004, 11:15
Pu˛ essere che i double danno problemi??

Loading