java-JComboBox如何在单击JButton时从两个JComboBox计算两个整数并将结果存储在JTextfield中
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java-JComboBox如何在单击JButton时从两个JComboBox计算两个整数并将结果存储在JTextfield中,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3111字,纯文字阅读大概需要5分钟。
内容图文
我有2个JComboBox,由数字combobox1 = 1到5和combobox2 = 1到6组成.
当我单击我的JButton时,我希望两个选定的数字被添加并显示在Textfield上.
除了计算以及如何在文本字段中获得结果外,我已经拥有完整的代码.
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class exer1 extends JFrame{
JFrame form = new JFrame ("haay");
JButton btn = new JButton ("Compute");
JTextField txt = new JTextField (10);
JComboBox cb1 = new JComboBox();
JComboBox cb2 = new JComboBox();
public exer1(){
form.getContentPane().setLayout(null);
form.setSize (500,550);
form.getContentPane().add(txt);
form.getContentPane().add(btn);
form.getContentPane().add(cb1);
form.getContentPane().add(cb2);
cb1.addItem(new Integer(1));
cb1.addItem(new Integer(2));
cb1.addItem(new Integer(3));
cb1.addItem(new Integer(4));
cb1.addItem(new Integer(5));
cb2.addItem(new Integer(1));
cb2.addItem(new Integer(2));
cb2.addItem(new Integer(3));
cb2.addItem(new Integer(4));
cb2.addItem(new Integer(5));
cb2.addItem(new Integer(6));
txt.setBounds(150,90,100,30);
btn.setBounds(40,170,100,40);
cb1.setBounds(190,140,50,30);
cb2.setBounds(190,190,50,30);
btn.addActionListener(new ActionListener(){
public void actionPerformed (ActionEvent e){
}
});
form.show();
}
public static void main (String args []){
exer1 xx = new exer1();
}
}
请帮忙.
解决方法:
提供的sscce显然是家庭作业,但练习的目的并不太清楚.有几件事值得注意.
> GUI应该在event dispatch thread上构建.
>按照惯例,类名以首字母大写开头.
>应该将冗长的初始化考虑在内,以提高可读性.
>添加到每个JComboBox的对象是类Integer的实例,该类为数学整数的子集建模.注意为什么valueOf()“通常应该优先于构造方法使用”.
>直到需要更新actionPerformed()中的显示之前,无需将任何内容转换为String.因为getSelectedItem()返回的是类型Object的值,所以结果必须转换为Integer;在本地构建的数据环境中,这是绝对安全的.
>一旦恢复了整数值,就很容易将总和作为一个整数值.
>最后将总和转换为String作为练习.提示:String有一个合适的方法,它的名称现在看起来很熟悉.
>与A Visual Guide to Layout Managers成为朋友永远不会太早.
修改后的示例:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Exercise1 extends JFrame {
JFrame form = new JFrame("Exercise1");
JButton btn = new JButton("Compute");
JTextField txt = new JTextField(10);
JComboBox<Integer> cb1 = new JComboBox<>();
JComboBox<Integer> cb2 = new JComboBox<>();
public Exercise1() {
form.setLayout(new GridLayout(0, 1));
form.add(txt);
form.add(btn);
form.add(cb1);
form.add(cb2);
for (int i = 1; i <= 5; i++) {
cb1.addItem(Integer.valueOf(i));
cb2.addItem(Integer.valueOf(i));
}
cb2.addItem(new Integer(6));
btn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
Integer v1 = (Integer) cb1.getSelectedItem();
Integer v2 = (Integer) cb2.getSelectedItem();
int sum = v1.intValue() + v2.intValue();
txt.setText("42"); // really should convert sum to a String
}
});
form.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
form.pack();
form.setVisible(true);
}
public static void main(String args[]) {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
Exercise1 exercise1 = new Exercise1();
}
});
}
}
作为参考,Java 7引入了ComboBoxModel<E>安全地用于改进类型,尽管getSelectedItem()仍然向后兼容.
内容总结
以上是互联网集市为您收集整理的java-JComboBox如何在单击JButton时从两个JComboBox计算两个整数并将结果存储在JTextfield中全部内容,希望文章能够帮你解决java-JComboBox如何在单击JButton时从两个JComboBox计算两个整数并将结果存储在JTextfield中所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。