作者justbelieve (呆)
看板java
标题[问题] 将图形印到jPanel上
时间Fri Dec 3 00:34:50 2010
如题
我想按下jbutton
会画一个圆圈(drawOval(.......))在jPanel上
可是都画不上去
我的程式码如下:
画图的class:
import java.awt.*;
import javax.swing.*;
public class print_picture extends JPanel {
private String str[]= new String [5];
public print_picture(){
super();
}
public void paint(Graphics g) {
super.print(g);
g.setColor(Color.red);
g.fillOval(20, 20, 20, 20);
public static void main(String args[]){
new print_picture();
}
}
介面的class:
button部分:
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
print_picture pict = new print_picture();
jScrollPane.add(pict);
}
});
jPanel部分:
private JPanel getJPanel() {
if (jPanel == null) {
jPanel = new JPanel();
jPanel.setLayout(new GridBagLayout());
}
return jPanel;
}
jScollPane部分:
private JScrollPane getJScrollPane() {
if (jScrollPane == null) {
jScrollPane = new JScrollPane();
jScrollPane.setBounds(new Rectangle(0, 65, 405, 297));
jScrollPane.setViewportView(getJPanel());
}
return jScrollPane;
}
我是把程式分成两个class去做
介面做一个 画图做一个
可是要介面这边的button去接画图的class就怎麽也不成功
无法把图画到jpanel上
麻烦知道该怎麽做的大大告知一下
谢谢
PS:这篇有点长,但我绝对不是来骗P币的,
问完如果有人觉得该砍,我会马上砍掉
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.117.65.116
※ 编辑: justbelieve 来自: 122.117.65.116 (12/03 00:35)
1F:推 lvlightvivi:可能没有repaint() 没把panel放到视窗上 很多可能... 12/03 01:27
2F:推 givemepass:可能需要你把完整code放上来 才能帮你debug 12/03 13:42
3F:推 gozha:extends jpanel,override paint(Graphics g) ? 12/03 14:44
4F:→ gozha:喔我没看清楚= =拍写XD 12/03 14:45