我在这里使用Java的Swing
来制作一个UI应用程序。我创建了一个JFrame,带有一些按钮。当我点击这个按钮时,我想要一个新的JFrame,在这里有一些不同的内容。但是,我不想在这里加载新的JFrame。
我知道的一种方法是在第一个JFrame中的按钮的actionPerform(ActionEventobj)
方法中将第二个JFrame的可视化设置为True。但是它再次加载了一个新的JFrame,我不希望这样。
public class FirstUI extends JFrame {
JButton but1;
public FirstUI(){
but1= new JButton("Click here");
add(but1);
XYZ obj= new XYZ():
but1.addActionListener(obj);
}
public class XYZ implements ActionListener{
public void actionPerformed(ActionEvent obj1){
// WHAT TO DO HERE
}
}
}
我只想要一个JFrame,当我们点击不同的按钮时,它的内容会发生变化。我怎样才能做到这一点?
可以将父类的可见性设置为false。
然后您一次只能获得一个包含所需内容的帧。
您必须在按钮的点击事件中创建帧和setVisible(fase)的静态对象。
前任。
public class demo {
static JFrame jf;
public static void main(String a[])
{
JButton b=new JButton("OK");
JPanel jp=new JPanel();
jf=new JFrame();
jf.setVisible(true);
jf.setSize(200,200);
jf.add(jp);
jp.add(b);
b.addActionListener( new ActionListener(){
public void actionPerformed(ActionEvent e)
{
jf.setVisible(false);
JFrame f= new JFrame();
f.setSize(200,200);
f.setVisible(true);
}
});
}
}
它会帮助你。
你明白我的意思了吗?
您还可以在运行时动态操作JFrame
的内容。您可以使用add(…)
,
删除(…)
,
removeAll(…)
方法来添加和删除内容,就像您在显示框架之前所做的那样。完成后,需要调用修改后容器的
revalidate()
和repaint()
方法,以使所有内容稳定下来并正确显示。
然而,我认为正确的解决方案取决于您试图实现的实际概念。如果您想添加或删除几个GUI元素来强调功能,那么正确的方法是按照我所概述的操作容器。但是,如果您希望根据系统状态(不超过2-3)略有不同的GUI,那么
CardLayout
将是一个更合适的选择
看看CardLayout
,这将允许您切换框架的内容:
CardLayout对象是容器的布局管理器。它将容器中的每个组件视为一张卡片。一次只能看到一张卡片,容器充当一堆卡片。添加到CardLayout对象的第一个组件是第一次显示容器时的可见组件。
有关示例,请参见如何使用CardLayout。
目前,我在尝试用新信息更新我的JFrame时遇到了一个主要问题。我尝试了通常的无效、验证、重新绘制等。 以下是创建JFrame的主要代码: 这是用来切换JFrame的按钮代码:这是一个完全不同的类 现在您会注意到,在makeCenter方法的第一段代码中,注释掉了一些内容。如果我不评论它,信息会发生变化,但每次都会创建一个新窗口。 现在,尽管dispose()当前不在其中,但我将其放在makeCe
当我在设备上运行应用程序时单击增量按钮时,我的应用程序意外地强制执行这是我的activity_main.xml代码 这是我的mainactivity.java文件 这是调试报告05-23 22:14:45.695 297 36-29736/com.orton.birthdayCard E/AndroidRuntime:致命异常:主进程:com.orton.birthdayCard,PID:2973
我有两个s类型的。对于每个都有一个相应的,里面有一个。 我希望单击按钮会产生与单击标签相同的效果:检查相应的输入。 然而,这并没有发生。如下面的代码段所示,悬停并按下按钮确实会触发单选按钮中相应的样式更改,但单击操作不会选择输入,即使简单标签按预期工作。 我已经检查了s是s的合法子代。标签允许短语化内容,按钮是短语化内容,所以那里应该一切正常。 我还尝试将事件侦听器添加到两个按钮的单击事件中,并在
一切正常,应用程序出现了。但当我点击任何切换按钮时,应用程序就会崩溃。 我试过了,但找不到问题。其实我的知识还不够,我是这个领域的新手。所以请帮帮我。 这是查看活动。JAVA 还有这只logcat 2020-03-18 03:16:50.407 31609-31609/? E/lpaper。wallper:运行时设置的未知位_标志:0x8000 2020-03-18 03:17:04.862 31
我想创建弹出与样式组件和添加动画淡入淡出。但问题是,当我通过点击X按钮关闭弹出窗口时,动画不会播放。下面是我的代码: 到{不透明度:1;}`; const fadeOut=keyframes`来自{不透明:0;} 到{不透明度:1;}`; *-webkit-scrollbar-thumb{background-color:#3aa4a4;border-radius:20px;border:3px实
上面的单选按钮代码,但是在选择之后,我需要将特定的单选按钮颜色单独更改为蓝色