Расположение элементов на форме - 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;