Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
创建swing gui需要帮助,Eclipse在设置框架选项时返回错误(Java)_Java_Swing_User Interface_Frame - Fatal编程技术网

创建swing gui需要帮助,Eclipse在设置框架选项时返回错误(Java)

创建swing gui需要帮助,Eclipse在设置框架选项时返回错误(Java),java,swing,user-interface,frame,Java,Swing,User Interface,Frame,我有一个用Java编程的极坐标应用程序。我必须为它创建一个GUI,我决定尝试使用swing组件,而不是这个名为BreezyGUI的JAR。我遇到的问题是,我无法设置帧选项而不出错。在创建框架、标签和文本字段后,如何开始设计界面?任何建议都会帮助我,谢谢 我在Eclipse中收到的错误不是特定的。它只是把它高亮显示为红色,就像它是一个直截了当的未命中类型 这是我的申请表: import javax.swing.*; import java.awt.*; import java.awt.event.

我有一个用Java编程的极坐标应用程序。我必须为它创建一个GUI,我决定尝试使用swing组件,而不是这个名为BreezyGUI的JAR。我遇到的问题是,我无法设置帧选项而不出错。在创建框架、标签和文本字段后,如何开始设计界面?任何建议都会帮助我,谢谢

我在Eclipse中收到的错误不是特定的。它只是把它高亮显示为红色,就像它是一个直截了当的未命中类型

这是我的申请表:

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.text.*;


public class PolarCoords extends JFrame
{

    JFrame frameWin = new JFrame();
    frameWin.setBounds(100, 200, 120, 120);
    frameWin.setTitle("Polar Coordinates");
    frameWin.setVisible(true);
    frameWin.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

    private JLabel rLabel;
    private JLabel thetaLabel;
    private JLabel r2Label;
    private JLabel theta2Label;
    private JLabel answerLabel;

    private static String rString = "R Coordinate";
    private static String thetaString = "Theta";
    private static String r2String = "R2 Coordinate";
    private static String theta2String = "Theta2";
    private static String answerString = "Answer";

    private JFormattedTextField rField;
    private JFormattedTextField thetaField;
    private JFormattedTextField r2Field;
    private JFormattedTextField theta2Field;
    private JFormattedTextField answerField;

    public PolarCoords(double rCoord, double theta)
    {
        return;
    }

    /**
     * Returns theta in (r, theta)
     * @param tTheta
     * @return
     */
    public double tTheta(double theta)
    {
        return theta;
    }

    /**
     * Returns r coordinate in (r, theta)
     * @param rCoord
     * @return
     */
    public double rRCoord(double rCoord)
    {
        return rCoord;
    }

    public Object magnitude()
    {   
        double r1 = Double.valueOf(rField.getText());
        double theta1 = Double.valueOf(thetaField.getText());
        double r2 = 0;
        double theta2 = 0;
        double distance = Math.sqrt(Math.pow(r1, 2)) + Math.sqrt(Math.pow(r2, 2) - 2*(r1*r2) * Math.cos(theta1 - theta2));
        return distance;
    }

    public Double angleFromOrigin()
    {
        double theta1 = Double.valueOf(thetaField.getText());
        double theta2 = Double.valueOf(theta2Field.getText());
        double answer = theta2 - theta;
        return answer;
    }

    public Object distanceFromPoint()
    {
        // Distance formula Ã(r1)^2 + (r2)^2 - 2(r1)(r2) cos ( degree1 - degree2 )
        double r1 = Double.valueOf(rField.getText());
        double theta1 = Double.valueOf(thetaField.getText());
        double r2 = Double.valueOf(r2Field.getText());
        double theta2 = Double.valueOf(theta2Field.getText());
        double distance = Math.sqrt(Math.pow(r1, 2)) + Math.sqrt(Math.pow(r2, 2) - 2*(r1*r2) * Math.cos(theta1 - theta2));
        return distance;
    }

    public PolarCoords addPoints()
    {
        double r1 = Double.valueOf(rField.getText());
        double theta1 = Double.valueOf(thetaField.getText());
        double r2 = Double.valueOf(r2Field.getText());
        double theta2 = Double.valueOf(theta2Field.getText());
        double x = r1 * Math.cos(theta1);
        double y = r1 * Math.sin(theta1);
        double x2 = r2 * Math.cos(theta1);
        double y2 = r2 * Math.sin(theta2);

        double xAnswer = x2 - x;
        double yAnswer = y2 - y;
        double answer = Math.atan2(xAnswer, yAnswer);
        PolarCoords polarAnswer = new PolarCoords(xAnswer, yAnswer);
        return polarAnswer;
    }

    public static void main(String[] args)
    {
        Frame f = new Frame();
        System.out.print("Visible = True");
    }


}

您试图将Java语句裸放在类中,在构造函数或方法之外,这是行不通的。考虑将这些语句放置在构造函数中。更重要的是,在尝试进行SwingGUI编码之前,您应该了解Java教程的简介

此外,您正在忽略表示
对象的JFrame,并尝试创建一个完全不相关的JFrame对象。不要那样做。摆脱frameWin变量,因为它只会误导您

再次阅读Java的基础知识,因为这将极大地帮助您


请检查

您试图将Java语句裸放在类中,在构造函数或方法之外,这是行不通的。考虑将这些语句放置在构造函数中。更重要的是,在尝试进行SwingGUI编码之前,您应该了解Java教程的简介

此外,您正在忽略表示
对象的JFrame,并尝试创建一个完全不相关的JFrame对象。不要那样做。摆脱frameWin变量,因为它只会误导您

再次阅读Java的基础知识,因为这将极大地帮助您

请退房

应该在一个方法中。当您扩展JFrame时,它必须

setBounds(100, 200, 120, 120);
 setTitle("Polar Coordinates");
 setVisible(true);
 setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE) ;
您可以这样做:

public class PolarCoords extends JFrame
{
   public PolarCoords()
   {
     setBounds(100, 200, 120, 120);
     setTitle("Polar Coordinates");
     setVisible(true);
     setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE) ;
   }
}

应该在一个方法中。当您扩展JFrame时,它必须

setBounds(100, 200, 120, 120);
 setTitle("Polar Coordinates");
 setVisible(true);
 setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE) ;
您可以这样做:

public class PolarCoords extends JFrame
{
   public PolarCoords()
   {
     setBounds(100, 200, 120, 120);
     setTitle("Polar Coordinates");
     setVisible(true);
     setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE) ;
   }
}


为什么
frameWin
被注释掉了,而您仍在后续行中使用它???您的意思是使用此
?该部分应该在构造函数中

另外,
setvisible
应该是将所有组件添加到框架后的最后一件事

尝试:


为什么
frameWin
被注释掉了,而您仍在后续行中使用它???您的意思是使用此
?该部分应该在构造函数中

另外,
setvisible
应该是将所有组件添加到框架后的最后一件事

尝试:



请在论坛这里发布代码。请发布完整的错误消息。而且你的问题越具体,通常帮助就越好。像
“我也不知道如何设计界面”
这样的问题通常都是合适的,只需通过教程的链接即可回答。好的,很抱歉。我只是不知道从哪里开始,也不知道如何设计界面。也请看这个。请在论坛这里发布代码。请发布完整的错误消息。而且你的问题越具体,通常帮助就越好。像
“我也不知道如何设计界面”
这样的问题通常都是合适的,只需通过教程的链接即可回答。好的,很抱歉。我只是不知道从哪里开始,也不知道如何设计界面。也请看这个。我把它们放在哪种方法中有关系吗?我应该创建一个新方法来完成这个任务吗?你可以把它放在构造函数中。或者在另一个方法中,并在构造函数中调用该方法。现在我如何实际使框架可见?我不想在main方法中添加一些东西来显示它吗?在main PolarCoords PolarCoords=new PolarCoords()中,而不是Frame Frame=new Frame(),怎么样?你看过推荐的短裙了吗?我用哪种方法放它们有关系吗?我应该创建一个新方法来完成这个任务吗?你可以把它放在构造函数中。或者在另一个方法中,并在构造函数中调用该方法。现在我如何实际使框架可见?我不想在main方法中添加一些东西来显示它吗?在main PolarCoords PolarCoords=new PolarCoords()中,而不是Frame Frame=new Frame(),怎么样?你有没有看过建议中的图西族人出于某种原因无意中添加了这一点。当它不正常时,我仍然收到错误。但是您无论如何都不需要它,因为您已经在扩展JFrame了。不需要再创建一个实例。出于某种原因,我无意中添加了它。当它不正常时,我仍然收到错误。但是您无论如何都不需要它,因为您已经在扩展JFrame了。不需要再创建一个实例。你能给我一个指向这些教程的链接吗?你能给我一个指向这些教程的链接吗?
public PolarCoords(double rCoord, double theta) //u'r not even using rCoord and theta
{
    this.setBounds(100, 200, 120, 120);
    this.setTitle("Polar Coordinates");
    this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    this.setVisible(true);
}