Как предотвратить кнопку с UpSize? Я использую вертикальную коробку с двумя строками, в первой строке → горизонтальная коробка со многими элементами управления, во второй строке → кнопка, но кнопка очень увеличена, как предотвратить это раздражающее поведение?Java. Предотвращение увеличения кнопки
Я пытался установить максимальный размер кнопки, это работает, но как правильно рассчитать этот размер?
Извините, я плохо говорю по-английски.
Пример:
import java.awt.Button;
import java.awt.Frame;
import java.awt.Label;
import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JProgressBar;
import javax.swing.JSpinner;
import javax.swing.SpinnerModel;
import javax.swing.SpinnerNumberModel;
public class TEST{
public static void main(String[] args){
Frame mainWindow = new Frame("hello");
Box vertBox = new Box(BoxLayout.Y_AXIS);
mainWindow.add(vertBox);
Box firstLine = new Box(BoxLayout.X_AXIS);
vertBox.add(firstLine);
SpinnerModel sm = new SpinnerNumberModel(100, 0, 200, 1);
for(int i = 0; i < 10; i++){
firstLine.add(new JSpinner(sm));
firstLine.add(new Label("Hello"));
}
Box secondLine = new Box(BoxLayout.X_AXIS);
vertBox.add(secondLine);
secondLine.add(new JProgressBar());
secondLine.add(new Button("RUN-THIS"));
mainWindow.pack();
mainWindow.setVisible(true);
}
}
Вы хотите показать нам код? Sidenote: Эй, вы используете капитал I, вы лучше говорите по-английски, чем некоторые (английские) люди здесь, в Интернете. – Charlie
Менеджер компоновки (класс, расширяющий LayoutManager) является ответственным за установку размера и положения всех компонентов (кнопок в этом случае), которые были добавлены в контейнер. Каждая специализация LayoutManager имеет свой собственный способ сделать это. Например, GridLayout будет равномерно распределять доступное пространство в контейнере среди компонентов, растягивая или сокращая их соответственно. Другие менеджеры компоновки, такие как FlowLayout, не изменят размеры компонентов. Но поскольку @Charlie просто сказал, что это трудно сделать, не видя свой код. – ulix
Видя весь ваш импорт, не 'import java.awt. *; import javax.swing. *; 'намного лучше? – Charlie