加拿大华人论坛 加拿大生活信息IT数码及移动互联 - 请教一个做窗口的问题(已解



在加拿大


已解决,虽然没有成功的将2、3、4整合,但是成功的将1、2、3、4都整合了。。。首先我要做个这样的窗口:upload_2014-4-19_18-13-53.png然后最下面一行按钮点击每一个都会有相应的对话框出来,比如点击supprimer按钮会出来这样的对话框:upload_2014-4-19_18-15-54.png我现在已经已经完成了这些窗口,拿成功叫出supprimer为例子:1. classePrincipale:public class InterfacePrincipale extends JFrame{ //declaration des attribus... public InterfacePrincipale() { super("Nordic Pneus - Système de Gestion de l'Inventaire (SGI)"); init(); } public static void main(String[] args) { JFrame fenetre = new InterfacePrincipale(); fenetre.setBounds(400, 300, 600, 400); fenetre.setDefaultCloseOperation(JDialog.HIDE_ON_CLOSE); fenetre.setVisible(true); } private void init() { //分别构建上中下等panel。。。 //Mettre des ecouteurs sur les boutons. Ecouteur ecouteur = new Ecouteur(); bouttonSupprimer.setActionCommand("supprimer"); bouttonSupprimer.addActionListener(ecouteur); 。。。 } //classe interne d'Ecouteur private class Ecouteur implements ActionListener { DialogSupprimerPneus supprimerDialog; if (evt.getActionCommand().equals("supprimer")){ supprimerDialog = new DialogSupprimerPneus(); supprimerDialog.setVisible(true); }}2. classe DialogSupprimerPneus:package tp3.interfacegraphiques;import java.awt.GridLayout;import javax.swing.JDialog;@SuppressWarnings("serial")public class DialogSupprimerPneus extends JDialog{ private PanneauSupprimerInfo panneauInfo; private PanneauSupprimerBoutton panneauBoutton; public DialogSupprimerPneus() { this.setTitle("Nordic Pneus (SGI) - Suppression"); panneauInfo = new PanneauSupprimerInfo(); panneauBoutton = new PanneauSupprimerBoutton(); this.setLayout(new GridLayout(2,1, 5, 5)); this.add(panneauInfo); this.add(panneauBoutton); setBounds(400, 300, 600, 250); }}3. classe PanneauSupprimerBoutton:package tp3.interfacegraphiques;import java.awt.FlowLayout;import javax.swing.JButton;import javax.swing.JPanel;@SuppressWarnings("serial")public class PanneauSupprimerBoutton extends JPanel{ private JButton annuler; private JButton supprimer; PanneauSupprimerBoutton(){ init(); } private void init(){ annuler = new JButton("Annuler"); supprimer = new JButton("Supprimer"); this.setLayout(new FlowLayout(FlowLayout.RIGHT)); this.add(supprimer); this.add(annuler); }}4. classe PanneauSupprimerInfo:package tp3.interfacegraphiques;import java.awt.GridLayout;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JTextField;import javax.swing.border.TitledBorder;@SuppressWarnings("serial")public class PanneauSupprimerInfo extends JPanel{ private JLabel descrip; private JLabel nbPneus; private JTextField textDescrip; private JTextField textNbPneus; PanneauSupprimerInfo(){ init(); } private void init(){ this.setBorder(new TitledBorder(null, "Information du pneu", TitledBorder.LEADING, TitledBorder.TOP, null, null)); this.setLayout(new GridLayout(2, 2, 10, 4)); descrip = new JLabel("Description:"); nbPneus = new JLabel("Nombre de pneus:"); textDescrip = new JTextField(); textNbPneus = new JTextField(); this.add(descrip); this.add(textDescrip); this.add(nbPneus); this.add(textNbPneus); textDescrip.setEditable(false); }}我现在的问题是想把2、3、4三个class整合到一个class里面,可是老是出现nullPointerException:upload_2014-4-19_18-46-13.pngupload_2014-4-19_18-46-37.png我的整合方法如下:package tp3.interfacegraphiques;import java.awt.FlowLayout;import java.awt.GridLayout;import javax.swing.JButton;import javax.swing.JDialog;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JTextField;import javax.swing.border.TitledBorder;@SuppressWarnings("serial")public class DialogSupprimerPneus extends JDialog{ private JPanel panneauInfo; private JLabel descrip; private JLabel nbPneus; private JTextField textDescrip; private JTextField textNbPneus; private JPanel panneauBoutton; private JButton annuler; private JButton supprimer; public DialogSupprimerPneus() { init(); } private void init(){ panneauInfo.setBorder(new TitledBorder(null, "Information du pneu", TitledBorder.LEADING, TitledBorder.TOP, null, null)); panneauInfo.setLayout(new GridLayout(2, 2, 10, 4)); descrip = new JLabel("Description:"); nbPneus = new JLabel("Nombre de pneus:"); textDescrip = new JTextField(); textNbPneus = new JTextField(); panneauInfo.add(descrip); panneauInfo.add(textDescrip); panneauInfo.add(nbPneus); panneauInfo.add(textNbPneus); textDescrip.setEditable(false); annuler = new JButton("Annuler"); supprimer = new JButton("Supprimer"); panneauBoutton.setLayout(new FlowLayout(FlowLayout.RIGHT)); panneauBoutton.add(supprimer); panneauBoutton.add(annuler); this.setTitle("Nordic Pneus (SGI) - Suppression"); this.setLayout(new GridLayout(2,1, 5, 5)); this.add(panneauInfo); this.add(panneauBoutton); setBounds(400, 300, 600, 250); }}请问是哪里出了问题导致的呢?谢谢!

  ·汽车 请推荐一款适合女生开的车(汽油款)
·汽车 我在路边停车时被刮伤了,如何申请保险?

加拿大生活信息-加拿大

加拿大老人金

华人网大家好: 我父母來了加拿大都已經十年啦,開始準備申請加拿大老人金。 本人對這項福利都還好迷茫,希望各位多多指教, 多謝!本人父母居住加拿大已經十年,過去十年,沒有工作 ...

加拿大生活信息-加拿大

不想在温哥华了想去农村

华人网不想在大城市了,从出生到现在一直在大城市,来到温哥华,这房价和工资的不对等更搞得无法呼吸。来加拿大又不是奔着这些来的,加上本人很佛系,现在就梦想找一份WFH的工作到乡 ...

加拿大生活信息-加拿大

从首尔转机回加拿大

华人网今天送老公先回加拿大,从沈阳出发经首尔当天飞多伦多。 给老公买的是沈阳至首尔 大韩航空的 从首尔到多伦多 加拿大航空 行李在沈阳可以直挂到多伦多 给了两段航程的登机牌 行李 ...

加拿大生活信息-加拿大

赏花:蒲公英晚期?

华人网郁金香正在凋谢,蒲公英也进入最后的一搏。这个时候,她们已经不像小黄花绽放时那么可爱了(应该说多数人是这么感觉的),但仔细观赏,我还是很喜欢的。心中喜乐,到处都是美 ...