1

我想将日期移动到左上角,但是使用 flowlayout 行,面板元素会向右移动而不是中心。如何修改网格布局以将它们移动到正确的位置,或者我应该用不可见的元素填充流布局?

谢谢。

    import java.util.Date;
    import java.awt.FlowLayout;
    import java.awt.GridLayout;
    import java.util.Calendar;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JTextArea;


    public class abba extends JPanel{

        Date dátum = new Date();
        Calendar cal = Calendar.getInstance();
        JLabel dát = new JLabel("Dátum: ");
        JTextArea év = new JTextArea("");
        JTextArea hónap = new JTextArea("");
        JTextArea nap = new JTextArea("");


        public class Date1 extends JPanel{

            public Date1(){

                setLayout(new FlowLayout(4));

                cal.setTime(dátum);
                int year = cal.get(Calendar.YEAR);
                int month = cal.get(Calendar.MONTH)+1;
                int day = cal.get(Calendar.DAY_OF_MONTH);

                év.setText(year+"");
                év.setColumns(4);
                hónap.setText(month+"");
                hónap.setColumns(2);
                nap.setText(day+"");
                nap.setColumns(2);

                add(dát);
                add(év);
                add(hónap);
                add(nap);
            }
        }




        public static void main(String args[]) {
            abba a = new abba();
            JFrame aa = new JFrame("Frame");
            aa.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
            aa.setSize(300, 300);
            aa.add(a);
            aa.setVisible(true);
        }

        public abba(){
            setLayout(new GridLayout(10,1));
            add(new Date1());
        //...
        }
    }    
4

1 回答 1

2

代替

setLayout(new FlowLayout(4));

setLayout(new FlowLayout(FlowLayout.LEFT));

使用FlowLayout常量字段参数而不是幻数。(4 = FlowLayout.TRAILING)

于 2013-08-14T13:37:28.543 回答