我创建的JInterNalFrame不显示
运行MainFrame时菜单和JDesktopPane(我设置了颜色显示)显示正常,可是点菜单栏中的“更改密码”时 不出现ChangePWFrame 达人帮忙看看 谢谢
有关代码如下
1.MainFrame.java————————————————————————
public class MainFrame extends javax.swing.JFrame {
private static MainFrame mainFrame;
private JDesktopPane desktopPane;
public static MainFrame getMainFrame()
{
if(mainFrame==null)
{
mainFrame=new MainFrame();
}
return mainFrame;
} /** Creates new form MainFrame */
public MainFrame() {
super("进销存管理系统");
desktopPane=new JDesktopPane();
desktopPane.setOpaque(true); //desktopPane.setLocation(100,111);
this.setContentPane(desktopPane);
//this.add(desktopPane);
desktopPane.setBackground(new Color(200,218,2));
System.out.println("1111111111");
// Make dragging a little faster but perhaps uglier.
desktopPane.setDragMode(JDesktopPane.OUTLINE_DRAG_MODE);
initComponents();
}
private void initComponents() {
jLabel1.setText("操作员"); jLabel2.setText("业务日期"); jMenu6.setText("文件"); jMenuItem20.setText("修改密码");
jMenuItem20.addActionListener(MainAction.ChangePW());
jMenu6.add(jMenuItem20);
}
2.MainAction.java—————————————————————————
public class MainAction {
public static ActionListener ChangePW(){
return new ActionListener()
{ public void actionPerformed(ActionEvent e)
{
ChangePWFrame changePasswordFrame = new ChangePWFrame();
MainFrame.getMainFrame().getContentPane().add(
changePasswordFrame);
System.out.println("222222222222");
changePasswordFrame.setVisible(true);
}
};
}
}
3.ChangePWFrame.java___________________________________________public class ChangePWFrame extends JInternalFrame { /** Creates new form ChangePWFrame */
public ChangePWFrame() {
super("更改密码", true, true, true, true);
initComponents();
}
(initcomponents是netbeans设计GUI时自动生成的)
运行MainFrame时菜单和JDesktopPane(我设置了颜色显示)显示正常,可是点菜单栏中的“更改密码”时 不出现ChangePWFrame 达人帮忙看看 谢谢
有关代码如下
1.MainFrame.java————————————————————————
public class MainFrame extends javax.swing.JFrame {
private static MainFrame mainFrame;
private JDesktopPane desktopPane;
public static MainFrame getMainFrame()
{
if(mainFrame==null)
{
mainFrame=new MainFrame();
}
return mainFrame;
} /** Creates new form MainFrame */
public MainFrame() {
super("进销存管理系统");
desktopPane=new JDesktopPane();
desktopPane.setOpaque(true); //desktopPane.setLocation(100,111);
this.setContentPane(desktopPane);
//this.add(desktopPane);
desktopPane.setBackground(new Color(200,218,2));
System.out.println("1111111111");
// Make dragging a little faster but perhaps uglier.
desktopPane.setDragMode(JDesktopPane.OUTLINE_DRAG_MODE);
initComponents();
}
private void initComponents() {
jLabel1.setText("操作员"); jLabel2.setText("业务日期"); jMenu6.setText("文件"); jMenuItem20.setText("修改密码");
jMenuItem20.addActionListener(MainAction.ChangePW());
jMenu6.add(jMenuItem20);
}
2.MainAction.java—————————————————————————
public class MainAction {
public static ActionListener ChangePW(){
return new ActionListener()
{ public void actionPerformed(ActionEvent e)
{
ChangePWFrame changePasswordFrame = new ChangePWFrame();
MainFrame.getMainFrame().getContentPane().add(
changePasswordFrame);
System.out.println("222222222222");
changePasswordFrame.setVisible(true);
}
};
}
}
3.ChangePWFrame.java___________________________________________public class ChangePWFrame extends JInternalFrame { /** Creates new form ChangePWFrame */
public ChangePWFrame() {
super("更改密码", true, true, true, true);
initComponents();
}
(initcomponents是netbeans设计GUI时自动生成的)
解决方案 »
- java,在JTextArea文本区右击出现类似记事本中快捷菜单的效果
- 怎样得到某个字符如'中'字的gb2312编码的16进制形式
- jni调用dll,dll再调用dll出现的问题
- 问个数据类型里面的问题(float的范围3.4e-038 具体表示多少呢?)
- 怎样在文本框中限定输入的数字或浮点数
- 新手问一个PopUpMenu的问题,很简单的※※※※※※※※※※※※※※※※※※※※※※※
- 哪里能下载到SmartUpload.jar或是class文件
- RMI配置问题!还是不行啊,一天了,急死了!高手们帮帮我吧
- 很简单,但也有30分!
- swing重绘JFrame的问题
- this是干什么用的?
- 高分求助,如何设置JDialog左上角的图标
package View;
public class MainFrame extends javax.swing.JFrame {
private static MainFrame mainFrame;
private JDesktopPane desktopPane;
public static MainFrame getMainFrame()
{
if(mainFrame==null)
{
mainFrame=new MainFrame();
}
return mainFrame;
} /** Creates new form MainFrame */
public MainFrame() {
super("进销存管理系统");
desktopPane=new JDesktopPane();
desktopPane.setOpaque(true); //desktopPane.setLocation(100,111);
this.setContentPane(desktopPane);
//this.add(desktopPane);
desktopPane.setBackground(new Color(200,218,2));
System.out.println("1111111111");
// Make dragging a little faster but perhaps uglier.
desktopPane.setDragMode(JDesktopPane.OUTLINE_DRAG_MODE);
initComponents();
} /** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() { jLabel1 = new javax.swing.JLabel();
jTextField1 = new javax.swing.JTextField();
jLabel2 = new javax.swing.JLabel();
jTextField2 = new javax.swing.JTextField();
jMenuBar1 = new javax.swing.JMenuBar();
jMenu6 = new javax.swing.JMenu();
jMenuItem20 = new javax.swing.JMenuItem();
jMenuItem21 = new javax.swing.JMenuItem();
jMenuItem30 = new javax.swing.JMenuItem();
jSeparator4 = new javax.swing.JSeparator();
jMenuItem22 = new javax.swing.JMenuItem();
jMenuItem23 = new javax.swing.JMenuItem();
jSeparator5 = new javax.swing.JSeparator();
jMenuItem24 = new javax.swing.JMenuItem();
jMenuItem25 = new javax.swing.JMenuItem();
jSeparator6 = new javax.swing.JSeparator();
jMenuItem26 = new javax.swing.JMenuItem();
jMenuItem27 = new javax.swing.JMenuItem();
jMenu1 = new javax.swing.JMenu();
CGin = new javax.swing.JMenuItem();
CGout = new javax.swing.JMenuItem();
CGpay = new javax.swing.JMenuItem();
jMenu2 = new javax.swing.JMenu();
XSout = new javax.swing.JMenuItem();
XSin = new javax.swing.JMenuItem();
XSpay = new javax.swing.JMenuItem();
jMenu3 = new javax.swing.JMenu();
KCsearch = new javax.swing.JMenuItem();
KCtiaobo = new javax.swing.JMenuItem();
JSeparator3 = new javax.swing.JSeparator();
otherin = new javax.swing.JMenuItem();
otherout = new javax.swing.JMenuItem();
jSeparator3 = new javax.swing.JSeparator();
KCbaojing = new javax.swing.JMenuItem();
jMenu4 = new javax.swing.JMenu();
jMenu8 = new javax.swing.JMenu();
jMenuItem1 = new javax.swing.JMenuItem();
jMenuItem2 = new javax.swing.JMenuItem();
jMenuItem3 = new javax.swing.JMenuItem();
jMenu9 = new javax.swing.JMenu();
jMenuItem4 = new javax.swing.JMenuItem();
jMenuItem5 = new javax.swing.JMenuItem();
jMenuItem6 = new javax.swing.JMenuItem();
jMenu10 = new javax.swing.JMenu();
jMenuItem7 = new javax.swing.JMenuItem();
jMenuItem8 = new javax.swing.JMenuItem();
jMenuItem9 = new javax.swing.JMenuItem();
jSeparator1 = new javax.swing.JSeparator();
jMenu11 = new javax.swing.JMenu();
jMenuItem10 = new javax.swing.JMenuItem();
jMenuItem12 = new javax.swing.JMenuItem();
jMenuItem11 = new javax.swing.JMenuItem();
jSeparator2 = new javax.swing.JSeparator();
jMenuItem14 = new javax.swing.JMenuItem();
jMenuItem13 = new javax.swing.JMenuItem();
jMenu5 = new javax.swing.JMenu();
jMenuItem15 = new javax.swing.JMenuItem();
jMenuItem16 = new javax.swing.JMenuItem();
jMenu12 = new javax.swing.JMenu();
jMenuItem17 = new javax.swing.JMenuItem();
jMenuItem18 = new javax.swing.JMenuItem();
jMenuItem19 = new javax.swing.JMenuItem();
jMenu13 = new javax.swing.JMenu();
jMenu7 = new javax.swing.JMenu();
jMenuItem29 = new javax.swing.JMenuItem();
jMenuItem28 = new javax.swing.JMenuItem(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); jLabel1.setText("操作员"); jLabel2.setText("业务日期"); jMenu6.setText("文件"); jMenuItem20.setText("修改密码");
jMenuItem20.addActionListener(MainAction.ChangePW());
jMenu6.add(jMenuItem20); jMenuItem21.setText("操作员管理");
jMenuItem21.addActionListener(MainAction.OperatorManage());
jMenu6.add(jMenuItem21); jMenuItem30.setText("货品管理");
jMenu6.add(jMenuItem30);
jMenu6.add(jSeparator4); jMenuItem22.setText("数据备份");
jMenu6.add(jMenuItem22); jMenuItem23.setText("数据还原");
jMenu6.add(jMenuItem23);
jMenu6.add(jSeparator5); jMenuItem24.setText("月结存");
jMenu6.add(jMenuItem24); jMenuItem25.setText("反结存");
jMenu6.add(jMenuItem25);
jMenu6.add(jSeparator6); jMenuItem26.setText("重新登陆");
jMenu6.add(jMenuItem26); jMenuItem27.setText("锁定系统");
jMenu6.add(jMenuItem27); jMenuBar1.add(jMenu6); jMenu1.setText("进货管理"); CGin.setText("采购进货");
jMenu1.add(CGin); CGout.setText("采购退货");
jMenu1.add(CGout); CGpay.setText("采购付款");
jMenu1.add(CGpay); jMenuBar1.add(jMenu1); jMenu2.setText("销售管理"); XSout.setText("销售出库");
jMenu2.add(XSout); XSin.setText("销售退货");
jMenu2.add(XSin); XSpay.setText("销售收款");
jMenu2.add(XSpay); jMenuBar1.add(jMenu2); jMenu3.setText("库存管理"); KCsearch.setText("库存查询");
jMenu3.add(KCsearch); KCtiaobo.setText("库存调拨");
jMenu3.add(KCtiaobo);
jMenu3.add(JSeparator3); otherin.setText("其他入库");
jMenu3.add(otherin); otherout.setText("其他出库");
jMenu3.add(otherout);
jMenu3.add(jSeparator3); KCbaojing.setText("库存报警");
jMenu3.add(KCbaojing); jMenuBar1.add(jMenu3); jMenu4.setText("报表"); jMenu8.setText("采购系统报表"); jMenuItem1.setText("采购汇总表");
jMenu8.add(jMenuItem1); jMenuItem2.setText("采购汇总表(按货品)");
jMenu8.add(jMenuItem2); jMenuItem3.setText("采购汇总表(按供应商)");
jMenu8.add(jMenuItem3); jMenu4.add(jMenu8);
setJMenuBar(jMenuBar1); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(59, 59, 59)
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(jLabel2)
.addGap(39, 39, 39)
.addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, 127, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(526, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap(554, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel1)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel2)
.addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
); pack();
}// </editor-fold> /**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new MainFrame().setVisible(true);
}
});
} // Variables declaration - do not modify
//这些是变量的声明 论坛提示内容太长 我把这些给删掉了
// End of variables declaration}
本人菜鸟
super("进销存管理系统");
desktopPane=new JDesktopPane();
desktopPane.setOpaque(true); //desktopPane.setLocation(100,111);
this.setContentPane(desktopPane);
//this.add(desktopPane);//这里你注释啦
desktopPane.setBackground(new Color(200,218,2));
System.out.println("1111111111");
// Make dragging a little faster but perhaps uglier.
desktopPane.setDragMode(JDesktopPane.OUTLINE_DRAG_MODE);
initComponents();
}
super("进销存管理系统");
desktopPane=new JDesktopPane();
desktopPane.setOpaque(true); //desktopPane.setLocation(100,111);
this.setContentPane(desktopPane);
//this.add(desktopPane);
desktopPane.setBackground(new Color(200,218,2));
System.out.println("1111111111");
// Make dragging a little faster but perhaps uglier.
desktopPane.setDragMode(JDesktopPane.OUTLINE_DRAG_MODE);
initComponents();
}
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
的布局方式,而当你点击按钮时添加的ChangePWFrame添是添加上面去了
ChangePWFrame changePasswordFrame = new ChangePWFrame();
MainFrame.getMainFrame().getContentPane().add(
changePasswordFrame);
System.out.println("222222222222");
changePasswordFrame.setVisible(true);
但是你没有添加到你之前面版的布局当中,你尝试着添加到布局中看看有没有这种效果自己尝试着手下而不用IDE学习SWING,等你到一定的基础的时候再用IDE快速编写,我认为是不错的学习方式