Java 从另一个类调用JFrame以更改JPanel
我想将Java 从另一个类调用JFrame以更改JPanel,java,swing,jframe,jpanel,Java,Swing,Jframe,Jpanel,我想将BreadPanel.java更改为MeatPanel.java 这是我的“main”类代码 这是我要为BreadPanel更改的面板的代码 class MeatPanel extends JPanel { private static final long serialVersionUID = 1L; private static final float FONT_POINTS = 16f; private int prefW; private
BreadPanel.java
更改为MeatPanel.java
这是我的“main”类代码
这是我要为BreadPanel更改的面板的代码
class MeatPanel extends JPanel {
private static final long serialVersionUID = 1L;
private static final float FONT_POINTS = 16f;
private int prefW;
private int prefH;
public JButton m1, m2, m3, m4, m5, m6, m7, m8, m9, m10;
private JLabel calories, blank, choice;
public MeatPanel(Color color, int prefW, int prefH)
{
// Here is where I want to call it
frame.getContentPane().remove(new BreadPanel(color, 600, 440), BorderLayout.CENTER);
frame.getContentPane().add(new MeatPanel(color, 600, 440), BorderLayout.CENTER);
//
当调用actionlistener时,有没有更好的方法来更改这些面板
谢谢使用
CardLayout
并将JFrame
添加到其中。根据事件,显示适当的帧。
更多信息请参见使用
CardLayout
并将JFrame
添加到其中。根据事件,显示适当的帧。
更多信息请访问
“调用actionlistener时,是否有更好的方法更改这些面板?”
对。您可以使用CardLayout来交换面板视图,这样就不必一直删除和添加面板。更多信息请访问。另请参见一个简单的示例
“调用actionlistener时,是否有更好的方法更改这些面板?”
对。您可以使用CardLayout来交换面板视图,这样就不必一直删除和添加面板。更多信息请访问。另请看一个简单的示例谢谢!CardLayout看起来确实是个不错的选择!我很快会记下你的答案。谢谢!CardLayout看起来确实是个不错的选择!我很快会记下你的答案。
class MeatPanel extends JPanel {
private static final long serialVersionUID = 1L;
private static final float FONT_POINTS = 16f;
private int prefW;
private int prefH;
public JButton m1, m2, m3, m4, m5, m6, m7, m8, m9, m10;
private JLabel calories, blank, choice;
public MeatPanel(Color color, int prefW, int prefH)
{
// Here is where I want to call it
frame.getContentPane().remove(new BreadPanel(color, 600, 440), BorderLayout.CENTER);
frame.getContentPane().add(new MeatPanel(color, 600, 440), BorderLayout.CENTER);
//