当我单击按钮时,我想向面板添加一个按钮,但是我的程序不像以前那样工作。这是我的程序之前:JButton在JPanel重新验证后将两次setText改写为JLabel()
与粉红色按钮南面板cardlayout面板。当我点击东部的灰色按钮时,卡面板改变了。当我点击粉色按钮,发生这种情况:
一个粉红色按钮的setText一个标签。之后,我加入一个按钮CardPanel都“TOPLI NAPICI”这个事情发生了:
正如你可以看到,一键式“摩卡”添加到面板上,这是我想要的,但是当我点击一个按钮,它的setText两次,只有新按钮(在这种情况下“MOKA”)setText一次。这也正好与其他面板在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
点击它的一部分两次。可能吗?尽管我在cardlayout(“TOPLI NAPICI”)中只更改了一个面板,但它在所有面板中都在cardlayout(“SOKOVI”和“ALKOHOL”)中更改了 出了什么问题?
感谢您的任何帮助。
什么你正在采取什么行动?如果确实与注册点击次数有关,那么我建议使用mouseUp事件。 – CosminO 2013-02-26 11:43:38
我认为你的GUI应该完全重新设计。您可以使用JTabbedPane(在SOUTH上设置)和3个选项卡,并在每个选项卡中设置“JTable”(适用于各种类型的饮料),而不是使用此GUI会导致很多问题。每个'JTable'都会包含文章列表。然后,您可以添加一些按钮,以便您可以将文章添加到您的帐单。另外,一个'JTable'可以替换所有的'JLabel'和'JComboBox'。顺便说一句,如何打印报告? – 2013-02-26 14:16:27
你说得对。当我从这开始时,我有想法,但没有经验。我可以将表格设置为空并通过单击按钮进行填充。我的程序看起来与表格相同,而不是标签,组合框....? – Mikky 2013-02-26 19:42:31