Definicja i dodawanie wielu obiektów

0

Witam.
Próbuję rozwiązać jeden problem:

Chcę stworzyć coś w rodzaju pętli, która utworzy mi listę obiektów, a potem doda je do panelu:

import java.awt.Component;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JPanel;


public class Przyciski extends JPanel implements ActionListener{
		
		public static final int HEIGHT = 100;
		public static final int WIDTH = 300;
		protected JButton b1,b2,b3,b4,b5,b6,b7,b8,b9,b0;
	
	public Przyciski(){
			
		setLayout(new FlowLayout());
		b1 = new JButton("1");
		b2 = new JButton("2");
		b3 = new JButton("3");
		b4 = new JButton("4");
		b5 = new JButton("5");
		b6 = new JButton("6");
		b7 = new JButton("7");
		b8 = new JButton("8");
		b9 = new JButton("9");
		b0 = new JButton("0");
		
		setPreferredSize(new Dimension(WIDTH, HEIGHT));
		for(int i=9; i>=0; i--) add(???("b"+i));		
		
	}
	@Override
	public void actionPerformed(ActionEvent e) {
		// TODO Auto-generated method stub
		
	}
} 

Pierwsze utworzenie przycisków zrobione jest klasyczną metodą, jak teraz dodać je przy użyciu pętli for, która do literki "b" doda wartość zmiennej " i ", która określa numer przycisku i zamieni w ten sposób by kompilator traktował to jako nazwę obiektu b1, b2, itd?

Pozdrawiam.

0

A nie lepiej zamiast pojedynczych obiektów JButton zrobić tablicę JButton?

przyciski = new JButton[10];
        for (int i = 0; i <przyciski.length; i++) {
            przyciski[i] = new JButton(String.valueOf(i));
            add(przyciski[i]);
        }
0

Tak. O coś takiego mi chodziło.

Przy okazji się spytam - jaki jest skrót klawiszowy, aby w trakcie pisania dostawać od razu gotowe propozycje dokończenia pisanej frazy?
Np. napiszę słowo " set" i pojawia mi się zaraz ramka z wszystkimi możliwymi końcami tej metody.

#Edit: Oraz aby rysowane przyciski układały się od prawej strony, zaczynając od [ 9 ] jak w prawdziwym kalkulatorze?

1

Podpowiadanie składni Crtl+ SPACE

0

Up. Nie zauważyłem, że mnie wylogowała przeglądarka.

Żadne podpowiedzi mi się nigdzie nie pokazuję, co jest dziwne bo sprawdzałem w oczywistych miejscach...
Jakaś wina w ustawieniach, czy jak?

0

Nie wiem co nazywasz prawdziwym kalkulatorem, chodzi Ci o taki efekt?
BTW, szybciej i wygodniej wprowadza się liczby za pomocą klawiatury.

0

Tak, o taki efekt.

Piszę to w celu nauki i kombinowania/poznawania kodu, więc staram się próbować wszystiego. ;)

1
        setLayout(new GridLayout(4,3,5,5));
        String[] napisy = {"7","8","9","4","5","6","1","2","3","0"};
        JButton[] przyciski = new JButton[10];
        for(int i=0;i<napisy.length;i++)
        {
            przyciski[i] = new JButton(napisy[i]);
            add(przyciski[i]);
        }
0

Problem z podpowiedziami udało mi się rozwiązać.

Tak. O coś takiego mi chodziło! :D

A da się tutaj użyć jakoś

ComponentOrientation 

#Edit: Udało mi się. Użyłem takiej linijki kodu:

p.applyComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);

1 użytkowników online, w tym zalogowanych: 0, gości: 1