(类间通讯问题) 如何做到将 A窗体中的信息, 通过类C在类之间实现通讯, 传送到 B窗体中去一个工程由三个类组成, 我的代码哪里错了, 老是报异常
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;public class Frame extends JFrame {
private Lpanel l = null;
private Rpanel n = null; public Frame() {
super(); Lpanel a = new Lpanel();
Rpanel b= new Rpanel();
this.getContentPane().add(a, BorderLayout.WEST);
this.getContentPane().add(b, BorderLayout.CENTER);
} public void DoSth(String s) {
n.SetLabel(s);
} public static void main(String[] args) {
Frame fa = new Frame(); fa.setSize(300, 200);
fa.setVisible(true);
}
}
import javax.swing.*;
import java.awt.event.*;class Lpanel extends JPanel{
private Frame lpf = null;
private JButton b ; public Lpanel() {
super(); b = new JButton("AAA");
b.addActionListener( new ActionListener () {
public void actionPerformed(ActionEvent e) {
lpf.DoSth( Lpanel.this.b.getText() );
// 我希望当JButton被按下时, 通过 Frame 类中的方法将JButton上的标题传送给Rpanel 中 Label
}
}); this.add(b);
}
}
import javax.swing.*;
import java.awt.event.*;class Rpanel extends JPanel {
private Frame npf = null;
private JLabel label = null; public void SetLabel(String s) {
label.setText(s);
} public Rpanel() {
super(); this.label = new JLabel("123456");
this.add(label);
}
}
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;public class Frame extends JFrame {
private Lpanel l = null;
private Rpanel n = null; public Frame() {
super(); Lpanel a = new Lpanel();
Rpanel b= new Rpanel();
this.getContentPane().add(a, BorderLayout.WEST);
this.getContentPane().add(b, BorderLayout.CENTER);
} public void DoSth(String s) {
n.SetLabel(s);
} public static void main(String[] args) {
Frame fa = new Frame(); fa.setSize(300, 200);
fa.setVisible(true);
}
}
import javax.swing.*;
import java.awt.event.*;class Lpanel extends JPanel{
private Frame lpf = null;
private JButton b ; public Lpanel() {
super(); b = new JButton("AAA");
b.addActionListener( new ActionListener () {
public void actionPerformed(ActionEvent e) {
lpf.DoSth( Lpanel.this.b.getText() );
// 我希望当JButton被按下时, 通过 Frame 类中的方法将JButton上的标题传送给Rpanel 中 Label
}
}); this.add(b);
}
}
import javax.swing.*;
import java.awt.event.*;class Rpanel extends JPanel {
private Frame npf = null;
private JLabel label = null; public void SetLabel(String s) {
label.setText(s);
} public Rpanel() {
super(); this.label = new JLabel("123456");
this.add(label);
}
}
解决方案 »
- 请分别举例,用java实现各种排序。谢谢。在线等
- 急………………
- 请问怎么在界面中嵌入播放器?
- 到底哪有可编译的java.c
- repaint()为什么出错
- 各位大哥,除了JVM等要进行安装虚似机外,其它有没有支持JAVA在windows上独立运行的不需要进行安装的应用程序呢
- 不知为何报错,请高手指教!
- 在new ImageIcon()中使用相对路径怎么没有用?
- 明天考scjp 散分了
- Java字节输出流,输出byte类型数据乱码是什么原因?
- java 漏洞? 关于final 和 method anonymous class
- java.awt.*和java.awt.event.*这种类型的包又没有包含关系?
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;public class Frame extends JFrame
{
private Lpanel l = null; private Rpanel n = null; public Frame()
{
super(); l = new Lpanel(this);
n = new Rpanel(this);
this.getContentPane().add(l, BorderLayout.WEST);
this.getContentPane().add(n, BorderLayout.CENTER);
} public void DoSth(String s)
{
n.SetLabel(s);
} public static void main(String[] args)
{
Frame fa = new Frame(); fa.setSize(300, 200);
fa.setVisible(true);
}
}
//Lpanel.java
import javax.swing.*;
import java.awt.event.*;class Lpanel extends JPanel
{
private Frame lpf = null; private JButton b; public Lpanel(Frame f)
{
super();
lpf = f;
b = new JButton("AAA");
b.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
lpf.DoSth(Lpanel.this.b.getText());
// 我希望当JButton被按下时, 通过 Frame 类中的方法将JButton上的标题传送给Rpanel 中 Label
}
}); this.add(b);
}
}
//Rpanel.java
import javax.swing.*;
import java.awt.event.*;class Rpanel extends JPanel
{
private Frame npf = null; private JLabel label = null; public void SetLabel(String s)
{
label.setText(s);
} public Rpanel(Frame f)
{
super();
this.npf = f; this.label = new JLabel("123456");
this.add(label);
}
}