import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Temperature extends JFrame implements ActionListener{
private JLabel text1,text2;
private JTextField userInput,output;
private JButton cvrt,cvrt1,clr;
public void BuildGUI(){
text1 = new JLabel("Key in your value");
text2 = new JLabel("Answer");
userInput = new JTextField();
output = new JTextField();
cvrt = new JButton("Convert Celcius to Fahrenheit");
cvrt.addActionListener(this);
cvrt1 = new JButton ("Convert Fahrenheit to Celcius");
cvrt1.addActionListener(this);
clr = new JButton("Clear");
clr.addActionListener(this);
Container cpane = getContentPane();
cpane.setLayout(new GridLayout(4,2));
setVisible(true);
cpane.add(text1);
cpane.add(userInput);
cpane.add(text2);
cpane.add(output);
cpane.add(cvrt);
cpane.add(cvrt1);
cpane.add(clr);
}
public void actionPerformed(ActionEvent e){
double fahrenheit,celcius;
if(e.getSource()== cvrt){
String value = userInput.getText();
celcius = Double.parseDouble(value);
fahrenheit = celcius*1.8+32;
String out = ""+fahrenheit;
output.setText(out);
}else if (e.getSource()== cvrt1){
String value = userInput.getText();
fahrenheit = Double.parseDouble(value);
celcius = (fahrenheit-32)/1.8;
String out = ""+ celcius;
output.setText(out);
}else{
userInput.setText(null);
output.setText(null);
}
}
}
抱歉,我还是Java新手。我被赋予了创建tabbedpane的任务。我只是想知道你能把上面的课程打到下面的JTabbed Pane吗?因为在课堂上抛出每个代码会很麻烦。经历了很多网站,但仍然徒劳无功。希望有人可以指出它。
public class Windows extends JFrame{
public Windows(){
setTitle("Converter");
setSize(null);
JTabbedPane tabby = new JTabbedPane();
getContentPane().add(tabby);
}
答案 0 :(得分:0)
您的班级Temperature
必须是JPanel
,您必须创建一个可初步构建的初始化GUI的可升级构造函数。然后,您可以将JPanel
添加到另一个类中的JTabbedPane
,如下所示:
public class Windows extends JFrame{
public Windows(){
setTitle("Converter");
setSize(null);
JTabbedPane tabby = new JTabbedPane();
getContentPane().add(tabby);
Temperature t = new Temperature();
tabby.addTab(t);
}
答案 1 :(得分:0)
首先好的:
为什么JFrame的大小为空?
你怎么能看到一些看不见的东西?
使用方法 JFrame.setSize(width,height) [Link]
第二件事是:
有一个名为 JFrame.setVisible(boolean) [Link]的方法,你有没有想过为什么提供这种方法?
使JFrame可见。
另一件事是:
有一种名为 setDefaultCloseOperation(int value) [Link]的方法,它定义了JFrame关闭时要执行的操作,请使用此方法。
这是代码:
public class Windows extends JFrame{
public Windows(){
setTitle("Converter");
setSize(100,200);
JTabbedPane tabby = new JTabbedPane();
getContentPane().add(tabby);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
}
请参阅Oracle Java文档以了解其他方法:
http://docs.oracle.com/javase/6/docs/api/javax/swing/JFrame.html
最后:
即使使用我修改过的代码,您也不会正确看到选项卡式窗格,因为您必须使用
JFrame中的布局管理器 [Link]用于对齐,修复和定位组件。