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