Да, вы можете сделать это, используя interface
, что очень похоже на abstract class
, как это, но только с методами и без полей:
public interface CustomProperties {
public void setCustomProperties();
}
и:
public class CustomToolbarJButton extends JButton implements CustomProperties {
public void setCustomProperties() {
this.putClientProperty("Property1", "Value1");
}
// Some other CustomToolbarJButton specific code here.
}
обратите внимание на ключевое слово implements
, которое вы можете наследовать от нескольких интерфейсов одновременно ..
, так как я думаю, что вам это может понадобиться, вы можете создать объект типа CustomProperties с его подклассами.
CustomProperties obj = (CustomProperties) new CustomToolbarJButton();
Я надеюсь, что это помогло:)
РЕДАКТИРОВАТЬ: это может помочь, возможно, у вас есть другие требования ..
public interface CustomProperties {
public void setCustomProperties() {
this.putClientProperty("Property1", "Value1");
}
}
.
public class CustomToolbarJButton extends JButton implements CustomProperties {
// Some other CustomToolbarJButton specific code here.
}
.
public class CustomToolbarJToggleButton extends JToggleButton implements CustomProperties {
// Some other CustomToolbarJToggleButton specific code here.
}
и это: РЕДАКТИРОВАТЬ:
public void addCustomButtonToToolbar(boolean standardButtonOrToggleButton, String text) {
CustomProperties customToolbarButton = standardButtonOrToggleButton ? new CustomToolbarJButton(text) : new CustomToolbarJToggleButton(text);
customToolbarButton.setCustomProperties();
this.toolbar.add((Component) customToolbarButton);
}