如何继承自定义的窗体? 我通过继承Jpanel,写了一个窗体ParentForm,里面添加有按钮,文本,还有标签等等,接着我建了另外一个窗体ChildForm通过继承ParentForm,按钮文本等都可以显示在ChildForm上,但是我用鼠标点击上面的按钮,文本等等都没有反应,请问各位高手,这样问题要怎么解决? 谢谢其中网上有资料说设置布局为null,这个不知道怎么设置 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 此回复为自动发出,仅用于显示而已,并无任何其他特殊作用楼主【pmallen】截止到2008-07-10 13:55:42的历史汇总数据(不包括此帖):发帖的总数量:2 发帖的总分数:40 每贴平均分数:20 回帖的总数量:45 得分贴总数量:13 回帖的得分率:28% 结贴的总数量:2 结贴的总分数:40 无满意结贴数:0 无满意结贴分:0 未结的帖子数:0 未结的总分数:0 结贴的百分比:100.00% 结分的百分比:100.00% 无满意结贴率:0.00 % 无满意结分率:0.00 % 敬礼! ParentForm布局设置成nullParentForm里面的JFrame的setBorderLayout(null);就可以了 我想你在用ParentForm继承Jpanel时就是设置得NULL布局,所以你再用ChildForm继承ParentForm时呢,是不是也应该NuLL布局。 如果把ParentForm的布局设置为NULL,那么我想调用parentForm做其他用途要怎么办,会不会有影响? 我把ParentForm的布局设置为null,但是结果还是一样,childForm上面继承过来的按钮都没有反应的是不是ChildForm还要做些必要的修改?指点一下 谢谢 lz 你父类里面实现了事件没?要不怎么有反应?或者我理解错了 是你点到ChildForm上面按钮不下去? 是的,我在ChildForm上面的根本点不了按钮,文本什么的,就像不存在哪些按钮一样的不是你说的事件 不太确定你的问题所在,贴个例子,有些压缩,包含了JLabel、JPasswordField、JButtonimport java.awt.*;import java.awt.event.*;import javax.swing.*;@SuppressWarnings("serial")class ParentPanel extends JPanel { public ParentPanel(){ setLayout(null); JLabel contentLabel = new JLabel("Please Entrer the PASSWORD:"); contentLabel.setBounds(10, 15, 250, 20); JPasswordField passwordTextField = new JPasswordField(); passwordTextField.setBounds(25, 35, 230, 20); JButton okButton = new JButton("OK"); okButton.setBounds(20, 75, 85, 20); JButton closeButton = new JButton("Close"); closeButton.setBounds(125, 75, 85, 20); closeButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { System.exit(0); } }); add(closeButton); add(okButton); add(contentLabel); add(passwordTextField); }}@SuppressWarnings("serial")public class TestExtendsCustomPanel extends ParentPanel { public static void main(String[] args) { // TODO Auto-generated method stub JFrame frame = new JFrame(); frame.add(new TestExtendsCustomPanel()); frame.setSize(new Dimension(275, 155)); frame.setVisible(true); }} 设成NULL布局应该是没问题的,很可能是你的ParentForm中没有给这些组建写事件代码吧。 javasocket 相同的代码在不同的机器上为什么有差别 【新手学java】jdk1.6+myeclipse6.5+sqlserver2000数据库连接问题 对JTable如何用Vector添加数据? 界面切换问题 run as java application 和run as java bean的区别!求教 连接https服务器 ,客户端需要设置什么? 请问有没有哪位朋友做过俄罗斯方块的程序? 初學Java,感覺很麻煩的,什麼都要自己寫 紧急求援:vj++在win2000下用有问题 骑士飞行棋? 问一个关于int转化为byte的问题, 新手提问:关于表格问题~~~
楼主【pmallen】截止到2008-07-10 13:55:42的历史汇总数据(不包括此帖):
发帖的总数量:2 发帖的总分数:40 每贴平均分数:20
回帖的总数量:45 得分贴总数量:13 回帖的得分率:28%
结贴的总数量:2 结贴的总分数:40
无满意结贴数:0 无满意结贴分:0
未结的帖子数:0 未结的总分数:0
结贴的百分比:100.00% 结分的百分比:100.00%
无满意结贴率:0.00 % 无满意结分率:0.00 %
敬礼!
ParentForm里面的JFrame的setBorderLayout(null);就可以了
所以你再用ChildForm继承ParentForm时呢,是不是也应该NuLL布局。
是不是ChildForm还要做些必要的修改?指点一下 谢谢
lz 你父类里面实现了事件没?要不怎么有反应?或者我理解错了 是你点到ChildForm上面按钮不下去?
不是你说的事件
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;@SuppressWarnings("serial")
class ParentPanel extends JPanel {
public ParentPanel(){
setLayout(null); JLabel contentLabel = new JLabel("Please Entrer the PASSWORD:");
contentLabel.setBounds(10, 15, 250, 20);
JPasswordField passwordTextField = new JPasswordField();
passwordTextField.setBounds(25, 35, 230, 20); JButton okButton = new JButton("OK");
okButton.setBounds(20, 75, 85, 20);
JButton closeButton = new JButton("Close");
closeButton.setBounds(125, 75, 85, 20);
closeButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
}); add(closeButton);
add(okButton);
add(contentLabel);
add(passwordTextField);
}
}@SuppressWarnings("serial")
public class TestExtendsCustomPanel extends ParentPanel {
public static void main(String[] args) {
// TODO Auto-generated method stub
JFrame frame = new JFrame();
frame.add(new TestExtendsCustomPanel());
frame.setSize(new Dimension(275, 155));
frame.setVisible(true);
}
}