Как задать размер кнопки JButton на панели Jpanel - Java
Формулировка задачи:
Имеется JFrame на котором распложены пара панелей. На панельках размещаются кнопки, окна.
Вопрос в том, что не получается жестко задать ни размеры самих панелей ни размеры элементов на панелях.
Например как можно жестко задать размер кнопки start на Panel2? Вариант start.setSize(170, 20); не работает.
public class TestClass1 extends JFrame {
private static boolean permit;
private static int count;
private static String str;
//----------------------------------------------------------------------
// создание объектов
private JTextArea input = new JTextArea("input");
private JScrollPane scrollPaneInput = new JScrollPane(input);
private JPanel panel1 = new JPanel();
private JPanel panel2 = new JPanel();
private JButton start = new JButton("Start");
private JLabel label1 = new JLabel("label1");
// конструктор класса JavaEniseyGraphic (должен иметь класса)
public TestClass1(){
// инициализация компонентов
initComponents();
}
// метод инициализации компонентов формы
private void initComponents(){
// положение на экране
setBounds(15,30,500,300);
// размер формы
setSize(500, 300);
// контейнер для размещения компонентов формы
Container container = getContentPane();
input.setColumns(20);
input.setRows(10);
input.setLayout(new BorderLayout());
input.setSize(20, 20);
panel1.add(BorderLayout.CENTER, scrollPaneInput);
panel1.setBorder(new CompoundBorder(new EmptyBorder(5, 5, 5, 5), new TitledBorder("Gaphic")));
// panel1.setSize(100, 100);
panel1.add(label1);
start.setSize(170, 20);
panel2.setBorder(new CompoundBorder(new EmptyBorder(5, 5, 5, 5), new TitledBorder("Control")));
// panel2.setSize(100, 100);
panel2.add(start);
// размещение панелей
container.add(BorderLayout.CENTER, panel1);
container.add(BorderLayout.EAST, panel2);
// зарегистрировать экземпляр класса обработчика события start
start.addActionListener(new startEventListener());
}
// клас имплементации события нажатия start
class startEventListener implements ActionListener {
@Override
// обработка события нажатия на button start
public void actionPerformed(ActionEvent e) {
// Флаг открытия pcap
permit = true;
input.setText("Hi!");
}
}
// метод получения permit в другом классе
public boolean getPermit() {
return permit;
}
// метод установи permit из другого класса
public void setPermit(boolean permit ) {
this.permit = permit;
}
// метод установки count из другого класса
public void setCount(int count ) {
this.count = count;
}
// метод передачи строки txt в input из другого класса
public void setInput(String txt) {
this.str = txt;
this.input.setText(str);
this.label1.setText(str);
}
}Решение задачи: «Как задать размер кнопки JButton на панели Jpanel»
textual
Листинг программы
start.setPreferredSize(new Dimension(170,20));