我正在开发一个软件,用户必须根据用户的需要设置软件才能使用它。
当用户点击菜单项时,软件会抛出JDialog并询问用户输入,软件会存储输入。这很好用。我接下来有一个问题。我想要一个面板内的切换按钮(用户输入的文本作为其标签)。我尝试使用categoryPanel.add(C.getCategoryButton)
但它没有用。请帮忙!提前谢谢。
这是我做过的...... 我创建了一个扩展JToggleButton
的Category类public class Category extends JToggleButton implements ActionListener
{
private JToggleButton categoryButton;
public JToggleButton getCategoryButton()
{
buildCategoryButton();
return categoryButton;
}
private void buildCategoryButton()
{
categoryButton = new JToggleButton();
categoryButton.setText(MainFrame.getUserInput());
categoryButton.setVisible(true);
}
这是调用getCategoryButton()方法的地方
private void catCapBtnActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
userInput = catCapTextField.getText(); //works fine
Category C = new Category();
categoryPanel.add(C.getCategoryButton()); //doesn't work
validate();
catCapture.setVisible(false);//this closes the JDialog, and it works fine.
}
答案 0 :(得分:0)
扩展JToggleButton时,您创建的Category类将成为JToggleButton的实例。因此,您不需要JToggleButton的私有实例。我建议如下:
public class Category extends JToggleButton implements ActionListener {
public Category() {
super(MainFrame.getUserInput());
}
另外,如果我没弄错,按钮不需要设置为可见。