Я уже делал GUI на моем компьютере, но с этой программой я хотел попробовать реализовать GridBag, чтобы я мог сделать простую игру. У меня нет подсказки, почему он не работает. Это код:GUI, не отображающийся на моем экране
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class GridBagTest extends JFrame{
public static void main(String[] args){
new GridBagTest();
}
public void GridBagTest(){
JButton atk, mag, fort, pot1, pot2, flee;
JPanel gamePanel = new JPanel();
gamePanel.setLayout(new GridBagLayout());
JFrame gameFrame = new JFrame("FightQuest");
gameFrame.getContentPane().add(gamePanel);
gameFrame.setSize(800, 600);
gameFrame.pack();
gameFrame.setVisible(true);
atk = new JButton("Strike");
mag = new JButton("Magic");
fort = new JButton("Fortify");
pot1 = new JButton("Potion 1");
pot2 = new JButton("Potion 2");
flee = new JButton("Flee");
addItem(gamePanel, atk, 0, 0, 1, 1, GridBagConstraints.SOUTHEAST);
addItem(gamePanel, mag, 1, 0, 1, 1, GridBagConstraints.SOUTH);
addItem(gamePanel, fort, 2, 0, 1, 1, GridBagConstraints.SOUTHWEST);
addItem(gamePanel, pot1, 0, 1, 1, 1, GridBagConstraints.NORTHEAST);
addItem(gamePanel, pot2, 1, 1, 1, 1, GridBagConstraints.NORTH);
addItem(gamePanel, flee, 2, 1, 1, 1, GridBagConstraints.NORTHWEST);
}
private void addItem(JPanel p, JComponent c, int x, int y, int width, int height, int align){
GridBagConstraints gc = new GridBagConstraints();
gc.gridx = x;
gc.gridy = y;
gc.gridwidth = width;
gc.gridheight = height;
gc.weightx = 100.0;
gc.weighty = 100.0;
gc.insets = new Insets(0, 0, 0, 0);
gc.anchor = align;
gc.fill = GridBagConstraints.NONE;
p.add(c, gc);
}
}
Я не знаю, если это делает никакой разницы, но я получил большую часть этого кода из справочника Java для Java 6, хотя я бегу Java 7, так как это было моя школа. Я также выполняю весь свой код в операционной системе XFCE.
1) Для лучшей помощи рано , опубликуйте [SSCCE] (http://sscce.org/). 2) См. [Использование нескольких JFrames, Good/Bad Practice?] (Http://stackoverflow.com/a/9554657/418556) –
У меня нет понятия, как сделать это короче, удаляя вещи из кода doesn ' t создайте GUI. Мне нужно, чтобы другие люди говорили мне, как сократить или удлинить код. – JavaNoob
Хорошо поздравляю, вы полностью понимаете 1 из 4 вещей, которые делают SSCCE. Теперь посмотрим на *** другие 3. *** –