新手学JAVA,提示:不兼容的类型,需要javax.swing.JTextField
//GUI视图入门程序:风寒温度计算//公式适用于风速超过每小时四英里的时候importjavax.swing.*;//importjavax.swing.JTextFi...
//GUI视图入门程序:风寒温度计算
//公式适用于风速超过每小时四英里的时候
import javax.swing.*;
//import javax.swing.JTextField.*;
import java.awt.*;
import java.awt.event.*;
public class Windchill implements ActionListener{
//类常量
private static final int WINDOW_WIDTH = 350;//像素
private static final int WINDOW_HEIGHT = 150;//像素
private static final int FIELD_WIDTH = 20;//字节
private static final int AREA_WIDTH = 40;//字节
private static final FlowLayout LAYOUT_STYLE = new FlowLayout();
private static final String LEGEND = "This windchill calculation is intended for velocities greater than 4 mph.";
//实例变量
//GUI的窗口
private JFrame window = new JFrame("Windchill Calculator");
//图例
private JTextArea legendArea = new JTextArea(LEGEND,2,AREA_WIDTH);
//温度的用户输入区域
private JLabel fathTag = new JLabel(" Fathrenheit temperature ");
private JTextField fathText = new TextField(FIELD_WIDTH);//1处:提示找到java.awt.TextField,需要javax.swing.JTextField
//风速的用户输入区域
private JLabel windTag = new JLabel(" Windspeed(mph) ");
private JTextField windText = new TextField(FIELD_WIDTH);//2处:同一处
//温度结果的输入区域
private JLabel chillTag = new JLabel(" Windchill temperature ");
private JTextField chillText = new TextField(FIELD_WIDTH);//3处:同1处
//运行按钮
private JButton runButton = new JButton("运行");
//Windchill():构造方法
public Windchill(){
window.setSize(WINDOW_WIDTH , WINDOW_HEIGHT);
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
legendArea.setEditable(false);
legendArea.setLineWrap(true);
legendArea.setWrapStyleWord(true);
legendArea.setBackground(window.getBackground());
chillText.setEditable(false);
chillText.setBackground(Color.WHITE);
//注册事件监听器
runButton.addActionListener(this);
//向容器增加构件
Container c = window.getContentPane();
c.setLayout(LAYOUT_STYLE);
c.add(legendArea);
c.add(fathTag);
c.add(fathText);
c.add(windTag);
c.add(windText);
c.add(chillTag);
c.add(chillText);
c.add(runButton);
//显示GUI
window.setVisible(true) }
//actionPerformed():运行按钮动作时间处理方法
public void actionPerformed(ActionEvent s){
//取得用户的反映
String response1 = fathText.getText();
double t = Double.parseDouble(response1);
String response2 = windText.getText();
double v = Double.parseDouble(response2);
//计算温度
double windchillTemperature = 0.081 * ( t - 91.4 ) * (3.71 * Math.sqrt(v) + 5.81 - 0.25 * v) + 91.4;
int perceivesTemperature = (int) Math.round(windchillTemperature);
//显示温度
String output = String.valueOf(perceivesTemperature);
}
//main()入口
public static void main (String args[]){
Windchill gui = new Windchill();
}
}
上面是我的一个刚上手的GUI程序,但是提示有3处,已标出,我的是JDK6.0,是什么问题啊谢谢!!!! 展开
//公式适用于风速超过每小时四英里的时候
import javax.swing.*;
//import javax.swing.JTextField.*;
import java.awt.*;
import java.awt.event.*;
public class Windchill implements ActionListener{
//类常量
private static final int WINDOW_WIDTH = 350;//像素
private static final int WINDOW_HEIGHT = 150;//像素
private static final int FIELD_WIDTH = 20;//字节
private static final int AREA_WIDTH = 40;//字节
private static final FlowLayout LAYOUT_STYLE = new FlowLayout();
private static final String LEGEND = "This windchill calculation is intended for velocities greater than 4 mph.";
//实例变量
//GUI的窗口
private JFrame window = new JFrame("Windchill Calculator");
//图例
private JTextArea legendArea = new JTextArea(LEGEND,2,AREA_WIDTH);
//温度的用户输入区域
private JLabel fathTag = new JLabel(" Fathrenheit temperature ");
private JTextField fathText = new TextField(FIELD_WIDTH);//1处:提示找到java.awt.TextField,需要javax.swing.JTextField
//风速的用户输入区域
private JLabel windTag = new JLabel(" Windspeed(mph) ");
private JTextField windText = new TextField(FIELD_WIDTH);//2处:同一处
//温度结果的输入区域
private JLabel chillTag = new JLabel(" Windchill temperature ");
private JTextField chillText = new TextField(FIELD_WIDTH);//3处:同1处
//运行按钮
private JButton runButton = new JButton("运行");
//Windchill():构造方法
public Windchill(){
window.setSize(WINDOW_WIDTH , WINDOW_HEIGHT);
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
legendArea.setEditable(false);
legendArea.setLineWrap(true);
legendArea.setWrapStyleWord(true);
legendArea.setBackground(window.getBackground());
chillText.setEditable(false);
chillText.setBackground(Color.WHITE);
//注册事件监听器
runButton.addActionListener(this);
//向容器增加构件
Container c = window.getContentPane();
c.setLayout(LAYOUT_STYLE);
c.add(legendArea);
c.add(fathTag);
c.add(fathText);
c.add(windTag);
c.add(windText);
c.add(chillTag);
c.add(chillText);
c.add(runButton);
//显示GUI
window.setVisible(true) }
//actionPerformed():运行按钮动作时间处理方法
public void actionPerformed(ActionEvent s){
//取得用户的反映
String response1 = fathText.getText();
double t = Double.parseDouble(response1);
String response2 = windText.getText();
double v = Double.parseDouble(response2);
//计算温度
double windchillTemperature = 0.081 * ( t - 91.4 ) * (3.71 * Math.sqrt(v) + 5.81 - 0.25 * v) + 91.4;
int perceivesTemperature = (int) Math.round(windchillTemperature);
//显示温度
String output = String.valueOf(perceivesTemperature);
}
//main()入口
public static void main (String args[]){
Windchill gui = new Windchill();
}
}
上面是我的一个刚上手的GUI程序,但是提示有3处,已标出,我的是JDK6.0,是什么问题啊谢谢!!!! 展开
3个回答
展开全部
查了一下,可能对你有帮助。因为你使用了这个
import java.awt.*;
java.awt下有TextField
“JTextField 是一个轻量级组件,它允许编辑单行文本。有关使用文本字段的信息和示例,请参阅《The Java Tutorial》中的 How to Use Text Fields 一节。
JTextField 应与 java.awt.TextField 具有源代码兼容性,理应如此。此组件具有 java.awt.TextField 类中没有的功能。有关其他功能,请参考超类。
JTextField 具有建立字符串的方法,此字符串用作针对被激发的操作事件的命令字符串。java.awt.TextField 把字段文本用作针对 ActionEvent 的命令字符串。如果通过 setActionCommand 方法设置的命令字符串不为 null,则 JTextField 将使用该字符串来保持与 java.awt.TextField 的兼容性,否则将使用字段文本来保持兼容性。 ”
import java.awt.*;
java.awt下有TextField
“JTextField 是一个轻量级组件,它允许编辑单行文本。有关使用文本字段的信息和示例,请参阅《The Java Tutorial》中的 How to Use Text Fields 一节。
JTextField 应与 java.awt.TextField 具有源代码兼容性,理应如此。此组件具有 java.awt.TextField 类中没有的功能。有关其他功能,请参考超类。
JTextField 具有建立字符串的方法,此字符串用作针对被激发的操作事件的命令字符串。java.awt.TextField 把字段文本用作针对 ActionEvent 的命令字符串。如果通过 setActionCommand 方法设置的命令字符串不为 null,则 JTextField 将使用该字符串来保持与 java.awt.TextField 的兼容性,否则将使用字段文本来保持兼容性。 ”
展开全部
提示的三处你变量类型使用 JTextField 构造方法却用的是 new TextField(int) 不匹配所致 变成new JTextField就可以了。
另外window.setVisible(true)后面少了分号
另外window.setVisible(true)后面少了分号
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这要是你导别人的代码。得把jdk改一下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询