Итак, мой JFrame
не получается так, как я этого хочу, из-за FlowLayout()
, но я не знаю, что еще использовать, чтобы исправить это. Это просто делает мой JButton
заполнить весь JFrame
. Есть ли способ получить FlowLayout()
для применения моих пользовательских размеров и местоположения для компонентов JFrame
, или есть альтернатива, которая могла бы легко заменить его?Что следует использовать вместо FlowLayout()?
Вот мой код:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class MTGSAMPServerReference extends JFrame implements ActionListener {
public static Toolkit tk = Toolkit.getDefaultToolkit();
static int ScrnWidth = ((int) tk.getScreenSize().getWidth());
static int ScrnHeight = ((int) tk.getScreenSize().getHeight());
private static final long serialVersionUID = 1L;
private static JList list1;
private static JButton next;
public MTGSAMPServerReference() {
// set flow layout for the frame
this.getContentPane().setLayout(new FlowLayout());
Object[] data1 = { "Value 1", "Value 2", "Value 3", "Value 4", "Value 5" };
list1 = new JList<Object>(data1);
next = new JButton("Next");
next.addActionListener(this);
// add list to frame
add(list1);
add(next);
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand().equals("Next")) {
int index = list1.getSelectedIndex();
System.out.println("Index Selected: " + index);
String s = (String) list1.getSelectedValue();
System.out.println("Value Selected: " + s);
}
}
private static void createAndShowGUI() {
//Create and set up the window.
JFrame f = new MTGSAMPServerReference();
//Display the window.
f.pack();
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setSize(1200, 800);
f.setLocationRelativeTo(null);
list1.setSize(250, 250);
list1.setLocation(0, 0);
next.setSize(75, 25);
next.setLocation(251, 276);
}
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
}
Любые идеи?
Заранее благодарен!
EDIT: Вот изображение проблемы.
EDIT: Вот что я хочу, чтобы выглядеть (примерно):
* "Это только делает мой JButton заполнить всю JFrame" * Не здесь нет. Предоставьте ASCII-графику графического интерфейса, поскольку он должен отображаться в наименьшем размере и (если размер изменяется) с дополнительной шириной/высотой. Кроме того, пожалуйста, укажите импорт в верхней части исходного кода и исправьте все предупреждения компилятора перед публикацией. У меня есть версия вашего кода, которая делает это. Вы хотите, чтобы я отредактировал его в вопросе? –
Или просто разместите изображение или ссылку на него. – tbodt
@AndrewThompson Что теперь? Должен ли я просто сделать снимок экрана о том, как он выглядит? – knorberg