0
 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 新手。我被分配创建一个选项卡窗格。我只是想知道你能把上面的课程调到下面的 JTabbed 窗格中吗?因为将所有代码都扔到一个类中会很混乱。浏览了很多网站,但仍然是徒劳的。希望有人能指出来。

public class Windows extends JFrame{
public Windows(){
    setTitle("Converter");       
    setSize(null);
    JTabbedPane tabby = new JTabbedPane();
    getContentPane().add(tabby);

}
4

2 回答 2

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 内使用
LAYOUT MANAGERS [ Link ] 来对齐、修复和定位组件。

于 2013-07-04T08:10:37.017 回答
0

你的类Temperature必须是 aJPanel并且你必须创建一个合适的构造函数来初始化你的 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);
}
于 2013-07-04T07:58:00.630 回答