微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将不同级别的面板放在框架上而不丢弃框架

如何解决如何将不同级别的面板放在框架上而不丢弃框架

我正在做一个电脑商店管理项目,我有很多框架和面板。我有一个名为管理面板的类,其中包含进一步具有一些按钮的框架,即:主页、关于我们、添加产品等。 现在我想在点击按钮 ADD PRODUCT 时在框架内启动一个新面板,但面板的代码应该来自不同的类,比如同一个包中名为 addProduct 的类,我该怎么做?

在这里你可以看到所有的按钮

https://i.stack.imgur.com/yGJYk.jpg

我已经成功地在同一框架上启动了来自不同类的面板,但问题是启动了一个新框架,我不想这样做。

管理面板代码

import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;

public class adminPanel implements ActionListener {

    public static final Font MY_FONT = new Font("Ubuntu Mono",Font.BOLD,20);
    JFrame frame = new JFrame();
    JPanel panel1 = new JPanel();
    JButton admin = new JButton("Administrator Login");
    JButton employee = new JButton("Employee Login");
    Dimension screensize = Toolkit.getDefaultToolkit().getScreenSize();
    ImageIcon image = new ImageIcon("C:\\Users\\faroo\\Desktop\\car sales stock\\ComputerImage.jpg");
    Image scaledImage = image.getimage().getScaledInstance(screensize.width,screensize.height,Image.SCALE_SMOOTH);
    JLabel backgroundImage;

    JButton[] buttons = new JButton[10];

    String[] dropDown = new String[]{
        "Hi","Hello"
    };
    JList list = new JList(dropDown);

    adminPanel() {
        //Frame
        frame.setDefaultCloSEOperation(JFrame.EXIT_ON_CLOSE);
        frame.setLayout(null);
        frame.setSize(screensize.width,screensize.height);
        frame.setLocation((screensize.width / 2) - (frame.getWidth() / 2),(screensize.height) / 2 - (frame.getHeight() / 2));
        frame.setLayout(null);

        //IMAGE BACKGROUND
        image = new ImageIcon(scaledImage);
        backgroundImage = new JLabel(image);
        backgroundImage.setBounds(0,screensize.width,screensize.height);
        
        //PANEL 1
        panel1.setBounds(screensize.width / 2 - 485,120,970,42);
        panel1.setBackground(new Color(223,223,223));
        panel1.setLayout(new FlowLayout(FlowLayout.LEADING));

        //BUTTON: HOME + ABOUT US + ADD PRODUCT + REMOVE PRODUCT +SALES DETAILS +SAlES ORDER
        buttons[0] = new JButton("HOME");
        buttons[1] = new JButton("ABOUT US");
        buttons[2] = new JButton("ADD PRODUCT");
        buttons[3] = new JButton("REMOVE PRODUCT");
        buttons[4] = new JButton("SALES ORDER");
        buttons[5] = new JButton("SALES DETAILS");
        buttons[6] = new JButton("LOG OUT");

        for (int i = 0; i <= 6; i++) {
            buttons[i].setFont(MY_FONT);
            buttons[i].setFocusable(false);
            buttons[i].setBackground(new Color(61,94,148));
            buttons[i].setForeground(new Color(223,223));
            panel1.add(buttons[i]);
            buttons[i].addActionListener(this);
        } 
        frame.getContentPane().add(panel1);
        frame.getContentPane().add(backgroundImage);

        frame.setVisible(true);

    }

    @Override
    public void actionPerformed(ActionEvent e) {
        for (int i = 0; i <= 6; i++) {
            if (e.getSource() == buttons[i]) {
                for (int j = 0; j <= 6; j++) {
                    buttons[j].setBackground(new Color(61,148));
                }
                buttons[i].setBackground(new Color(69,89,119));
            }
        }
        if (e.getSource() == buttons[2]) {
            addProduct asd = new addProduct();
        }

    }
}

添加产品类别代码

package carsalessystem;

import java.awt.Color;
import javax.swing.JPanel;

public class addProduct extends adminPanel{

  
    
    addProduct(){
        JPanel panel2 = new JPanel();
        frame.dispose();
        panel2.setBackground(Color.darkGray);
        panel2.setBounds(panel1.getLocation().x,panel1.getLocation().y+42,800);
        frame.add(panel2);
        frame.add(backgroundImage);
        frame.setVisible(true);
        
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。