如何在类中传递值?
我尝试为数组的每个键值绘制条形图。
所以,我必须通过类Grid
传递(int)len。
我怎样才能在这里找到解决方案?
在此先感谢:)
所以这是我的代码:
int len;
public void HistogramGen() {
JFrame framegraph = new JFrame("Terms Histogram");
framegraph.setDefaultCloseOperation( JFrame.DISPOSE_ON_CLOSE );
framegraph.pack();
framegraph.setVisible(true);
JPanel p= new JPanel( new GridLayout(finalnumber, 3) );
for(int m=0; m<finalnumber; ++m) {
p.add( new JLabel((String)keys[m]) );
p.add( new JLabel( ((Integer)values[m]).toString() ) );
String bar= "";
for(int n=0; n<(Integer)values[m]; ++n) {
bar= bar + "_";
}
len=bar.length();
p.add( new Grid() );
}
JScrollPane pane= new JScrollPane( p );
framegraph.add( pane );
}
public static class Grid extends JComponent {
public void paint(Graphics g) {
g.drawRect(0, 0, len, 10);
g.setColor(Color.MAGENTA);
g.fillRect(0, 0, len, 10);
}
}
答案 0 :(得分:0)
将构造函数添加到Grid类中,如下所示:
public static class Grid extends JComponent {
private final int len;
public Grid(final int len) {
super();
this.len = len;
}
public void paint(Graphics g) {
...
}
然后更改您的来电代码
p.add( new Grid(bar.length()) );