import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class MyCalculatorGUI extends JFrame implements ActionListener {
JButton tripled, doubled;
JTextField input, output;
JPanel p1, p2;
MyCalculatorGUI() {
Container c = getContentPane();
tripled = new JButton("Triple");
tripled.addActionListener(this);
doubled = new JButton("Doubled");
doubled.addActionListener(this);
input = new JTextField("Input a number here.");
output = new JTextField("Result..");
p1.add(doubled);
p1.add(tripled);
p2.add(input);
p2.add(output);
c.add(p1);
c.add(p2);
setVisible(true);
setSize(400,400);
}
public void actionListener(ActionEvent e) {
}
public static void main(String[] args) {
MyCalculatorGUI output = new MyCalculatorGUI();
}
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
}
}
Eclipse我的代码出现问题,它是MyCalculatorGUI,它说没有使用局部变量。有人可以帮我解决这个问题吗?我最近刚搬到Eclipse,我试图解决的一切都不适合我。
答案 0 :(得分:1)
我认为您已创建了一个对象,而不是在main
方法
MyCalculatorGUI output = new MyCalculatorGUI();
答案 1 :(得分:1)
这只是Eclipse的警告。它无法看到您的实际逻辑发生在构造函数中 - 因此它认为您在main方法中创建了类MyCalculatorGUI
的新对象,但从不使用它。这可能是不必要的内存使用/消耗的标志,这可能是大型项目中的一个问题...
如果您将该行更改为new MyCalculatorGUI();
,则警告将消失。
答案 2 :(得分:0)
这不是错误,只是警告。
它只是意味着您已经创建了一个从未在代码中访问过的变量。如果您不需要它,请不要创建它。如果你这样做,那就使用它;)
MyCalculatorGUI output = new MyCalculatorGUI(); //either delete this line
output.someMethod(); //or use the instance in some way
之后警告应该消失。
答案 3 :(得分:0)
您不使用在main
方法中创建的变量,因此要么不创建,使用它,要么在main
方法上方添加以下内容:@SuppressWarnings("unused")
< / p>
答案 4 :(得分:0)
这不是问题,它只是一个Eclipse信息,通知您未使用本地变量。你可以编译0问题!
要解决警告,您有两种解决方案:
首先:
实施变量:
MyCalculatorGUI myCalculator = new MyCalculatorGUI();
第二
使用功能顶部的SupressWarnings:
@SuppressWarnings("unused")
MyCalculatorGUI() {
Container c = getContentPane();
tripled = new JButton("Triple");
tripled.addActionListener(this);
doubled = new JButton("Doubled");
doubled.addActionListener(this);
input = new JTextField("Input a number here.");
output = new JTextField("Result..");
p1.add(doubled);
p1.add(tripled);
p2.add(input);
p2.add(output);
c.add(p1);
c.add(p2);
setVisible(true);
setSize(400,400);
}