【发布时间】:2012-06-17 16:42:55
【问题描述】:
我正在设计一个小程序,因此它允许用户绘制图表。我在构建代码时遇到问题,该代码从另一个文件(ControlsB.java)更新了 Graph.java 文件中的变量。以下是我的代码:
import java.awt.*;
import javax.swing.*;
public class Calculator extends JFrame{
/**
*
*/
private static final long serialVersionUID = 1L;
private static final int HORIZONTAL_SCROLLBAR_NEVER = 0;
private static final int VERTICAL_SCROLLBAR_ALWAYS = 0;
public static void main (String[] args){
JFrame calculator = new JFrame("My Simple Calculator");
calculator.setSize(500,500);
JPanel panel = new JPanel();
panel.setLayout(new BorderLayout());
Box a = Box.createHorizontalBox();
JTextArea text = new JTextArea(10,15);
JScrollPane scroll = new JScrollPane(text, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
Box b = Box.createHorizontalBox();
//JToolBar tool = new JToolBar(SwingConstants.HORIZONTAL);
JButton add = new JButton("+");
JButton minus = new JButton("-");
JButton multi = new JButton("x");
JButton div = new JButton("/");
JButton c = new JButton("C");
JButton eq = new JButton("=");
JTextField field = new JTextField(10);
JButton enter = new JButton("Enter");
b.add(add);
b.add(minus);
b.add(multi);
b.add(div);
b.add(c);
b.add(eq);
a.add(field);
a.add(enter);
panel.add(scroll,BorderLayout.NORTH);
panel.add(b,BorderLayout.CENTER);
panel.add(a,BorderLayout.SOUTH);
calculator.setContentPane(panel);
calculator.setVisible(true);
}
}
现在我主要关心的是 ControlsB.java 文件,当用户输入 x 轴和 y 轴 范围 并点击按钮 Resize graph.java 文件中的变量会相应更新,从而调整图形大小。
我在 Graph.java 文件中所说的变量在 57 到 65 行之间。
谢谢
【问题讨论】:
-
我知道这不是你问题的重点,但你的代码看起来很糟糕。重点是,您想介绍
action listener- 面向对象编程 的基本功能之一,但您的代码根本不是面向对象的,它是纯过程的。它会给你带来很多油漆来维护它。 -
@Matthew 得到答案后请不要破坏您的问题。
标签: java swing actionlistener paintcomponent japplet