Расположение элементов на форме - Java
Формулировка задачи:
Есть код там две кнопки нужно сделать + она добавляет элементы в панель но не так как надо
А нужно сделать чтобы ид был тоненький а текст занимал до конца экрана место и при этом когда количество элементов выходит за предел панели появлялись полосы прокрутки
import java.awt.BorderLayout; import java.awt.Dialog; import javax.swing.JFileChooser; import javax.swing.JFrame; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.GridLayout; import java.awt.Panel; import java.awt.TextArea; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File; import java.util.ArrayList; import javax.swing.BoxLayout; import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JScrollBar; import javax.swing.JScrollPane; import javax.swing.JTextArea; public class sc { public static int x = 20; public static int y = 0; public static int i = 1; public static void createGUI() { JFrame scenario = new JFrame("Описание сценария"); scenario.setDefaultCloseOperation(scenario.EXIT_ON_CLOSE); scenario.setBounds(200, 200, 500, 500); scenario.setLayout(new GridLayout(2, 1)); JPanel p1 = new JPanel(); p1.setLayout(null); scenario.add(p1); final JPanel p2 = new JPanel(); final JScrollPane p3 = new JScrollPane(p2); p2.setLayout(new GridLayout(0, 2)); scenario.add(p3); JButton choose = new JButton("Выберите файл"); choose.setBounds(10, 10, 130, 30); p1.add(choose); JButton plus = new JButton("+"); plus.setBounds(150, 10, 45, 30); p1.add(plus); JComboBox cmbact = new JComboBox(); cmbact.setBounds(50, 100, 100, 30); p1.add(cmbact); JComboBox cmbuse = new JComboBox(); cmbuse.setBounds(200, 100, 100, 30); p1.add(cmbuse); scenario.repaint(); scenario.setVisible(true); choose.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { JFileChooser chooser = new JFileChooser(); chooser.setFileFilter(new ExtFileFilter()); chooser.showOpenDialog(null); File f = chooser.getSelectedFile(); String filename = f.getAbsolutePath(); Files files = new Files(); ArrayList<String> ucase = files.parseuse(filename); ArrayList<String> act = files.parseact(filename); System.out.println("Actor - " + act); System.out.println("UseCase - " + ucase); for (int i = 0; i < act.size(); i++) { cmbact.addItem(act.get(i)); } for (int i = 0; i < ucase.size(); i++) { cmbuse.addItem(ucase.get(i)); } } }); plus.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { int number = p2.getComponentCount() + 1; JLabel id = new JLabel("" + i); JTextArea text = new JTextArea("text" + number); JScrollPane pane = new JScrollPane(text); id.setLocation(x - 20, y); id.setSize(20, 20); pane.setSize(450, 110); pane.setLocation(x, y); text.setText(null); text.setLineWrap(true); p2.add(id); p2.add(pane); System.out.println(x + "-" + y); System.out.println(i); y = y + 120; i++; p3.repaint(); p3.revalidate(); } }); } public static void main(String[] args) { javax.swing.SwingUtilities.invokeLater(new Runnable() { public void run() { createGUI(); } }); } }
Подскажите по поводу размещения и полос прокрутки
если добавить 9+ элементов становится все нормально
Подскажите по поводу размещения и полос прокрутки
если добавить 9+ элементов становится все нормально
Почему никто не пишет ничего
Решение задачи: «Расположение элементов на форме»
textual
Листинг программы
static Dimension DIMENSION;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д