刚学的Java swing ,代码编译没问题,但是运行不了,有大佬能帮忙看看吗?

还有名字可以起吗 2020-05-17 09:46:07
package homework;
import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
public class homework{
public static void main(String[] args) {
cal cal1 = new cal();
}
}
class cal extends JFrame {
MousePolice police ;
JButton jia;
JButton cha;
JButton chu;
JButton ji;
JTextField text1;
JTextField text2;
JTextField answer;
public cal(){
init();
setVisible(true);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
}
void init(){
JFrame window1 = new JFrame() ;
Container con = window1.getContentPane();
con.setBackground(Color.blue);
window1.setBounds(150,150,1000,1000);
window1.setLayout(null);
JPanel jp=new JPanel();
window1.add(jp);
police = new MousePolice();
police.setView(this);
jia = new JButton("加");
jia.setBounds(150,150,100,100);
cha = new JButton("差");
cha.setBounds(500,150,100,100);
chu = new JButton("除");
jia.setBounds(650,50,100,100);
ji = new JButton("积");
ji.setBounds(150,500,100,100);
text1 = new JTextField(10);
text1.setBounds(850,650,10,10);
text2 = new JTextField(10);
text1.setBounds(950,650,10,10);
answer = new JTextField(10);
text1.setBounds(850,950,10,10);
window1.add(jia);
window1.add(cha);
window1.add(chu);
window1.add(ji);
window1.add(text1);
window1.add(text2);
window1.add(answer);
jia.addMouseListener(police);
cha.addMouseListener(police);
chu.addMouseListener(police);
ji.addMouseListener(police);
addMouseListener(police);
}
}
class MousePolice implements MouseListener {
cal view;

public void setView(cal view) {
this.view = view;
}

public void mousePressed(MouseEvent e) {
double result=1;
String value1 = view.text1.getText();
String value2 = view.text2.getText();
double number1 = Double.parseDouble(value1);
double number2 = Double.parseDouble(value2);
if (e.getSource() == view.jia && e.getButton() == MouseEvent.BUTTON1) {
result = number1 + number2;
} else if (e.getSource() == view.cha && e.getButton() == MouseEvent.BUTTON1) {
result = number1 - number2;
} else if (e.getSource() == view.chu && e.getButton() == MouseEvent.BUTTON1) {
result = number1 / number2;
} else if (e.getSource() == view.ji && e.getButton() == MouseEvent.BUTTON1) {
result = number1 * number2;
}
view.answer.setText(String.valueOf(result));
}
public void mouseReleased(MouseEvent e) {
}

public void mouseEntered(MouseEvent e) {
}

public void mouseExited(MouseEvent e) {
}

public void mouseClicked(MouseEvent e) {
}
}
...全文
188 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_39936465 2020-05-19
  • 打赏
  • 举报
回复
引用 楼主 还有名字可以起吗 的回复:
你这个程序编译是没问题,但是有一个很大的问题,就是你设置了2个jframe,类本身继承了jframe,你又初始化了一个jframe。 可视化的是类本身的jframe,但是你把所有容器都放入了你初始化的window1中。改一下吧!
fei得更高 2020-05-19
  • 打赏
  • 举报
回复
运行不了是一个怎么样的表现?
捏造的信仰 2020-05-17
  • 打赏
  • 举报
回复

请先学会贴代码。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧