作者m13m13m (奇怪 还没收到??)
看板java
标题[问题] 请问有办法把JPanel当参数传吗?
时间Mon Nov 7 01:20:28 2011
不好意思:
小的意思是这样的... 因为书上/网路上看到的都是长这样的
画图:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class InputDialog2
{
public static void main(String[] args)
{
InputDialog2Frame f=new InputDialog2Frame();
f.setVisible(true);
}
}
class InputDialog2Frame extends JFrame
{
InputDialog2Frame()
{
super( "InputDialog2 ");
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocation(400,300);
setSize(300,200);
ButtonPane p=new ButtonPane();
Container c=getContentPane();
c.add(p);
}
}
class ButtonPane extends JPanel
{
String input= " ";
ButtonPane()
{
JButton click=new JButton( "click me ");
add(click);
click.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
input=JOptionPane.showInputDialog(this, "Please input something ");
repaint();
}
});
}
protected void paintComponent(Graphics g)
{
super.paintComponent(g);
g.drawString(input, 50,100);
}
}
简单来说 就是画图的method: paintComponent()
一定要放在继承JPanel的class里面 才能划划
------------------------------------------------------------
但是我想要把JPanel 当成参数传给画图method 让画图的method 在上面画画
OR
或是把JPanel 和 画图的method 拆开 我就是不能把画图的方法写在JPanel里面
,可是这样一来,Graphics g一划,就不知道要画到哪去...
该怎麽好呢?
因为每个不同的class有不同的划法阿! 我只能在适当时call用该划此元件
的method阿...不能只有一个paintComponent阿...
好痛苦阿xd... 为什麽 Google 大家都写得一样 T-T
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.115.155.193
1F:推 chchwy:当然可以传阿 为什麽不能传 11/07 02:08
2F:推 PsMonkey:你有没有先试试看再过来问? 11/07 09:24
3F:→ m13m13m:有阿 楼上你口气是怎样? 版主可以那麽凶吗? 11/07 18:32
4F:→ m13m13m:几乎得不到答案的版 管理方式又罗哩八缩的 一直杀我文章 k 11/07 18:34
5F:→ Aussie0117:因为问的问题深度不够...所以...请私下寄信问问好了 11/07 22:27
6F:推 cjcat2266:1)板有板规,请遵守 2)板主又辛苦人又nice,不凶不凶 11/08 16:36
7F:→ narsilx:说真的 别人没有义务要回答你阿.. 11/08 17:44