1

日付を左上隅に移動したいのですが、フローレイアウト行ではパネル要素が中央に移動せずに右に移動します。それらを適切な場所に移動するようにグリッドレイアウトを変更するにはどうすればよいですか、またはフローレイアウトを目に見えない要素で埋める必要がありますか?

ありがとう。

    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 に答える