Хорошо, я пытаюсь создать программу, которая берет System.in со сканера, помещает ввод в строку, а затем создает макет кнопки на основе ввода. Я довольно новичок в Java и немного самоучка, поэтому, если это выглядит странно, то это потому, что я не профессионал:
else if(wordReader.endsWith("\r")){
//Create grid layout (one below other)
GridLayout buttonReturn = new GridLayout(0,i);
contentPane.setLayout(buttonReturn);
System.out.println("This has a new line value");
i++;
wordReader.replaceAll("\r","");
buttonVal = new JButton (wordReader);
buttonVal.addActionListener(new ButtonListener());
buttonVal.setEnabled(true);
contentPane.add(buttonVal, BorderLayout.NORTH);
Border emptyBorder = BorderFactory.createEmptyBorder();
buttonVal.setBorder(emptyBorder);
}
else {
//Create button layout(side by side)
FlowLayout buttonLayout = new FlowLayout();
contentPane.setLayout(buttonLayout);
contentPane.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT);
buttonVal = new JButton (wordReader);
buttonVal.addActionListener(new ButtonListener());
buttonVal.setEnabled(true);
contentPane.add(buttonVal, BorderLayout.NORTH);
Border emptyBorder = BorderFactory.createEmptyBorder();
buttonVal.setBorder(emptyBorder);
}
Мои вопросы:
Я хочу создать кнопку для каждого слова, но отображать эти кнопки в формате, аналогичном формату бумаги. То есть, когда человек нажимает кнопку возврата каретки, я больше не хочу FlowLayout (рядом), но теперь хочу переместить следующую кнопку с возвратом каретки ниже предыдущих кнопок. Это возможно? Я пытался перейти от FlowLayout к GridLayout, чтобы переместить следующую кнопку ниже, но из чтения я даже не уверен, что это возможно. Есть ли способ сделать это?
Есть ли способ обнаружить кнопку возврата каретки, не выполняя ее в консоли, сейчас у меня они вводят \ r в качестве возврата каретки на своем входе вместо нажатия клавиши ввода?
Я просмотрел многочисленные инструкции, статьи, форумы и посты вопросов и ответов (в том числе на этом сайте), но, похоже, не могу найти ничего, что позволило бы мне делать то, что я хочу делать. Позже я буду делать это, чтобы читать из файла вместо System.in, так что, если это будет легче объяснить, не стесняйтесь примерить это :) Опять же, я довольно новичок в этом, и у меня мало формального обучения, поэтому тупой вниз жаргон был бы оценен. Большое спасибо всем.