2016-01-11 2 views
0

Так что у меня этот код в моем застройщик, мой класс расширяет 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

Просто позвоните конструктор с колоннами, см 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); 

Это должно решить вашу проблему.

+0

Спасибо за ответ! –

+0

Рад, что это помогло :) – Frakcool

0

Если вы используете jdk 8, тогда сохраните его, но загрузите jre 9, и ваши виджеты и т. Д. Будут иметь нормальный размер. Это решает проблему !

Смежные вопросы