Взаимодействие между массивами (новичок в Java) - PullRequest
2 голосов
/ 29 ноября 2011

В настоящее время я работаю над небольшой игрой (камень, бумага, ножницы) в JFrame, и она работает отлично!

Единственная проблема в том, что я не могу заставить текст и кнопки на экране приветствия "выстраиваться" так, как я хочу.

Я сделал два массива JLabels и Font, и я понятия не имею, как их сделать ... обратите внимание на других.

JLabel [] labels = {(new JLabel("*****VÄLKOMMEN TILL MITT SPEL!*****")),new JLabel("Reglerna är enkla: "),new JLabel(" Du tävlar mot datorn i helt vanlig sten, sax, påse."),new JLabel("Du väljer ett drag med hjälp av knapparna."),new JLabel("Datorn slumpgenererar mellan de tre alternativen."),new JLabel("Först till den angivna poängen vinner!"),new JLabel("REDO ATT STARTA?")};

Font [] Typsnitt = {(new Font("Serif", Font.PLAIN, 24)),(new Font("Calibri", Font.PLAIN, 15)),(new Font("Calibri", Font.PLAIN, 15)),(new Font("Calibri", Font.PLAIN, 15)),(new Font("Calibri", Font.PLAIN, 15)),(new Font("Calibri", Font.PLAIN, 15)),(new Font("Calibri", Font.PLAIN, 60))};

У меня есть фотография, но я не могу загрузить ее по "причинам репутации"

Вот весь код окна приветствия.

import java.awt.event.*;
import javax.swing.JButton;
import java.awt.*;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
public class SimpeltSpel extends JFrame {
  public static void main(String[] args) {
   SimpeltSpel ny = new SimpeltSpel();
   ny.setVisible(true);

  }
   public JButton JaKnapp;
   public JButton NejKnapp;
   public JButton Sten;
   public JButton Sax;
   public JButton Påse;
   {
    JaKnapp = new JButton();
    JaKnapp.setText("     Ja     ");

    NejKnapp = new JButton();
    NejKnapp.setText("     Nej     ");
   }

 public SimpeltSpel() {
  super("Sten,Sax,Påse!");
  this.setSize(new Dimension(500,500));
  this.setResizable(false);
  setLayout(new FlowLayout());

    JLabel [] labels = {(new JLabel("*****VÄLKOMMEN TILL MITT SPEL!*****")),new JLabel("Reglerna är enkla: "),new JLabel(" Du tävlar mot datorn i helt vanlig sten, sax, påse."),new JLabel("Du väljer ett drag med hjälp av knapparna."),new JLabel("Datorn slumpgenererar mellan de tre alternativen."),new JLabel("Först till den angivna poängen vinner!"),new JLabel("REDO ATT STARTA?")};
    Font [] Typsnitt = {(new Font("Serif", Font.PLAIN, 24)),(new Font("Calibri", Font.PLAIN, 15)),(new Font("Calibri", Font.PLAIN, 15)),(new Font("Calibri", Font.PLAIN, 15)),(new Font("Calibri", Font.PLAIN, 15)),(new Font("Calibri", Font.PLAIN, 15)),(new Font("Calibri", Font.PLAIN, 60))};

     labels[0].setHorizontalTextPosition(JLabel.CENTER);

     for (int i = 0; i<7; i++){
         getContentPane().add(labels[i]);
     }
     add(JaKnapp);
     add(NejKnapp);

     setLocationRelativeTo(null); 
     setVisible(true);
     Knappar behandlare = new Knappar();
     JaKnapp.addActionListener(behandlare);
     NejKnapp.addActionListener(behandlare);

 }
 private class Knappar implements ActionListener{
  public void actionPerformed (ActionEvent event){
   Object KnappTryck = event.getSource();
      if (KnappTryck == NejKnapp){
       System.exit(0);
      }
      else if (KnappTryck == JaKnapp) {

            }
        }
    }
 }

1 Ответ

4 голосов
/ 29 ноября 2011

Если вы хотите, чтобы ваш макет выглядел как сетка, используйте GridLayout с 2 столбцами. Установите это так, прежде чем добавлять какие-либо компоненты:

setLayout(new GridLayout(0, 2));

Из документов API для GridLayout:

Класс GridLayout - это менеджер компоновки, который размещает контейнер компоненты в прямоугольной сетке.


Обратите внимание, что сегодня вы используете FlowLayout, который размещает компоненты в направлении потока, указанном в API:

Схема потока размещает компоненты в направлении потока, очень похоже на строки текста в абзаце. Направление потока определяется свойство componentOrientation контейнера и может быть одним из двух Значения:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...