当前位置: 首页 > 知识库问答 >
问题:

使用JPanel上的Jbutton隐藏/显示JFrame

沈飞舟
2023-03-14

在我的Swing应用程序中,我有2个JFrameA和B。当我单击JFrameA上的按钮时,它会打开JFrameB并隐藏它自己(我设法完成了这部分)

在JFrame B上,我在JTabbedPane上放置了4个JPanels。每个JPanel有2个JButtons。

我该怎么做?

//JPanel类

公共类AddItemPanel扩展javax.swing.jPanel{

  public AddItemPanel() {
        initComponents();
  }

  private void btnCancelActionPerformed(java.awt.event.ActionEvent evt) {                                          

      if(evt.getSource() == btnCancel)
      {
        ItemFrame d = new ItemFrame();      
             d.setVisible(false);// not working
             this.setVisible(false);// not working
      }
}
  public ItemFrame() {

        initComponents();
        jTabbedPane1.add("Add Items",new AddItemPanel());
        jTabbedPane1.add("Delete Items",new DeleteItemPanel());
        jTabbedPane1.add("Update Items",new UpdateItemPanel());
        jTabbedPane1.add("Search Items",new SearchItemPanel());
 }

共有1个答案

马高谊
2023-03-14

试试这个例子,希望对你有用

  import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.event.*;
import javax.swing.*;

public class JframeTest implements ActionListener
{
    JButton b1;
    JButton b2;
    JFrame f1 ;
    JFrame f2;

public void init()
{
 f1 = new JFrame("Frame one");
 f2 = new JFrame("Frame two");

 f1.setSize(400,400);
 f2.setSize(400,400);

 f1.setLayout(new FlowLayout());
 f2.setLayout(new FlowLayout());

 b1 = new JButton("Open Frame two");
 b2= new JButton("Open Fram one");
 JPanel p1 = new JPanel();
 JPanel p2 = new JPanel();

 p1.setBackground(Color.white);
 p2.setBackground(Color.white);
 p1.add(b1);
 p2.add(b2);

f1.getContentPane().add(p1);
f2.getContentPane().add(p2);

f1.setVisible(true);
f2.setVisible(false);
f1.setDefaultCloseOperation(3);
f2.setDefaultCloseOperation(3);

b1.addActionListener(this);
b2.addActionListener(this);
}
public void actionPerformed(ActionEvent evt)
{
    if(evt.getSource() == b1)
    {
        f1.setVisible(false);
        f2.setVisible(true);
    }else if(evt.getSource()==b2)
    {
        f1.setVisible(true);
        f2.setVisible(false);
    }

}

public JframeTest()
{
    this.init();
}
public static void main(String...argS)
{
    new JframeTest();
}
}
 类似资料:
  • 我有一个重新组合一些JPanel的主框架。我的JFrame已经完全填满了。 我希望能够在左侧JFrame中的另一个JPanel上显示/隐藏一个小JPanel。此JPanel是用户的配置区域。 所以这里是我的问题,在我的JFrame中,在一个小区域中显示JPanel的最好方式是什么? 我试过了,但没有按预期工作(这是单击设置图标时执行的代码): 谢谢

  • 所以我想有2个JPanels。向上JPanel(内嵌面板)和向下JPanel(主面板)。我想在JFrame中添加keyListener,所以当我按下任何键时,面板隐藏,这样我们就可以看到向下的面板。代码应该如何工作? 此代码不隐藏内部面板。发生了什么?

  • 问题内容: 对于我正在做的网站,我想加载一个div,然后隐藏另一个,然后有两个按钮可以使用JavaScript在div之间切换视图。 这是我当前的代码 替换div2的第二个功能不起作用,但第一个功能起作用。 问题答案: 如何显示或隐藏元素: 为了显示或隐藏元素,请操纵元素的style属性。在大多数情况下,您可能只想更改元素的属性: 或者,如果您仍然希望元素占用空间(例如,如果您要隐藏表格单元格),

  • 我尝试了下面的代码在移动和桌面上以不同的方式显示。但是两个句子同时显示。

  • 对于我正在做的一个网站,我想加载一个div并隐藏另一个,然后有两个按钮可以使用JavaScript在div之间切换视图。 这是我当前的代码 null null 取代div2的第二个函数不起作用,但第一个是。

  • 主要内容:实例,jQuery hide() 和 show(),实例,实例,实例,jQuery toggle(),实例隐藏、显示、切换,滑动,淡入淡出,以及动画,哇哦! 因为时间是宝贵的,我们提供快捷方便的学习方法。 在小牛知识库,你可以学习需要的知识。 实例 jQuery hide() 简单的jQuery hide()方法演示。 jQuery hide() 另一个hide()实例。演示如何隐藏文本。 jQuery hide() 和 show() 通过 jQuery,您可以使用 hide() 和