社区
Java SE
帖子详情
在一个JPanel如何获取主界面JFrame其他JPanel的信息
cut21
2008-05-17 05:26:26
我在一个JFrame里面加了多个JPanel,每个JPanel都用不同的类编写的。
我想在其中一个JPanel(这里叫做jPanel1)里面添加一个按钮监听来控制另外一个JPanel(比如jPanel2)里面文本框显示的内容。
请问是否能只在jPanel类里面做相应的操作就可以获取jPanel2,并对其进行修改。
...全文
507
6
打赏
收藏
在一个JPanel如何获取主界面JFrame其他JPanel的信息
我在一个JFrame里面加了多个JPanel,每个JPanel都用不同的类编写的。 我想在其中一个JPanel(这里叫做jPanel1)里面添加一个按钮监听来控制另外一个JPanel(比如jPanel2)里面文本框显示的内容。 请问是否能只在jPanel类里面做相应的操作就可以获取jPanel2,并对其进行修改。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
馒头虫
2011-05-08
打赏
举报
回复
JFrame jf=(JFrame)getRootPane().getParent();
zwgs1985
2008-05-18
打赏
举报
回复
CustomizePanel_1的代码
import java.awt.BorderLayout;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class CustomizePanel_1 extends JPanel {
private JButton btn = new JButton();
public CustomizePanel_1() {
super();
this.init();
}
private void init() {
this.setLayout(new BorderLayout());
this.add(new JLabel("CustomizePanel_1"));
this.add(this.btn, BorderLayout.SOUTH);
}
public JButton getControlBtn() {
return this.btn;
}
}
CustomizePanel_2的代码
import java.awt.BorderLayout;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class CustomizePanel_2 extends JPanel {
private JTextField tf = new JTextField();
public CustomizePanel_2() {
super();
this.init();
}
private void init() {
this.setLayout(new BorderLayout());
this.add(new JLabel("CustomizePanel_2"));
this.add(this.tf, BorderLayout.SOUTH);
}
public JTextField getTextField() {
return this.tf;
}
}
TestClass的代码
import java.awt.Container;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextField;
public class TestClass extends JFrame {
public TestClass() {
super();
this.init();
}
private void init() {
Container contentPane = this.getContentPane();
contentPane.setLayout(new GridLayout(1, 2));
CustomizePanel_1 customizePanel_1 = new CustomizePanel_1();
contentPane.add(customizePanel_1);
final CustomizePanel_2 customizePanel_2 = new CustomizePanel_2();
contentPane.add(customizePanel_2);
JButton btn = customizePanel_1.getControlBtn();
btn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JTextField textField = customizePanel_2.getTextField();
String text = textField.getText();
// your logoc
if (text == null || "".equals(text)) {
textField.setText("change text");
}
}
});
}
/**
* @param args
*/
public static void main(String[] args) {
TestClass tc = new TestClass();
tc.setVisible(true);
tc.pack();
tc.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}
实现方式不是很好,你看下是不是你想要得效果
cut21
2008-05-17
打赏
举报
回复
我还不是很明白
用getParent()方法获取了父组件后如何再获取另外一个jPanel并对其进行操作?
OneLoveQ
2008-05-17
打赏
举报
回复
.getParent()方法
我这里有一个例子
JFRAME里面有一个JPanel里面又有一个JPanel,这个JPanel里面有一个关闭按钮。
也是分开写的。
((JFrame)((JRootPane)((JLayeredPane)((JPanel)((JPanel)SearchAll.this.getParent()).getParent()).getParent()).getParent()).getParent()).dispose();
cut21
2008-05-17
打赏
举报
回复
[Quote=引用 1 楼 OneLoveQ 的回复:]
先取得它的父组件!然后再找找呗
[/Quote]
如何获取父组件,用什么方法?
OneLoveQ
2008-05-17
打赏
举报
回复
先取得它的父组件!然后再找找呗
用java
JFrame
,
JPanel
写的大鱼吃小鱼小游戏
JPanel
是Swing中另
一个
重要的组件,它是
一个
空白容器,可以用来放置其他的组件或者绘制自定义图形。在这个游戏的实现中,
JPanel
被用来作为画布,程序员可以在上面绘制游戏场景,包括鱼、海洋、障碍物等。
JPanel
还...
在
JFrame
表单中显示
JPanel
在标题提到的问题中,“在
JFrame
表单中显示
JPanel
”意味着我们需要将
一个
或多个
JPanel
对象添加到
JFrame
中,以便在
JFrame
的窗口内显示这些面板。这可以通过调用
JFrame
的`add()`方法实现。例如: ```java
JFrame
...
可插入背景图片的
JPanel
首先,我们需要理解`
JPanel
`是Java Swing中的
一个
基础容器组件,它允许我们在GUI中放置其他组件。默认情况下,`
JPanel
`是透明的,因此无法直接显示背景图像。要添加背景图片,我们需要扩展`
JPanel
`类,并覆盖`...
仿QQ
主
界面
的java语言实现
在本文中,我们将深入探讨如何使用Java语言来实现
一个
仿QQ
主
界面
的程序。QQ作为中国最流行的即时通讯软件之一,其用户
界面
设计简洁而直观,因此,学习如何使用Java来模仿这一
界面
对于Java GUI编程的学习者来说是极具...
基于
JPanel
以及鼠标监听的Java 画图程序
如果DrawTable是
一个
类,它很可能继承自
JFrame
或者JApplet,作为整个应用的入口点,并且包含了
JPanel
实例以及其他必要的组件和监听器。在Java中,文件名通常对应于类名,因此DrawTable类可能是程序的核心,负责初始...
Java SE
62,635
社区成员
307,269
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章