小编Kar*_*ren的帖子

将日期添加到日期

我有一个程序需要在1/1/09开始,当我开始新的一天,我的程序将在第二天显示.这是我到目前为止:

GregorianCalendar startDate = new GregorianCalendar(2009, Calendar.JANUARY, 1);
SimpleDateFormat sdf = new SimpleDateFormat("d/M/yyyy"); 
public void setStart()
{
    startDate.setLenient(false);
    System.out.println(sdf.format(startDate.getTime()));
}

public void today()
{
    newDay = startDate.add(5, 1);
    System.out.println(newDay);
//I want to add a day to the start day and when I start another new day, I want to add another day to that.
}
Run Code Online (Sandbox Code Playgroud)

我在'newDay = startDate.add(5,1);'中得到错误,但是预期为int 我该怎么办?

java date gregorian-calendar

9
推荐指数
1
解决办法
5万
查看次数

设置面板的大小

我有3个面板.一个是主面板,可容纳2个较小的面板.

对于主面板,我用过

setPreferredSize(new Dimension(350, 190));
Run Code Online (Sandbox Code Playgroud)

对于较小的左侧面板,我使用了

setPreferredSize(new Dimension(100, 190));
Run Code Online (Sandbox Code Playgroud)

对于较小的右侧面板,我用过

setPreferredSize(new Dimension(250, 190));
Run Code Online (Sandbox Code Playgroud)

但较小的面板尺寸保持不变.我怎样才能解决这个问题?替代文字

这是我在主面板中的代码.

import model.*;
import java.awt.*;
import javax.swing.*;

public class Panel extends JPanel
{

public Panel(Prison prison)
{
    setup();
    build(prison);
}

private void setup()
{
    setBorder(BorderFactory.createLineBorder(Color.blue));
    setLayout(new BorderLayout(1, 1));
    setPreferredSize(new Dimension(350, 190));
}

private void build(Prison prison)
{
    JTabbedPane tab = new JTabbedPane();       
    tab.addTab("Input", null, new InputPanel(), "Input");
    tab.addTab("Display", null, new DisplayPanel(), "Display");
    add(tab);            
}
}
Run Code Online (Sandbox Code Playgroud)

java size user-interface panel

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

在GUI中使用不同的布局

这是我的程序应该是什么样子,我有点困惑我应该在哪里使用不同的布局.

我有一个Window类调用Panel类,Panel类调用InputPanel和DisplayPanel类.我的InputPanel类调用我的DetailsPanel,CrimePanel和ButtonPanel类,以便它们构成在Input选项卡下看到的内容.我被告知要在整个窗口中使用BorderLayout,并且DetailsPanel(左侧面板)和CrimePanel应该是GridLayout.

这是否意味着我应该:

  1. 将BorderLayout代码放在Panel中,将GridLayout代码放在CrimePanel和DetailsPanel中
  2. 将BorderLayout代码放在Window中,将GridLayout代码放在Panel中?

alt text http://img137.imageshack.us/img137/6422/93381955.jpg

java layout user-interface grid-layout

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

停止for循环

当我运行我的代码时,它总是停在for循环并跳过它.

public void assignCell()
{
    Prisoner prisoner = prisoners.get(id-1);
    for(Cell cell : cells)
    if(cell.isAvailable())
    {
        cell.allocate(prisoner);
        String bunk = null;
        if(cell.isEven())
        {
            bunk = "top bunk of cell";
        }
        else
        {
            bunk = "only bunk of cell";
        }
        System.out.println("\t\t" + prisoner.nameToString() + " is in the " + bunk + cell.toString());
    }

}
Run Code Online (Sandbox Code Playgroud)

我怎么能解决这个问题呢?

java for-loop

-1
推荐指数
2
解决办法
274
查看次数