3 回答
TA贡献2036条经验 获得超8个赞
这是一个完整的工作示例:
import java.awt.GridLayout;
import javax.swing.*;
public class ChangeTextViaCheckbox extends JFrame {
public ChangeTextViaCheckbox() {
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLayout(new GridLayout(3, 1));
JCheckBox cb1 = new JCheckBox("Checkbox 1");
JCheckBox cb2 = new JCheckBox("Checkbox 2");
JTextField tf = new JTextField();
cb1.addActionListener(e -> tf.setText("CB 1 is active"));
cb2.addActionListener(e -> tf.setText("CB 2 is active"));
add(cb1);
add(cb2);
add(tf);
}
public static void main(String[] args) {
ChangeTextViaCheckbox frame = new ChangeTextViaCheckbox();
frame.pack();
}
}
两者都ActionListener听取执行的动作。如果是这样,他们会在JTextField.
但如果你通过JRadioButton和一个ButtonGroup. 有了这个就不能有多项选择了。
TA贡献1780条经验 获得超3个赞
您可以将 switch() 用于您的组合框。我写了一个代码,它的名称定义为 combobox 作为 cb1。getSelectedItem() 方法用于 cb1。您可以为每种情况定义相应的命令(从索引 0 开始)。
String a = (String)cb1.getSelectedItem();
int i = 0;
switch (i){
case 0:
break;
}
确保以break结束每个case;否则你的代码将重复执行。现在,如果您使用的文本字段是 t1,则通用以下代码,
switch (i) {
case 0: t1.setText(<whatever you want to display>);
break;
}
希望这可以帮助。
这是重新审视的代码:
String a = (String)cb1.getSelectedItem();
int i = 0;
switch(i){
case 0: t1.setText("Take Care, Nothing Was The Same, Views, More Life, Scorpion");
// for combobox option Drake index = 0
break;
case 1: t1.setText("Stoney, Beerbongs & Bentleys");
// for combobox option post_malone index = 1
break;
case 2: t1.setText("One Love, Listen, Nothing But the Beat");
// for combobox option david_guetta
break;
}
switch是一个选择语句,它根据整数或字符常量列表连续测试表达式的值。当找到匹配项时,将执行与该常量关联的语句。这里,变量 i 是要计算的表达式(您从组合框中选择的选项)。
希望这再次有所帮助!
TA贡献1796条经验 获得超10个赞
你的问题缺乏细节和示例,你应该发布你已经编写的代码的重要部分,例如我现在不知道你使用什么[GUI] API(例如 或 ),所以我强烈swing建议AWT你编辑您的问题并提供更多详细信息,但无论哪种方式,我都会给您一个简单的示例。
我假设您使用的是swingapi,但如果您使用另一个 GUI api(如 ),应该没有什么不同AWT。
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class SwingExample extends JFrame{
public SwingExample(){
String[] artists = {"artist1","artist2","artist3"};
Map<String,String> albumOfArtists = new HashMap<String,String>();
albumOfArtists.put("artist1","album1");
albumOfArtists.put("artist2","album2");
albumOfArtists.put("artist3","album3");
JComboBox combo1 = new JComboBox<String>(artists);
JTextField field1 = new JTextField();
//You implement an action listener to define what should be done when
//an user performs certain operation. An action event occurs,
//whenever an action is performed by the user. Examples: When the user
//clicks a button, chooses a menu item, presses Enter in a text field.
//add action listener to your combobox:
combo1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
String selectedString=(String)combo1.getSelectedItem();
field1.setText(albumOfArtists.get(selectedString));
//for example if you select artist1 then the text displayed in the text field is: album1
}
}
add(combo1);
add(field1);
}
private static void createAndShowGUI() {
JFrame frame = new CreateNewJTextField();
frame.pack();
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
createAndShowGUI();
}
}
添加回答
举报