Java 在JFrame中跨多个JPanel的抽绳
我在Java 在JFrame中跨多个JPanel的抽绳,java,swing,jframe,jpanel,drawstring,Java,Swing,Jframe,Jpanel,Drawstring,我在someFrame中实例化了somePanel1、somePanel2和somePanel3 如果我在somePanel表单中使用drawString,如何使somePanel1、somePanel2和somePanel3中的输出不同 例如g.drawString(“X”,X,y)在所有三个somePanels中放置一个X。如何获得: somepanel 1输出X somePanel2输出Y,以及 somePanel3输出Z 来自您的评论SomePanel是自动生成的。您可以简单地添加一个
someFrame
中实例化了somePanel1
、somePanel2
和somePanel3
如果我在somePanel
表单中使用drawString
,如何使somePanel1
、somePanel2
和somePanel3
中的输出不同
例如g.drawString(“X”,X,y)
在所有三个somePanel
s中放置一个X
。如何获得:
输出somepanel 1
X
输出somePanel2
,以及Y
输出somePanel3
Z
SomePanel
是自动生成的。您可以简单地添加一个setter方法以允许更改消息:
class SomePanel extends JPanel {
// message to be used in drawString
private String message;
public void setMessage(String message) {
this.message = message;
}
...
}
然后使用
somePanel1.setMessage("X");
...
这就是我所拥有的。我想我真正想问的是如何“实例化传递
X
,Y
,Z
”?很抱歉,我重复了这一点,但是somePanel1是在someFrame表单中自动创建的<代码>专用主somePanel somePanel 1所以我不能在somePane表单中使用它。如果我使用SomePanel 1=newsomepanel(“X”)代码>在someFrame中,我得到一个找不到符号错误,我的意思是private Main.somePanel somePanel 1代码>将somePanel
放置在someFrame
中三次,因此someFrame
自动生成somePanel1
、somePanel2
和somePanel3
。如果我在somePanel1.
中键入someFrame
source,我得到的唯一弹出选项是new
。我建议在这里手工编码。这不仅可以让您更自由地添加构造函数参数,还可以让您更熟悉代码本身:)