Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 刷新JTabbedPane中选项卡的内容_Java_Swing_Jpanel_Jtabbedpane - Fatal编程技术网

Java 刷新JTabbedPane中选项卡的内容

Java 刷新JTabbedPane中选项卡的内容,java,swing,jpanel,jtabbedpane,Java,Swing,Jpanel,Jtabbedpane,我正在制作简单的Java选项卡窗格GUI。我希望在侧面板中的事件中更新选项卡的内容(例如,单击选项卡2 JPanel中的按钮) 下面是我的代码: import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTabbedPane; import java.awt.*; // Needed For the Defiantions Of the Dimenti

我正在制作简单的Java选项卡窗格GUI。我希望在侧面板中的事件中更新选项卡的内容(例如,单击选项卡2 JPanel中的按钮)

下面是我的代码:

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import java.awt.*; //  Needed For the Defiantions Of the Dimentions
import javax.swing.event.*;
import java.awt.event.*;  // Needed to handle window close event


public class UserTabPan extends JFrame {
    String userName;

    public UserTabPan(String Uname,Float CKBalance,Float SABalance) {

        userName=Uname;

        //Basic Frame Related Definations
        setSize(500, 400); // Sets Size Of the Necessary Windows

        //get screen size and set the location of the frame
        Toolkit tk = Toolkit.getDefaultToolkit();
        Dimension d = tk.getScreenSize();
        int screenHeight = d.height;
        int screenWidth = d.width;
        setLocation( screenWidth / 4, screenHeight / 4);

        setTitle("Tabbed Pane");

        //Create The Tabbbed Pane
        JTabbedPane jtp = new JTabbedPane();
        Container contentPane = getContentPane(); //add a panel to a frame
        contentPane.add(jtp);

        //Basic Tabs , each one is a panel
        //Tab Panel 1
        JPanel jp1 = new ViewBalanceBO(userName,CKBalance,SABalance);

        //Tab Panel 2
        JPanel jp2 =new TransferMoneyBO(userName);

        //Tab Panel 3
        JPanel jp3=new DepositBO(userName);

        //Tab Panel 3
        JPanel jp4=new WithDrawBO(userName);

        //Tab Panel 4
        JPanel jp5= new InquireTransactionBO(userName);

        //Add Both Tabs to Panle now
        jtp.addTab("Overview", jp1);
        jtp.addTab("Transfer Money", jp2);
        jtp.addTab("Deposit", jp3);
        jtp.addTab("WithDraw", jp4);
        jtp.addTab("View Transactions", jp5);

         addWindowListener (new WindowAdapter()  //handle window closing event
         {  public void windowClosing (WindowEvent e)
            { System.exit(0);
            }
         });
    }
}
例如,如果在“撤消”选项卡中单击按钮,则应重新初始化“查看事务”选项卡


我如何才能做到这一点?

不要将变量设置为本地变量,而是将它们设置为实例变量。在选项卡式窗格和视图之间构建一个模型,允许模型一起更新或更改。
setLocation(screenWidth/4,screenHeight/4);
Ugh..see
setLocationByPlatform(true)
addWindowListener(new WindowAdapter()//处理窗口关闭事件{public void windowClosing(WindowEvent e){System.exit(0);…
请参阅
setDefaultCloseOperation(关闭时退出);
或更好的
setDefaultCloseOperation(关闭时处置);
最好只使用一个框架实例,而不是扩展它。
setSize(500400);//设置必要窗口的大小
而不是执行
pack();//添加组件后,使窗口大小正确