[英]Passing value from JFrame to JPanel
我正在嘗試繪制圖像像素的Color值的直方圖。 我已經完成了獲取值的工作,但是我想從該值繪制直方圖。 我正在嘗試使用paintComponent()方法在面板上繪制它。
if(ae.getActionCommand()=="Hist")
{
jf1.add(new Histo());
jf1.pack();
jf1.setVisible(true);
}
和
class Histo extends JPanel
{
Zoom z = new Zoom();
int x=800;
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2d = (Graphics2D) g;
g2d.setColor(Color.red);
g2d.drawLine(100, 100, 100,z.RedC[1]);
for(int c=1;c<z.count;c++)
{
g2d.drawLine(x, z.RedC[c], 500, z.RedC[c]);
x++;
}
}
}
Zoom是My類的名稱,使用'z'可以訪問變量,但它們的值為零。 我無法獲得從像素讀取的值。 因此,如何在JPanel中訪問它。 請幫我。
在您的JPanel中添加一個構造函數,並為其提供值或至少一個接口,以便稍后獲得該值。
您可以創建JPanel的子類來保存值,並包括該值的getter和setter,如下所示:
public class Mystery extends JPanel{
int x;
public Mystery(int passMe){
super();
x = passMe;
}
public void setX(int changeto){
x = changeTo; //could also make a method that says x++
}
public int getX(){
return x;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.