求大神解题,还有有大神能在线解答么明天一天复习java,后天早上考试。
楼上的代码不太适合考试用,我也是学生哈,上学期学完的java,按照所学知识敲的代码,希望对考试有帮助,考试加油~
还有更细节的东西没有细化,比如抛出输入格式异常什么的。。
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Add extends JFrame{
private JTextField t1,t2;
private JLabel l1,l2,l3;
private JButton b1,b2;
private JPanel p1,p2;
public Add(){ //构造函数里主要是对各控件的初始化和布局
super("两个实数相加");
this.setSize(300,200);
this.setLocation(500,200);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
p1=new JPanel(new FlowLayout(FlowLayout.LEFT)); //初始化并向左对齐
p2=new JPanel(); //这个默认是居中的
this.add(p1,BorderLayout.NORTH);
this.add(p2,BorderLayout.SOUTH);
t1=new JTextField(10);
t2=new JTextField(10);
l1=new JLabel("+");
l2=new JLabel("=");
l3=new JLabel("0");
p1.add(t1);
p1.add(l1);
p1.add(t2);
p1.add(l2);
p1.add(l3);
b1=new JButton("相加");
b2=new JButton("清除");
b1.addActionListener(new ButtonClick()); //给按钮加上监听器
b2.addActionListener(new ButtonClick());
p2.add(b1);
p2.add(b2);
this.setVisible(true);
}
class ButtonClick implements ActionListener //按钮的监听器
{
@Override
public void actionPerformed(ActionEvent e) {
//这个是相加功能,要将从输入框里的内容转化成Double类型再进行计算 if(e.getSource()==b1){
l3.setText(Double.parseDouble(t1.getText())+Double.parseDouble(t2.getText())+"");
}
if(e.getSource()==b2){ //这个就是清除功能的实现了,很简单的
t1.setText("");
t2.setText("");
l3.setText("0");
}
}
}
public static void main(String[] args)
{
new Add();
}
}
谢谢啦啦,我也是学生,我想问下你学java有没有什么技巧啊~
学语言都没什么技巧的,除了理解老师上课讲的东西,就只能靠多敲代码啦,多敲代码才能巩固知识记得更牢
如果你使用eclipse编写java程序的话可以使用windowbuilder来实现它,下面以windowbuilder为例:
打开eclipse新建一个SWT工程,File》New》Other》WindowBuilder》SWT/JFace Java Project
在新建的工程里新建一个Application Window类,
File》New》Other》WindowBuilder》SWT》Application Window
新建完成后在Design窗口按要求创建界面,完成后如图
下面再放出代码,功能实现都在里面了,有些小的细节我没有完善,但不影响功能实现:
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
public class test {
protected Shell shell;
private Text textNum1;
private Text textNum2;
private Label lblAnswer;
private double num1; //num1,num2用于存储两个加数
private double num2;
/**
* Launch the application.
* @param args
*/
public static void main(String[] args) {
try {
test window = new test();
window.open();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* Open the window.
*/
public void open() {
Display display = Display.getDefault();
createContents();
shell.open();
shell.layout();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
}
/**
* Create contents of the window.
*/
protected void createContents() {
shell = new Shell();
shell.setSize(346, 197);
shell.setText("\u4E24\u4E2A\u5B9E\u6570\u76F8\u52A0");
textNum1 = new Text(shell, SWT.BORDER);
textNum1.setBounds(28, 22, 73, 26);
Label label = new Label(shell, SWT.NONE);
label.setBounds(117, 25, 18, 20);
label.setText("+");
textNum2 = new Text(shell, SWT.BORDER);
textNum2.setBounds(141, 22, 73, 26);
Label label_1 = new Label(shell, SWT.NONE);
label_1.setBounds(231, 25, 18, 20);
label_1.setText("=");
lblAnswer = new Label(shell, SWT.NONE);
lblAnswer.setBounds(255, 22, 76, 26);
Button buttonAdd = new Button(shell, SWT.NONE);
/*相加按钮功能实现*/
buttonAdd.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
num1 = Double.parseDouble(textNum1.getText());
num2 = Double.parseDouble(textNum2.getText());
lblAnswer.setText(Double.toString(num1 + num2));
}
});
buttonAdd.setBounds(37, 107, 98, 30);
buttonAdd.setText("\u76F8\u52A0");
Button buttonDel = new Button(shell, SWT.NONE);
/*清除按钮功能实现*/
buttonDel.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
textNum1.setText("");
textNum2.setText("");
lblAnswer.setText("");
}
});
buttonDel.setBounds(190, 107, 98, 30);
buttonDel.setText("\u6E05\u9664");
}
}