Même si c'est une méthode valide, JComboBox#setVisible
ne cache pas mon JComboBox
. Est-ce que je fais quelque chose de mal? Si non, y a-t-il des alternatives?JCombobox.setVisible (false);
Répondre
Puisque vous ne présentez aucun intérêt à l'affichage d'une SSCCE, voici le mien montre que ce que vous avez déclaré en question est fausse et ne peut rien faire jusqu'à ce que vous publiez votre code.
Cela fonctionne bien pour moi,
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
public class FrameTest extends JFrame implements ActionListener {
JComboBox test;
public FrameTest() {
setLayout(new FlowLayout());
setSize(550, 100);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JButton hideJCombo = new JButton("Hide my JCombobox!");
JButton showJCombo = new JButton("Show my JCombobox!");
String course[] = {"This", "is", "a", "sample", "for", "StackOverflow"};
test = new JComboBox(course);
add(hideJCombo);
add(test);
add(showJCombo);
hideJCombo.setActionCommand("hide");
showJCombo.setActionCommand("show");
hideJCombo.addActionListener(this);
showJCombo.addActionListener(this);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new FrameTest().setVisible(true);
}
});
}
@Override
public void actionPerformed(ActionEvent e) {
if ("hide".equals(e.getActionCommand())) {
test.setVisible(false);
System.out.println("hide");
} else if ("show".equals(e.getActionCommand())) {
test.setVisible(true);
}
}
}
Je ne sais même pas pourquoi j'ai passé du temps à créer le SSCCE, mais ce code fonctionne comme prévu. Je vous suggère de le comparer avec votre code et de rechercher des différences
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
public class ComboboxDemo {
private static JFrame createFrame(){
JFrame result = new JFrame("ComboboxDemo");
final JComboBox<String> combobox = createCombobox();
result.add(combobox, BorderLayout.CENTER);
JCheckBox toggleVisibility = new JCheckBox("Toggle visibility");
toggleVisibility.setSelected(combobox.isVisible());
toggleVisibility.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
combobox.setVisible(e.getStateChange() == ItemEvent.SELECTED);
}
});
result.add(toggleVisibility, BorderLayout.SOUTH);
result.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
result.pack();
return result;
}
private static JComboBox<String> createCombobox(){
return new JComboBox<>(new String[]{"foo", "bar", "StackOverflow", "Hello World"});
}
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
createFrame().setVisible(true);
}
});
}
}
Personne ne peut répondre à votre question jusqu'à ce que vous postez le code. Cependant, pour la question des "Alternatives", je vais répondre.
Vous pouvez le désactiver en utilisant la méthode "SetEnabled (false)"
Si elle se trouve dans un JPanel, vous pouvez le supprimer en utilisant "remove()" et d'autres versions surchargées de cette méthode
Vous pouvez utiliser "setEditable (false)" pour le définir comme non modifiable. Je ne l'ai pas encore essayé de toute façon
- 1. false/FALSE - une différence?
- 2. HiddenInput (DisplayValue = false)] vs [ScaffoldColumn (false)]
- 3. Mis à jour false false behvior incosistent
- 4. Qu'est-ce que false false dans crossdomain.xml?
- 5. SecureSocket.isSupported == false
- 6. Boolean! = False
- 7. CURLOPT_SSL_VERIFYPEER = false?
- 8. NHibernate nouveau SchemaExport (cfg) .Execute (false, true, false, false); Pas de quatrième paramètre booléen
- 9. Quelle est la différence entre 'false === $ var' et '$ var === false'?
- 10. JPA @Id et insertable = false, updatable = false jette l'exception
- 11. Python: Pourquoi False ou 'name' retourne 'name' et non False?
- 12. Mapping XML Hibernate: False False ou Fetch Select?
- 13. Quelle est la différence entre false et FALSE?
- 14. comment combiner le "TRUE FALSE" en "FALSE" en utilisant R?
- 15. différence entre: [ScaffoldColumn (false)] et [Display (AutoGenerateField = false)]
- 16. Condition (CheckBox1.IsChecked = false && CheckBox2.IsChecked = false) ne fonctionne pas
- 17. Neat code pour convertir bool [] -> "false, true, true, false"
- 18. Veuillez expliquer à propos de: insertable = false, updatable = false
- 19. GetVolumeNameForVolumeMountPoint retourne false
- 20. pandas subplot useoffset = False
- 21. '[CLLocationManager headingAvailable]' return FALSE
- 22. SqlCeDataReader Read() return false
- 23. @ javax.persistence.Column (updatable = false)
- 24. emailVerification = false in parse
- 25. PHP: OOP: Returning False
- 26. WTSQueryUserToken avec FALSE retourné
- 27. Reachability + UIAlertView + false-positive
- 28. Ruby/Watir - locate = false
- 29. JDBC + statement.setEscapeProcessing (false)
- 30. reCATPCHA redirect isHuman = false
* "Est-ce que je fais quelque chose de mal?" * Oui. Pour une meilleure (ou toute) aide plus tôt, postez un [SSCCE] (http://sscce.org/). –
Cette méthode fonctionne comme prévu – Robin
_Ecce vis de [sscce] (http://sscce.org/) infra! _ – trashgod