作者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)
推 lvlightvivi:可能沒有repaint() 沒把panel放到視窗上 很多可能... 12/03 01:27
推 givemepass:可能需要你把完整code放上來 才能幫你debug 12/03 13:42
推 gozha:extends jpanel,override paint(Graphics g) ? 12/03 14:44
→ gozha:喔我沒看清楚= =拍寫XD 12/03 14:45