Я пишу простое приложение, решение системы уравнений. Основная идея заключается в том, чтобы получить количество переменных в системе от пользователя и создать динамическое сопровождение многих JTextFields с помощью кнопки для решения системы.Создание вертикальной прокрутки JFrame с FLowLayout
В своем стремлении достичь этого я изо всех сил стараюсь установить вертикальную полосу прокрутки.
Что происходит, макет становится все испорченным после использования JScrollPane.
Я использовал this в качестве проводника и попытался сделать это таким образом, с VERTICAL_ALWAYS AND HORIZONTAL_NEVER, но это не сработает.
Элементы управления размещены боковыми путями, а не один-другой-другой сверху вниз.
Как достичь этого?
public class SolverUserInterface implements ActionListener{
private JFrame solverUI;
private JPanel panel;
private JLabel lbl[];
private JTextField eq_Fields[];
public SolverUserInterface(int Count) {
// TODO Auto-generated constructor stub
solverUI = new JFrame("Solver");
solverUI.setSize(405, 137);
solverUI.setResizable(false);
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
solverUI.setLocation(dim.width/2-solverUI.getSize().width/2, dim.height/2-solverUI.getSize().height/2);
solverUI.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
panel = new JPanel();
panel.setLayout(new FlowLayout());
lbl = new JLabel[Count];
eq_Fields = new JTextField[Count];
for(int i = 0; i < Count; i++){
lbl[i] = new JLabel("Equation "+(i+1)+" : ");
eq_Fields[i] = new JTextField(26);
panel.add(lbl[i]);
panel.add(eq_Fields[i]);
}
JButton btnSolve = new JButton("Solve Equations!");
panel.add(btnSolve);
btnSolve.addActionListener(this);
/*This is the part concerned*/
JScrollPane jp = new JScrollPane(panel, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
solverUI.add(jp);
solverUI.revalidate();
}
public void ShowUserInterface(){
solverUI.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
}
}
Обычно, с таким вопросом, вам лучше вставить коды (не все, кроме конкретного кода, с которым у вас возникла проблема). См. [SSCCE] (http://sscce.org/) и этот [контрольный список вопросов] (http://msmvps.com/blogs/jon_skeet/archive/2012/11/24/stack-overflow-question-checklist .aspx). – Azad
Извините за неудобства. Сообщение отредактировано. – Priyabrata
Попробуйте 'panel.setPreferredSize (новый размер (800, 600));' – Azad