gpt4 book ai didi

java - 我怎样才能使 JFrame 内容更改为相应的点击?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:31:24 25 4
gpt4 key购买 nike

我正在使用 java 开发一个简单的桌面应用程序。有一个菜单栏,当用户点击菜单项1时,内容将变为表单A。当用户点击菜单项2时,内容将显示为表单B。

我怎样才能做到这一点?

使用相同的窗口,只是内容发生了变化。

最佳答案

给你的一个样本,我只是为了刷新我的挥杆知识..

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;

public class FrmChange extends JFrame{

private JPanel panel1 = new JPanel();
private JPanel panel2 = new JPanel();

public FrmChange(){
setDefaultCloseOperation(EXIT_ON_CLOSE);
initMenu();
panel1.setBackground(Color.BLUE);
panel2.setBackground(Color.RED);
setLayout(new BorderLayout());
}

private class MenuAction implements ActionListener {

private JPanel panel;
private MenuAction(JPanel pnl) {
this.panel = pnl;
}
@Override
public void actionPerformed(ActionEvent e) {
changePanel(panel);

}

}

private void initMenu() {
JMenuBar menubar = new JMenuBar();
JMenu menu = new JMenu("Menu");
JMenuItem menuItem1 = new JMenuItem("Panel1");
JMenuItem menuItem2 = new JMenuItem("Panel2");
menubar.add(menu);
menu.add(menuItem1);
menu.add(menuItem2);
setJMenuBar(menubar);
menuItem1.addActionListener(new MenuAction(panel1));
menuItem2.addActionListener(new MenuAction(panel2));

}

private void changePanel(JPanel panel) {
getContentPane().removeAll();
getContentPane().add(panel, BorderLayout.CENTER);
getContentPane().doLayout();
update(getGraphics());
}

public static void main(String[] args) {
FrmChange frame = new FrmChange();
frame.setBounds(200, 200, 300, 200);
frame.setVisible(true);

}

关于java - 我怎样才能使 JFrame 内容更改为相应的点击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5077321/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com