Как задать размер кнопки 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));
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д