Расположение элементов на форме - Java

Узнай цену своей работы

Формулировка задачи:

Есть код там две кнопки нужно сделать + она добавляет элементы в панель но не так как надо А нужно сделать чтобы ид был тоненький а текст занимал до конца экрана место и при этом когда количество элементов выходит за предел панели появлялись полосы прокрутки
Листинг программы
  1. import java.awt.BorderLayout;
  2. import java.awt.Dialog;
  3. import javax.swing.JFileChooser;
  4. import javax.swing.JFrame;
  5. import java.awt.Dimension;
  6. import java.awt.FlowLayout;
  7. import java.awt.GridLayout;
  8. import java.awt.Panel;
  9. import java.awt.TextArea;
  10. import java.awt.event.ActionEvent;
  11. import java.awt.event.ActionListener;
  12. import java.io.File;
  13. import java.util.ArrayList;
  14. import javax.swing.BoxLayout;
  15. import javax.swing.JButton;
  16. import javax.swing.JComboBox;
  17. import javax.swing.JFrame;
  18. import javax.swing.JLabel;
  19. import javax.swing.JPanel;
  20. import javax.swing.JScrollBar;
  21. import javax.swing.JScrollPane;
  22. import javax.swing.JTextArea;
  23. public class sc {
  24. public static int x = 20;
  25. public static int y = 0;
  26. public static int i = 1;
  27. public static void createGUI() {
  28. JFrame scenario = new JFrame("Описание сценария");
  29. scenario.setDefaultCloseOperation(scenario.EXIT_ON_CLOSE);
  30. scenario.setBounds(200, 200, 500, 500);
  31. scenario.setLayout(new GridLayout(2, 1));
  32. JPanel p1 = new JPanel();
  33. p1.setLayout(null);
  34. scenario.add(p1);
  35. final JPanel p2 = new JPanel();
  36. final JScrollPane p3 = new JScrollPane(p2);
  37. p2.setLayout(new GridLayout(0, 2));
  38. scenario.add(p3);
  39. JButton choose = new JButton("Выберите файл");
  40. choose.setBounds(10, 10, 130, 30);
  41. p1.add(choose);
  42. JButton plus = new JButton("+");
  43. plus.setBounds(150, 10, 45, 30);
  44. p1.add(plus);
  45. JComboBox cmbact = new JComboBox();
  46. cmbact.setBounds(50, 100, 100, 30);
  47. p1.add(cmbact);
  48. JComboBox cmbuse = new JComboBox();
  49. cmbuse.setBounds(200, 100, 100, 30);
  50. p1.add(cmbuse);
  51. scenario.repaint();
  52. scenario.setVisible(true);
  53. choose.addActionListener(new ActionListener() {
  54. public void actionPerformed(ActionEvent e) {
  55. JFileChooser chooser = new JFileChooser();
  56. chooser.setFileFilter(new ExtFileFilter());
  57. chooser.showOpenDialog(null);
  58. File f = chooser.getSelectedFile();
  59. String filename = f.getAbsolutePath();
  60. Files files = new Files();
  61. ArrayList<String> ucase = files.parseuse(filename);
  62. ArrayList<String> act = files.parseact(filename);
  63. System.out.println("Actor - " + act);
  64. System.out.println("UseCase - " + ucase);
  65. for (int i = 0; i < act.size(); i++) {
  66. cmbact.addItem(act.get(i));
  67. }
  68. for (int i = 0; i < ucase.size(); i++) {
  69. cmbuse.addItem(ucase.get(i));
  70. }
  71. }
  72. });
  73. plus.addActionListener(new ActionListener() {
  74. public void actionPerformed(ActionEvent e) {
  75. int number = p2.getComponentCount() + 1;
  76. JLabel id = new JLabel("" + i);
  77. JTextArea text = new JTextArea("text" + number);
  78. JScrollPane pane = new JScrollPane(text);
  79. id.setLocation(x - 20, y);
  80. id.setSize(20, 20);
  81. pane.setSize(450, 110);
  82. pane.setLocation(x, y);
  83. text.setText(null);
  84. text.setLineWrap(true);
  85. p2.add(id);
  86. p2.add(pane);
  87. System.out.println(x + "-" + y);
  88. System.out.println(i);
  89. y = y + 120;
  90. i++;
  91. p3.repaint();
  92. p3.revalidate();
  93. }
  94. });
  95. }
  96. public static void main(String[] args) {
  97. javax.swing.SwingUtilities.invokeLater(new Runnable() {
  98. public void run() {
  99. createGUI();
  100. }
  101. });
  102. }
  103. }
Подскажите по поводу размещения и полос прокрутки если добавить 9+ элементов становится все нормально
Подскажите по поводу размещения и полос прокрутки если добавить 9+ элементов становится все нормально Почему никто не пишет ничего

Решение задачи: «Расположение элементов на форме»

textual
Листинг программы
  1. static Dimension DIMENSION;

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.167 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут