ボタンをクリックすると、パネルにボタンを 1 つ追加したいのですが、プログラムが以前のように動作しません。これは私の前のプログラムです:
ピンクのボタンが付いた南パネルはカードレイアウトパネルです。東の灰色のボタンをクリックすると、カードパネルが変わりました。ピンクのボタンをクリックすると、次のことが起こりました。
1 つのピンク色のボタン setText を 1 つのラベルに設定します。カードパネル「TOPLI NAPICI」にボタンを 1 つ追加すると、次のことが起こりました。
ご覧のとおり、1つのボタン「モカ」がパネルに追加されますが、1つのボタンをクリックすると、setTextが2回、新しいボタン(この場合は「MOKA」)のみsetTextが1回設定されます。これは、cardpanel の他のパネルでも発生しました。
これは、ボタンをクリックして新しいボタンを追加するときのコードの一部です
if (enter == JOptionPane.OK_OPTION) {
try{
Double price1=Double.parseDouble(priceField.getText());
String name1= productField.getText();
Product name = new Product(name1, price1);
Application .manu.add(name);
if (field.getSelectedItem().equals("TOPLI NAPICI")){
for(Controller c:Controller) {
c.tnp.add(new JButton(name1));//c is panel , holds all panels
c.tn.revalidate();//c.tn is panel which is changed( adding one button), cardpanel
c.removeAll();
c.panels();//create all panels which is removed
c.revalidate();
System.out.print( c.tnp.size());//tnp is a list with buttons, shows that add one more button, that is correct
}
click button
パネルを複製したり、 2回クリックしたりしたときのように。出来ますか?また、cardlayout の 1 つのパネル (「TOPLI NAPICI」) だけを変更したのに、cardlayout のすべてのパネル (「SOKOVI」と「ALKOHOL」) で変更されました。
助けてくれてありがとう。