小编Udi*_*ugh的帖子

如何将多个对象写入可序列化文件并在再次使用该程序时读取它们?

我想为我的项目维护一个Bank用户的数据库.我能够将用户数保存在一个可序列化文件中.但是当我尝试将用户保存到数据库时,它只将最新的一个添加到数据库中.

下面是写入对象的代码的潜行高峰:

if(e.getSource()==submit) {
            if(uFName != null && uLName != null && uInitialDeposit !=0) {
                if(uAccountType=="Savings") {
                    Random randomGenerator = new Random();
                    //Gets the number of users from file if file exists
                    File f = new File(fileNameAdmin);
                    if(f.exists() && !f.isDirectory()) {
                        admin=db.readFromAdminDatabase();
                    }
                    u[admin.numberOfUsers]= new User();
                    u[admin.numberOfUsers].fName=uFName;
                    u[admin.numberOfUsers].lName=uLName;
                    u[admin.numberOfUsers].initalDeposit=uInitialDeposit;
                    u[admin.numberOfUsers].interestRate=uInterestRate;
                    u[admin.numberOfUsers].accountType="Saving";
                    u[admin.numberOfUsers].accountNumber=690000+admin.numberOfSavingsAccount;

                    //Generates a 4 digit random number which will be used as ATM pin
                    u[admin.numberOfUsers].atmPin=randomGenerator.nextInt(9999-1000)+1000;

                    //A savings account will be created 
                    sa[admin.numberOfSavingsAccount]=new SavingsAccount(u[admin.numberOfUsers].accountNumber,u[admin.numberOfUsers].fName,u[admin.numberOfUsers].lName,
                            u[admin.numberOfUsers].initalDeposit,
                            u[admin.numberOfUsers].interestRate);
                    u[admin.numberOfUsers].sa=sa[admin.numberOfSavingsAccount];
                    System.out.println(u[admin.numberOfUsers].sa.balance);
                    JOptionPane.showMessageDialog(submit,"Congratulations! You …
Run Code Online (Sandbox Code Playgroud)

java serialization objectoutputstream objectinputstream deserialization

10
推荐指数
1
解决办法
2万
查看次数

如何知道列表何时足够长可以滚动?

下面的屏幕截图由两个产品列表组成,一个太短而无法滚动,另一个则足够长而无法滚动。

在此输入图像描述

为了这个问题,下面是带有更明显颜色的屏幕截图,以便更清晰:

在此输入图像描述

为了向用户指示该列表是可滚动的,我在列表末尾堆叠了一个渐变。

我希望此渐变仅在列表足够长以可滚动时出现,但我无法找到区分可滚动列表和不可滚动列表的方法。

下面是具有底层列表和梯度的堆栈的代码:

Stack(
  children: <Widget>[
    ListView(
      scrollDirection: Axis.horizontal,
      children: <Widget>[
        //children go here
      ],
    ),
    Align(
      alignment: Alignment.centerRight,
      child: Container(
        width: 24,
        height: 24,
        decoration: BoxDecoration(
          gradient: LinearGradient(
            begin: FractionalOffset.centerRight,
            end: FractionalOffset.centerLeft,
            colors: [
              Colors.green,
              Colors.yellow
            ],
            stops: [
              0.0,
              1.0
            ]))),
    ),
  ],
),
Run Code Online (Sandbox Code Playgroud)

flutter flutter-layout

6
推荐指数
1
解决办法
762
查看次数

如何居中对齐文本小部件,然后向文本添加前导图标?

在行小部件中,我添加了一个文本小部件,并且可以通过使用居中对齐文本mainAxisAlignment.center,但是当我在文本之前添加图标时,文本现在显然不是居中对齐,因为图标和文本都居中对齐在一起。

请找到下面的屏幕截图以便更好地理解。

我的设计师建议将“早上”文本与屏幕居中对齐,并且图标应放在文本前面,我该如何实现?

在此输入图像描述

dart flutter flutter-layout

4
推荐指数
1
解决办法
6144
查看次数