摆动组件太小

时间:2016-01-11 16:45:39

标签: java swing

所以我在我的构造函数中有这个代码,我的类扩展了JFrame:

    super("myBucketList");

    i = new Item();


    //controls panel
    controls = new JPanel();

    itemField = new JTextField();
    itemField.addActionListener(new ListenAction());

    delField = new JTextField();
    delField.addActionListener(new ListenAction());

    listArea = new JTextArea();
    listArea.setEditable(false);

    controls.add(delField);
    controls.add(itemField);


    //txtareaPanel
    textareaPanel = new JPanel();

    listScroll = new JScrollPane();
    listScroll.setViewportView(listArea);

    textareaPanel.add(listScroll);


    //tab1 panel
    tab1 = new JPanel();
    tab1.setLayout(new BorderLayout());

    tab1.add(controls, BorderLayout.NORTH);
    tab1.add(textareaPanel, BorderLayout.CENTER);


    add(tab1);

    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setSize(500,200);
    setVisible(true);

现在,如果我运行我的应用程序,组件非常小,如何修复它?

以下是情况/问题的屏幕截图:http://snag.gy/yjbUl.jpg

enter image description here

由于

2 个答案:

答案 0 :(得分:2)

只需使用列调用构造函数,请参阅here

例如:

itemField = new JTextField(10); //Or the number of cols you want

或致电JTextField#setColumns()

itemField.setColumns(10); //Or the number of columns you want

对于JTextArea,请按以下方式调用此constructor

listArea = new JTextArea("", 10, 10); //Text, rows, cols.

或者再次使用JTextArea#setRows()JTextArea#setColumns(),如下所示:

listArea.setColumns(10);
listArea.setRows(10);

那应该解决你的问题。

答案 1 :(得分:0)

如果您使用的是jdk 8,请保留它 下载jre 9和你的小部件 等将是正常的大小。这解决了 问题!